Aula 7 Sumário. O conjunto de instruções. Conjunto de instruções. Conjunto de instruções. Instruções típicas. Instruções típicas

Tamanho: px
Começar a partir da página:

Download "Aula 7 Sumário. O conjunto de instruções. Conjunto de instruções. Conjunto de instruções. Instruções típicas. Instruções típicas"

Transcrição

1 Aula 7 Sumário Conjunto de instruções Coneitos Instruções típias O onjunto de instruções Bibliografia: Cap. do livro de teto ses.. a. ISA Instrution Set Arhiteture Conjunto de instruções Alguns oneitos... Linguagem máquina Combinação de s e s organizados segundo palavras que são as instruções que o proessador perebe Linguagem assembl Linguagem om uma orrespondênia direta ao ódigo máquina, e que é mais fáil de programar do que esrever diretamente os s e s Arquitetura Hardware (iruitos) Organização (datapath, unidade de ontrolo) Conjunto de instruções ou ISA Instrution Set Arhiteture Conjunto de instruções Até agora, lidámos om o onjunto de instruções do proessador MAC- Geralmente, proessadores diferentes têm arquiteturas diferentes e onjuntos de instruções diferentes Por eemplo, o onjunto de instruções de um proessador Intel é diferente do onjunto de instruções de um proessador ARM (usado em telemóveis) No entanto, instruções pertenentes a onjuntos diferentes têm muitas vezes nomes e finalidades semelhantes Instruções típias Transferênias de dados Instruções típias Aritmétias Load Store Transferir (mover) Push Pop Troar Mnemónia LD, LW, Load ST, LW, Store MOV PUSH POP XCH, SWAP Quando são utilizadas instruções do tipo Load / Store, a instrução MOV apenas permite transferênias entre registos (ou então não eiste). Inrementar Derementar Somar Subtrair Multipliar Dividir Simétrio Mnemónia INC DEC ADD SUB MUL DIV NEG Geralmente eistem instruções distintas para inteiros e reais (vírgula flutuante) Eemplo: IADD (inteiros) FADD (vírgula flutuante) Atenção a NEG, uja finalidade ostuma ser alular o simétrio (omplemento para ) e não a negação...

2 Instruções típias Lógias Instruções típias Controlo de programa Clear Set Negação AND OR XOR Mnemónia CLR SET NOT AND OR XOR CLR oloar um registo a SET oloar um registo a Podem também eistir outros tipos de CLRs e SETs que visam oloar a ou a um dos bits do estado (flags) da unidade funional Jump Jump if equal Jump if not equal Jump if zero Jump if not zero Jump if above et... Mnemónia JMP JE JNE JZ JNZ JA Muitos proessadores utilizam a designação branh em vez de jump. Na maioria das vezes as designações são sinónimas. Noutros podem eistir diferenças: por eemplo, jump poderia ser um salto para um endereço absoluto e branh um salto para um endereço relativo ao Program Counter. 7 Instruções típias Chamadas a funções / proedimentos Mnemónia Chamar função / proedimento CALL Retornar RETN CALL / RETN o endereço de retorno é oloado / lido da pilha. Mnemónia Jump and link JAL Jump register JR JAL / JR o endereço de retorno é oloado / lido de num registo. As instruções enontram-se organizadas segundo ampos, om signifiados espeífios: Opode Modo Operando Operando Código de operação (opode) India qual é o tipo ou finalidade da instrução Operandos Espeifiam a origem e destino dos dados (endereços ou registos) Podem também ser valores que vão na própria instrução Modo de endereçamento India o modo omo devem ser interpretados os operandos É frequente estar inorporado no opode 9 Alguns eemplos de instruções no Ma- LODD LOCO INSP Opode Opode Posição de memória a ler ( bits) Constante a arregar ( bits) É habitual lassifiar os formatos de instrução de aordo om o número de operandos usados,, ou operandos ou mesmo sem operandos (muito usadas em arquiteturas baseadas na pilha) Eemplo: Considere que se pretende alular: M[] (M[a] + M[b]) (M[] - M[d]) Opode Ep. do opode Número de posições ( bits)

3 om operandos... Pode-se espeifiar um destino e duas fontes om operandos... Espeifia-se uma fonte e um destino Opode Destino Fonte Fonte Opode Destino Fonte ADD R, a, b SUB R,, d MUL, R, R # R M[a] + M[b] # R M[] M[d] # M[] R R Assumiu-se que as fontes / destino dos dados podem ser endereços ou registos. Como veremos mais à frente, não é uma assunção muito realista, uma vez que obriga a instruções om omprimento demasiado longo. MOV R, a ADD R, b MOV R, SUB R, d MUL R, R MOV, R # R M[a] # R R + M[b] # R M[] # R R M[d] # R R R # M[] = R assumiu-se que o registo destino aumula resultados é também usado omo fonte, de uma forma implíita om operando... Vão sendo guardados os resultados num registo aumulador (omo no Ma-) Espeifia-se apenas uma fonte ou um destino sem operandos... Pratiamente todas as operações reorrem a uma pilha As instruções fazem impliitamente pop dos operandos e push dos resultados Opode Destino ou fonte PUSH a PUSH b # TOS M[A] # TOS M[B] LOAD a ADD b STORE LOAD SUB d MUL # AC M[a] # AC AC + M[b] # M[] AC # AC M[] # AC AC M[d] # AC AC M[] ADD # TOS TOS - + TOS PUSH # TOS M[C] PUSH d # TOS M[D] SUB # TOS TOS - TOS MUL # TOS TOS - TOS TOS Topo da Pilha (Top of Stak) POP # M[X] TOS TOS - º valor na pilha (a ontar do topo) STORE # M[] AC Curiosidade Para failitar a implementação de ódigo sem operandos, pode-se utilizar a notação RPN (Reverse Polish Notation) Eemplo: a epressão (A+B) (C-D) é equivalente à seguinte, em RPN: A B + C D - A ordem pela qual apareem os operandos e as operações em RPN é a mesma que se segue num programa idêntio ao anterior Ténias para se obter um onjunto de instruções maior Epansão do opode Aproveita-se o espaço deiado por operandos que não são utilizados para epandir o opode Resulta na prátia um opode om mais bits, o que permite um maior número de instruções distintas Instruções de omprimento variável O omprimento das instruções varia onsoante as neessidades (eemplo: no mesmo onjunto, ter instruções de, ou bits) Conduz a uma unidade de ontrolo mais omplea 7

4 Eemplo de epansão do opode Vamos supor que se pretende projetar um onjunto de instruções om os seguintes formatos: Formato I Opode Operando Operando bits bits bits Formato II Opode Operando bits bits bits Quantas Instruções serão possíveis para ada um dos formatos? Eemplo de epansão do opode (ont.) Se fossem todas do formato I teríamos = instruções diferentes Aproveitando o espaço de bits disponíveis no formato II para epansão do opode, eistem mais possibilidades: de formato I + do formato II de formato I + do formato II de formato I + do formato II De uma forma geral teríamos, neste aso: k instruções do formato I + k instruções do formato II Repare que os epoentes e orrespondem ao número de bits do opode e da epansão, respetivamente 9 Algumas onsiderações Em geral, se um onjunto de instruções permite mais operandos, menor será o número de instruções num programa No entanto, maior será o omprimento das instruções, de forma a inluir todos os operandos neessários Quanto menor for o omprimento das instruções, Maior rapidez a efetuar o feth (pois podem ser lidas mais instruções de uma só vez) Mais instruções por programa, o que não quer dizer que o programa oupe mais memória, pois as instruções são mais urtas Mais difíil é a possibilidade de futuras etensões ao onjunto de instruções (fator importante do ponto de vista omerial) O habitual é tentar hegar a uma solução de ompromisso Alguns eemplos em proessadores reais Intel () ma. operandos PowerPC (Wii, Xbo ) ma. operandos Cell (Plastation ) ma. operandos (maioria ) TMS (Proessador de sinal) ma. operandos ARM ma. operandos (maioria )...e virtuais Java Virtual Mahine a maioria sem operandos MAC- ma. operando MIPS ma. operandos Implíito Com base no opode, o proessador fia a saber impliitamente onde estão os dados envolvidos na operação Imediato Eemplo: instruções PUSH e POP do MAC- Constante que é dada na própria instrução Direto Eemplos: R onstante, instrução LOCO do MAC- O operando é uma posição de memória onde estão os valores envolvidos na operação Eemplos: R M[], instruções LODD e ADDD do MAC- Registo direto O operando india o registo onde se enontram os dados Eemplo: R R Efiiente, pois não são feitos aessos à memória Registo indireto O operando espeifia um registo que ontém o endereço da posição de memória onde estão os dados Eemplos: R M[R], instruções PSHI e POPI do MAC- Indireto Útil para indear vetores Espeifia-se uma posição de memória o onteúdo dessa posição de memória é uma outra posição onde estão loalizados os dados São neessários dois aessos à memória Eemplo: R M[ M[] ] Útil para aeder a listas e a matrizes bidimensionais

5 Duplamente indireto Semelhante ao anterior, mas a primeira posição a aeder é dada através de um endereço guardado num registo Indeado Eemplo: R M[ M[R] ] Aede-se à posição de memória dada pela soma do onteúdo de um registo om um desloamento (offset) indiado na instrução Eemplos: R M[R + offset], instruções LODL, ADDL do MAC- Útil para indear vetores e gerir variáveis loais Eistem outras designações para este modo: Endereçamento Loal ou Baseado relativo ao Stak Pointer Endereçamento Relativo relativo ao Program Counter Possível notação para indiar os modos de endereçamento Modo Imediato Direto Indireto Registo-direto Registo-indireto Indeado Duplamente indireto Notação MOV R, #N MOV R, addr MOV R, [addr] MOV R, R MOV R, [R] MOV R, addr[r] MOV R, [[R]] Efeito R N R M[addr] R M[M[addr]] R R R M[R] R M[addr+R] R M[M[R]] Eemplo Qual será o valor em R após MOV R, # R = MOV R, R = MOV R, R R = MOV R, [R] R = MOV R, [R] R = MOV R, [] R = 7 9 R R Memória 7??? 7

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador

Leia mais

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores. Linguagem de Máquina Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP

Leia mais

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da

Leia mais

Funcionamento básico de um computador

Funcionamento básico de um computador Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

CISC - Complex Instruction Set Computer

CISC - Complex Instruction Set Computer MAC 412- Organizãção de Computadores - Siang W. Song Baseado no livro de Tanenbaum - Structured Computer Organization Índice Conceito de microprogramação 1 Conceito de microprogramação Como surgiu Exemplos

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Unidade II Aula 1 Nível ISA Posicionado entre a microarquitetura e o SO Define a arquitetura (Conjunto de Instruções) É a interface entre o Software e o

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional

Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional Capítulo 5 Nível ISA Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional Compatibilidade com os níveis ISA anteriores!! => Pressão

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações

Leia mais

Operadores lógicos (bit a bit)

Operadores lógicos (bit a bit) Operadores lógicos (bit a bit) Instrução AND Instruções: AND OR XOR NOT Os operandos destas instruções podem ser de 8 ou 16 bits 10010011

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Programando o computador IAS

Programando o computador IAS Programando o computador IAS Edson Borin e Rafael Auler 21 de março de 2012 1 Introdução O computador IAS foi um dos primeiros computadores a implementar o conceito do programa armazenado. Neste paradigma,

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 ISA: Arquitetura de Conjunto de Instruções Roteiro Introdução Classificação de conjuntos de instruções Endereçamento

Leia mais

MICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade Central

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Engenharia de Controle e Automação 9ª Série Controle e Servomeanismos I A atividade prátia supervisionada (ATPS) é um proedimento metodológio de ensino-aprendizagem

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento

Leia mais

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos

Leia mais

Introdução à programação em linguagem assembly

Introdução à programação em linguagem assembly Introdução à programação em linguagem assembly Espaço de endereçamento Instruções de acesso à memória Modos de endereçamento Diretivas Tabelas Pilha Rotinas Arquitetura de Computadores Introdução à programação

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

2 Formalidades referentes ao trabalho

2 Formalidades referentes ao trabalho Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são:

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: Linguagem Assembly Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: INSTRUÇÕES DE TRANSFERÊNCIA DE DADOS - Movem dados entre Registradores, Registradores e Memória e Valores Fixos para

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 2 Revisão de Conceitos e Introdução a Desempenho Prof. Julio Saraçol juliosaracol@gmail.com Slide1 Aula 2 REVISANDO

Leia mais

4-1. Parte2: A Arquitetura do Conjunto de Instruções

4-1. Parte2: A Arquitetura do Conjunto de Instruções 4-1 Parte2: A Arquitetura do Conjunto de Instruções 4-2 Bibliografia [1] Miles J. Murdocca e Vincent P. Heuring, Introdução à Arquitetura de Computadores [2] Marcelo Rubinstein Transparências do curso

Leia mais

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C + 32.0

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C + 32.0 UTILIZANDO NOSSA MÁQUINA HIPOTÉTICA VAMOS CONSTRUIR UM PROGRAMA PARA CONVERTER VALORES DE UMA UNIDADE PARA OUTRA. O NOSSO PROGRAMA RECEBE UM VALOR NUMÉRICO QUE CORRESPONDE A UMA TEMPERATURA EM GRAUS CELSIUS

Leia mais

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel O Nível ISA Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel Nível ISA (Instruction Set Architecture) Tipos de dados Inteiros (1, 2, 4 ou 8 bytes) Servem também para representar

Leia mais

ArchC. Wesley Nunes Gonçalves

ArchC. Wesley Nunes Gonçalves Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores

Leia mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES Máquina de Vários Níveis Modernas (ISA)

Leia mais

3º Trabalho de Laboratório. Unidade de Controlo Microprogramada

3º Trabalho de Laboratório. Unidade de Controlo Microprogramada MICROPROCESSADORES 3º Trabalho de Laboratório Unidade de Controlo Microprogramada Objectivo: Pretende-se que os alunos compreendam a metodologia usada na implementação, programação e teste de uma Unidade

Leia mais

Conjunto de Instruções. Conjunto de Instruções

Conjunto de Instruções. Conjunto de Instruções Conjunto de Instruções It is easy to see by formal-logical methods that there exist certain [instruction sets] that are in abstract adequate to control and cause the execution of any sequence of operations...

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3

Leia mais

Objetivos Gerais. Arquitetura de Computadores. Arquiteturas estudadas. O Computador Neander

Objetivos Gerais. Arquitetura de Computadores. Arquiteturas estudadas. O Computador Neander Objetivos Gerais Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2005 ISA Parte II: Arquiteturas-Exemplo Simuladores e Máquinas Reais Demonstrar os conceitos genéricos

Leia mais

MODOS DE ENDEREÇAMENTO

MODOS DE ENDEREÇAMENTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 3 - O NÍVEL DA ARQUITETURA DO CONJUNTO DAS INSTRUÇÕES (ISA) (Nível Convencional de Máquina) 1. INTRODUÇÃO Este é o nível responsável por fazer a ligação entra a parte de hardware e a parte de software

Leia mais

Conjunto de instruções e modos de. aula 4. Profa. Débora Matos

Conjunto de instruções e modos de. aula 4. Profa. Débora Matos Conjunto de instruções e modos de endereçamento aula 4 Profa. Débora Matos Conjunto de Instruções A = ((B + C) x D + E F)/(G x H) A H denotam posições da memória endereços As arquiteturas possuem as seguintes

Leia mais

Curso de Data Mining

Curso de Data Mining Aula 7 - Os algoritmos SPIRIT Curso de Data Mining Sandra de Amo O esquema geral dos algoritmos SPIRIT é o seguinte: ETAPA 1 : Etapa do relaxamento R Calula-se o onjunto L das sequênias frequentes que

Leia mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

Leia mais

Arquitectura de Computadores II. Máquinas Virtuais

Arquitectura de Computadores II. Máquinas Virtuais Arquitectura de Computadores II 3º Ano Máquinas Virtuais João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Março 2003 Máquinas Virtuais Questões que levaram à introdução de máquinas

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

INF1004 e INF1005: Programação 1. Introdução à Programação

INF1004 e INF1005: Programação 1. Introdução à Programação INF1004 e INF1005: Programação 1 Introdução à Programação Tópicos Principais Modelo de um Computador Um computador hipotético Ciclo de Desenvolvimento Modelo de um Computador Modelo de um Computador A

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

Conjunto de Instruções

Conjunto de Instruções Conjunto de Instruções Para comandar o hardware do computador, é necessário que falemos sua língua: As palavras da linguagem de máquina são chamadas de instruções; O vocabulário forma o conjunto de instruções,

Leia mais

CAPÍTULO 3 NÍVEL ISA. 3.1 Introdução ao Nível de Arquitetura do Conjunto de Instruções

CAPÍTULO 3 NÍVEL ISA. 3.1 Introdução ao Nível de Arquitetura do Conjunto de Instruções CAPÍTULO 3 NÍVEL ISA 3.1 Introdução ao Nível de Arquitetura do Conjunto de Instruções O Nível de Arquitetura do Conjunto de Instruções (ISA - Instruction Set Architecture) é a interface entre software

Leia mais

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Ano Lectivo: 200/2009 Data: 6 de Janeiro de 2006 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta

Leia mais

Anotações da 2a Edição

Anotações da 2a Edição Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem

Leia mais

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto: Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo

Leia mais

8. Instruções de multiplicação e divisão

8. Instruções de multiplicação e divisão Cap8.1 8. Instruções de multiplicação e divisão 8.1 Instruções de multiplicação MUL fonte IMUL fonte MUL (multiply) -> usada com números em representação não-sinalizada IMUL (integer multiply) -> usada

Leia mais

PROVA COMENTADA PELOS PROFESSORES DO CURSO POSITIVO Vestibular ITA 2016 MATEMÁTICA 01.

PROVA COMENTADA PELOS PROFESSORES DO CURSO POSITIVO Vestibular ITA 2016 MATEMÁTICA 01. POVA COMENTADA PELOS Vestibular ITA 6 Questão esposta: B POVA COMENTADA PELOS Vestibular ITA 6 I Verdadeira ( ) log log D( ) / Portanto, é resent resente II Verdadeira log / III Falsa Considere que ()

Leia mais

Sistemas Processadores e Periféricos Aula 5 - Revisão

Sistemas Processadores e Periféricos Aula 5 - Revisão Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Índice 1- Introdução 2- Exemplo de Microarquitetura

Leia mais

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e

Leia mais

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia mais

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12 Introdução INF005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC introdução tópicos modelo de computador o que é um programa um programa na memória decifrando um código referência Capítulo

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores

SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores André Barbosa Verona, João Angelo Martini, Tiago Lopes Gonçalves UEM - Universidade Estadual de Maringá Departamento de Informática

Leia mais

Compiladores. Geração de Código Intermediário

Compiladores. Geração de Código Intermediário Compiladores Geração de Código Intermediário Cristiano Lehrer, M.S. Atividades do Compilador Arquivo de origem Arquivo de destino Análise Otimização Geração de Código Intermediário Geração de Código Final

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario Arquitetura de Computadores Assembly Miscelâneas Mário O. de Menezes http://www.tf.ipen.br/~mario AC Mário O. de Menezes 1 Lembrando Instruções Lógicas e Shift operam em bits individuais, diferente de

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br Introdução INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br introdução Tópicos conceitos básicos o que é um programa um programa na memória decifrando um código referência Capítulo

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Instituto Politécnico. Curso: Tec. Redes de Computadores. Disciplina: Organização de Computadores. Prof.: Fábio Lucena Veloso

Instituto Politécnico. Curso: Tec. Redes de Computadores. Disciplina: Organização de Computadores. Prof.: Fábio Lucena Veloso Instituto Politécnico Curso: Tec. Redes de Computadores Disciplina: Organização de Computadores Prof.: Fábio Lucena Veloso Curso: Tec. Análise de Sistemas Disciplina: Organização de Computadores Prof.:

Leia mais

PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação

PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação PCS-2302 / PCS-2024 Lab. de Fundamentos de Eng. de Computação Aula 02 Anarosa Alves Franco Brandão (PCS 2302) Jaime Simão Sichman (PCS 2302) (PCS 2024) Ricardo Luís de Azevedo da Rocha (PCS 2024) Monitores:

Leia mais

Concreto. Prof. M.Sc. Ricardo Ferreira

Concreto. Prof. M.Sc. Ricardo Ferreira Conreto Prof..S. Riardo Ferreira O traço Prof..S. Riardo Ferreira Fonte: Dario Dafio Eletrobras Furnas www.ement.org Traço 3/23 A expressão da proporção dos materiais omponentes de uma omposição partiular

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

Dica : Para resolver esse exercício pegue o arquivo pontosm.txt, na página do professor.

Dica : Para resolver esse exercício pegue o arquivo pontosm.txt, na página do professor. Colégio Ténio Antônio Teieira Fernandes Disiplina ICG Computação Gráfia - 3º Anos (Informátia) (Lista de Eeríios I - Bimestre) Data: 10/03/2015 Eeríios 1) Elabore um proedimento em C++ que passe os pares

Leia mais

CRIANDO UM SISTEMA OPERACIONAL BÁSICO Por: Fernando Birck aka Fergo

CRIANDO UM SISTEMA OPERACIONAL BÁSICO Por: Fernando Birck aka Fergo CRIANDO UM SISTEMA OPERACIONAL BÁSICO Por: Fernando Birck aka Fergo 2 SUMÁRIO 1. Introdução 3 2. Aplicativos 4 3. Processo de boot 5 4. Interrupts 6 5. Criando o Loader 7 6. Criando o Kernel 9 7. Gravando

Leia mais

Organização de Computadores Hardware

Organização de Computadores Hardware Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

O Processador: Caminho de Dados e Controle

O Processador: Caminho de Dados e Controle 22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos

Leia mais

Understanding. Architecture.

Understanding. Architecture. Author > Ômar Fontenele a.k.a f0nt_drk Date > 10/03/2011 Understanding the ARM Architecture. Breve Introdução da Arquitetura ARM Começando com uma linha basica de raciocinio e ideia vamos iniciar com o

Leia mais

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica

Leia mais

Conflitos. Aula 9. 31 de Março de 2005 1

Conflitos. Aula 9. 31 de Março de 2005 1 Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Máquina Multinível Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando para o processador.

Leia mais

As características comuns, encontradas na maioria dos processadores RISC são as seguintes:

As características comuns, encontradas na maioria dos processadores RISC são as seguintes: 4 2. COMPARAÇÃO DAS ARQUITETURAS RISC 2.1 - Introdução Os microprocessadores RISC se distinguem por uma série de características comuns, que resultam em uma solução de baixo custo e alto desempenho. Contudo,

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios

MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios 2 o semestre de 2014 - Turmas E/F Prof. Edson Borin Questão 1. Qual a diferença entre as formas de armazenamento de dados

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento (CPU)

Leia mais

Aritmética de Ponto Flutuante

Aritmética de Ponto Flutuante Aritmética de Ponto Flutuante Formato Padrão IEEE 32 bits, Sinal, Expoente e Mantissa, Normalização, Conversão, Unidade de Ponto Flutuante Intel (FPU), Registradores e Instruções associados à FPU Orlando

Leia mais

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Models for prevision of the modulus of elasticity of concrete: NBR- 6118 versus CEB

Models for prevision of the modulus of elasticity of concrete: NBR- 6118 versus CEB Teoria e Prátia na Engenharia Civil, n.12, p.81-91, Outubro, 08 Modelos para previsão do módulo de deformação longitudinal do onreto: NBR-6118 versus Models for prevision of the modulus of elastiity of

Leia mais

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CHIP Ano MHz Transistors Mem 8086 1978 5

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Aula 9. Introdução à Computação. ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Aula 9. Introdução à Computação. ADS IFBA www.ifba.edu.br/professores/antoniocarlos Aula 9 Introdução à Computação Ponto Flutuante Ponto Flutuante Precisamos de uma maneira para representar Números com frações, por exemplo, 3,1416 Números muito pequenos, por exemplo, 0,00000001 Números

Leia mais

SIS17 - Arquitetura de Computadores

SIS17 - Arquitetura de Computadores SIS17 - Arquitetura de Computadores Organização Básica B de Computadores (Parte I) Organização Básica B de Computadores Composição básica b de um Computador eletrônico digital Processador Memória Memória

Leia mais

Capítulo 3 Processadores de Propósito Geral: Software

Capítulo 3 Processadores de Propósito Geral: Software Capítulo 3 Processadores de Propósito Geral: Software Prof. Romis Attux EA075 2015 Obs: Os slides são parcialmente baseados nos dos autores do livro texto Processadores de Propósito Geral Um processador

Leia mais

Plano de Gestão de Riscos e Infracções Conexas

Plano de Gestão de Riscos e Infracções Conexas Plano de Gestão de Risos e Infrações Conexas (Fevereiro 2014) Página 1 de 26 NOTA INTRODUTÓRIA E APROVAÇÃO A TRATOLIXO, E.I.M. dispõe, nos termos da lei, de um Plano de Gestão de Prevenção de Risos de

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 7: 29 de abril de 2010 1 2 Subrotinas Um procedimento ou função é uma subrotina armazenada que executa uma tarefa específica baseada nos parâmetros de entrada

Leia mais