Organização de Computadores
|
|
- Malu Lopes Custódio
- 5 Há anos
- Visualizações:
Transcrição
1 Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de /92
2 Apresentação 1. Bases Teóricas 2. Organização de computadores 2.4. Sistema de Memórias 2.5. Subsistema de Entrada/Saída (I/O) 2.6. Conjunto de Instruções Aula de hoje: Stallings (5a. Edição), Capítulo 9 2/92
3 Conjunto de Instruções Fronteira entre o projetista e o programador de uma máquina: Projetista: fornece os requisitos funcionais de uma CPU quantos e quais registradores? quais operações na ULA? qual organização da Unidade de Controle? Programador: fornece o modo mais básico de interagir com o hardware do computador Nesse nível de programação, é necessário conhecer alguns detalhes internos da máquina: conjunto de registradores, estrutura da memória, tipos de dados disponíveis diretamente na máquina, funcionamento da ULA, etc. 3/92
4 Que é Conjunto de Instruções? Operação de uma CPU é determinada pelas instruções (comandos) que ela executa, denominadas instruções de máquina ou instruções do computador. Coleção dessas diferentes instruções é chamada conjunto de instruções. 4/92
5 Anatomia de uma Instrução 1) Código de operação (opcode): faça isto 2) Referência a operando fonte: com este dado 3) Referência a operando de destino: coloque o resultado aqui 4) Referência à próxima instrução quando tiver terminado, vá para esta instrução na maioria dos casos, a próxima instrução é a que está no endereço de memória seguinte (neste caso, não há uma referência explícita à próxima instrução) quando necessário, será fornecido o endereço de memória 5/92
6 Localizações de Operandos Operandos fonte e destino podem estar: na memória referência fornecida por meio de um endereço em um registrador da CPU se (geralmente) há vários registradores, instrução deve conter um número que identifique o registrador em um dispositivo de I/O se for usada I/O mapeada em memória, a identificação desse operando será feita por meio de um endereço de memória 6/92
7 Representação das Instruções Em código de máquina, cada instrução é representada por um padrão de bits único. P. ex. no computador IAS, cada instrução era representada por uma palavra de 20 bits 19 opcode referência a operando 0 Opcode: Significado: Transfere o conteúdo de um endereço de memória para o acumulador Transfere o conteúdo do acumulador para um endereço de memória etc. 7/92
8 Representação das Instruções Para uso por humanos, é adotada uma representação mais palatável: cada opcode é representado por um mnemônico, uma abreviação que representa o significado da operação. Mnemônicos usados para programar o computador IAS Opcode: Mnem. Significado: LOAD Transf. o conteúdo de um endereço de memória para o acumulador STOR Transf. o conteúdo do acumulador para um endereço de memória Operandos podem ser representados desta maneira: = LOAD M[3A1] 8/92
9 Programando a Máquina Considere uma instrução em uma linguagem de alto nível, por exemplo, C: X = X + Y Como fazer com instruções de máquina? 9/92
10 Programando a Máquina Considere uma instrução em uma linguagem de alto nível, por exemplo, C: X = X + Y Como fazer com instruções de máquina? Suponha que o conteúdo das variáveis X e Y estão, armazenados, respectivamente, nos ends. 513 e /92
11 Programando a Máquina Considere uma instrução em uma linguagem de alto nível, por exemplo, C: X = X + Y Como fazer com instruções de máquina? Suponha que o conteúdo das variáveis X e Y estão armazenados nos ends. (513) 16 e (514) 16 respectivamente Primeiro, transforme em operações básicas da máquina 1. Carregue o conteúdo do end. 513 em um registrador 2. Adicione o conteúdo do end. 514 ao registrador 3. Armazene o conteúdo do registrador no end. 513 Depois, traduza para mnemônicos da máquina Por último, transforme em linguagem de máquina 11/92
12 Programando a Máquina Primeiro, transforme em operações básicas da máquina 1. Carregue o conteúdo do end. (513) 16 em um registrador 2. Adicione o conteúdo do end. (514) 16 ao registrador 3. Armazene o conteúdo do registrador no end. (513) 16 12/92
13 Programando a Máquina Primeiro, transforme em operações básicas da máquina 1. Carregue o conteúdo do end. (513) 16 em um registrador 2. Adicione o conteúdo do end. (514) 16 ao registrador 3. Armazene o conteúdo do registrador no end. (513) 16 Depois, traduza para mnemônicos da máquina LOAD M[513] ADD M[514] STOR M[513] 13/92
14 Programando a Máquina Primeiro, transforme em operações básicas da máquina 1. Carregue o conteúdo do end. (513) 16 em um registrador 2. Adicione o conteúdo do end. (514) 16 ao registrador 3. Armazene o conteúdo do registrador no end. (513) 16 Depois, traduza para mnemônicos da máquina LOAD M[513] ADD M[514] STOR M[513] Por último, transforme em linguagem de máquina em hexadecimal 14/92
15 Tipos de Instruções Quais tarefas são necessárias para processar dados? Precisamos implementar instruções para elas. Tipos de instruções: Processamento de dados: instr. aritméticas e lógicas Armazenamento de dados: instruções de memória Movimentação de dados: instruções de entrada/saída Controle de fluxo: instruções de teste e desvio 15/92
16 Número de Endereços No máximo, precisaríamos de 4 endereços para cada instrução: 2 operandos, 1 resultado, endereço da instrução seguinte precisa de palavras muito longas não é muito comum Na prática, há instruções com 1, 2 ou 3 endereços. Endereço da próxima instrução geralmente é dado pelo PC (implícito na instrução). 16/92
17 Três Endereços SUB X, Y, Z Subtrai Z de Y e coloca o resultado em X, denotado como X Y Z Operando de destino, operando fonte 1, operando fonte 2 Não é comum, por precisar de palavras muito longas para representar as instruções Usado nos conjuntos de instrução MIPS32 e MIPS64 para as instruções de soma e subtração (neste caso, operandos são apenas registradores) 17/92
18 Dois Endereços SUB X, Y Subtrai Y de X e coloca o resultado em X, denotado como X X Y Uma referência serve como operando fonte e como destino. Reduz tamanho da instrução Requer trabalho maior dentro do processador: armazenamento temporário de alguns resultados Quase todas as arquiteturas possuem instruções com 2 endereços. Usado no conjunto de instruções IA-32 (Intel 32 bits) para as operações aritméticas 18/92
19 Um Endereço SUB X Subtrai X de quem? Segundo endereço implícito, geralmente um registrador especial chamado acumulador (AC) SUB X, geralmente, subtrai X do acumulador, colocando o resultado no acumulador: AC AC X Comum nas primeiras máquinas (IAS) 19/92
20 Comparação entre 3, 2, 1 Endereços Programa para calcular Y = (A B) / (C + D E) 20/92
21 Zero Endereço? Todos os operandos são implícitos Usa uma pilha push X // coloca X no topo da pilha push Y // coloca Y no topo da pilha, acima de X sub // subtrai os dois elementos superiores da pilha e // coloca o resultado no topo pop Z // tira do topo da pilha, coloca em Z Usado em máquinas de pilha, como a máquina virtual Java. 21/92
22 Quantos Endereços? Mais endereços: Instruções mais complexas (mais poderosas?) Necessita de mais registradores Operações entre registradores mais rápidas Menos instruções por programa, menos buscas de instrução à memória Menos endereços: Instruções mais complexas (menos poderosas?) Mais instruções por programa, mais buscas de instrução à memória Para cada instrução, subciclo de busca e execução mais rápido 22/92
23 Projeto do Conjunto de Instruções Repertório de Operações Quantas? O que elas podem fazer? Quão complexas? Tipos de dados inteiros? ponto flutuante? string? Formato das instruções Qual tamanho do opcode? Quantos endereços? Registradores Número de registradores disponíveis? Qual o propósito de cada um? Endereçamento (cap. 10) Direto, indireto, operando imediato, etc. Afeta diversos aspectos do sistema: complexidade, desempenho, 23/92
24 Repertório de Operações Vale mais a pena projetar um processador com um conjunto rico e diversificado de instruções OU um processador simples, com instruções simples, onde cada uma delas é executada de maneira bem rápida? CISC = Complex Instruction Set Computer versus RISC = Reduced Instruction Set Computer 24/92
25 Tipos de Operandos Endereços Números: inteiro com sinal, inteiro sem sinal, ponto flutuante, etc. Caracteres padrão ASCII, EBCDIC, etc. Dados lógicos Bits ou flags (conjunto de bits de estado) O mesmo dado pode ser tratado como de um tipo ou de outro. O tipo é determinado pela operação efetuada sobre ele. 25/92
26 Tipos de Operações Transferência de dados Aritméticas Lógicas Conversão de formatos Entrada/Saída Controle do Sistema Transferência de Controle 26/92
27 Tipos de Operações: Transferência de Dados Necessário especificar: Fonte Destino Quantidade de dados Modo de endereçamento Fonte e/ou destino podem ser: memória, registrador ou topo da pilha Alguns dos parâmetros acima podem ser implícitos. Ex.: em assembly IA-32 push eax: empilha o conteúdo do registrador eax (32bits) 27/92
28 Tipos de Operações: Aritméticas Soma, subtração, multiplicação, divisão Invariavelmente, há operações para inteiros com sinal (geralmente representados em complemento a dois) Muitas vezes, também há operações para ponto flutuante (Nem sempre! Antes do Pentium, os processadores da Intel possuíam versões com e sem operações para ponto flutuante.) Outras operações relativamente comuns: valor absoluto X, inverso aditivo X, incremento X++, decremento X Escolha das operações e formatos de representação de números afetam o projeto da ULA 28/92
29 Tipos de Operações: Lógicas AND, OR, NOT, XOR, etc lógicos Igualdade Operações bitwise: bitwise AND, OR, NOT, etc. Deslocamentos e rotações (próx. slide) 29/92
30 obs.: presume representação em complemento a dois 30/92
31 Tipos de Operações: de Conversão Ex.: conversão de binário para BCD (decimal codificado em binário) empacotado, inteiro sem sinal = 1978 para BCD empacotado ASCII EBCDIC, inteiro ponto flutuante, etc. 31/92
32 Tipos de Operações: de Entrada/Saída Com I/O mapeada em memória não existe a necessidade de instruções específicas de entrada/saída podem ser realizadas usando-se instruções de transferência de dados Pode haver instruções específicas Podem ser feitas por um controlador específico (DMA, canais de I/O) 32/92
33 Tipos de Operações: para Controle do Sistema Instruções privilegiadas: podem permitir/negar acesso a determinadas áreas de memória, registradores, dispositivos, etc. Só podem ser executadas caso a CPU esteja em um estado específico: kernel mode ou ring 0 (IA-32) Geralmente, reservadas para uso pelo Sistema Operacional 33/92
34 Tipos de Operações: para Transferência de Controle Desvio incondicional desvie a execução para o endereço X (PC X) Desvio condicional ex.: desvie a execução para o endereço X se o resultado da última operação aritmética foi zero Salto ex.: incremente o valor do registrador e pule a próxima instrução se o valor for diferente de zero Chamada a uma subrotina ou procedimento compare com: chamada a handler de interrupção 34/92
35 Desvios: Exemplo BRanch if Zero BRanch if Equal 35/92
36 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 36/92
37 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 37/92
38 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 38/92
39 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 39/92
40 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 40/92
41 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 41/92
42 Chamada a Subrotinas Endereços Memória Principal CALL 4500 Programa principal CALL CALL 4800 RETURN Primeira subrotina 4800 RETURN Segunda subrotina 42/92
43 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. prog. princ. Pilha: conteúdo inicial 43/92
44 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN 4101 empilha PC+1 (end. de retorno) dados rel. prog. princ. Pilha: em CALL /92
45 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. proc dados rel. prog. princ. Pilha: após CALL 4500 antes CALL /92
46 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN 4601 dados rel. proc dados rel. prog. princ. Pilha: em CALL 4800 empilha PC+1 (end. de retorno) 46/92
47 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. proc dados rel. proc dados rel. prog. princ. Pilha: após CALL 4800 antes RETURN 47/92
48 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN 4601 será novo dados rel. proc dados rel. prog. princ. Pilha: em RETURN valor do PC 48/92
49 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. proc dados rel. prog. princ. Pilha: após RETURN antes CALL /92
50 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN 4651 dados rel. proc dados rel. prog. princ. Pilha: em CALL 4800 empilha PC+1 (end. de retorno) 50/92
51 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. proc dados rel. proc dados rel. prog. princ. Pilha: após CALL 4800 antes RETURN 51/92
52 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN 4651 será novo dados rel. proc dados rel. prog. princ. Pilha: em RETURN valor do PC 52/92
53 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. proc dados rel. prog. princ. Pilha: após RETURN antes RETURN (para prog. principal) 53/92
54 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN 4101 será novo dados rel. prog. princ. valor do Pilha: PC em RETURN (para prog. principal) 54/92
55 Uso da Pilha Endereços Memória Principal CALL CALL CALL 4800 RETURN 4800 RETURN dados rel. prog. princ. Pilha: após RETURN (para prog. principal) 55/92
56 Passagem de Parâmetros A pilha também pode ser usada para passagem de parâmetros Do mesmo modo, também pode ser usada para valores de retorno de funções Ex.: implementar subrotina que faça o equivalente a int soma(int a, int b) { return a+b; } 56/92
57 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 Programa principal reserva espaço para valor de retorno na pilha soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN Subrotina soma coloca parâmetros para subrotina soma na pilha 57/92
58 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN Programa principal Subrotina soma obtem segundo parâmetro obtem primeiro parâmetro coloca resultado na pilha volta end. de retorno p/ topo da pilha 58/92
59 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R ???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD???? FFFE???? FFFF???? 59/92
60 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R ???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD???? FFFE???? FFFF???? SP 60/92
61 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFF???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD???? FFFE???? FFFF 0000 SP 61/92
62 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFF???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD???? FFFE???? FFFF 0000 SP 62/92
63 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD???? FFFE a FFFF 0000 SP 63/92
64 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD???? FFFE a FFFF 0000 SP 64/92
65 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD b FFFE a FFFF 0000 SP 65/92
66 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD b FFFE a FFFF 0000 SP 66/92
67 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFC???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 67/92
68 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFC???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 68/92
69 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 69/92
70 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD???????? Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 70/92
71 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD???? b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 71/92
72 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD???? b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 72/92
73 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE???? b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 73/92
74 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE???? b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 74/92
75 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE a b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 75/92
76 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE a b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 76/92
77 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 77/92
78 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 78/92
79 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFF a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 79/92
80 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFF a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF 0000 SP 80/92
81 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFF a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 81/92
82 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFF a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 82/92
83 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 83/92
84 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFE a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 84/92
85 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 85/92
86 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 86/92
87 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFC a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 87/92
88 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R2 450A FFFC a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC 4004 FFFD b FFFE a FFFF a+b SP 88/92
89 Passagem de Parâmetros End. Mem. Principal início: 4000 PUSH PUSH a 4002 PUSH b 4003 CALL 4500 soma: 4500 incrementa SP 4501 MOV R2, [SP] 4502 incrementa SP 4503 MOV R1, [SP] 4504 ADD R1, R incrementa SP 4506 MOV [SP], R decrementa SP 4508 decrementa SP 4509 decrementa SP 450A RETURN PC Registradores (CPU) SP R1 R FFFD a+b b Pilha (Mem. principal) FFFA???? FFFB???? FFFC???? FFFD b FFFE a FFFF a+b SP 89/92
90 Em Assembly IA-32 _start: push 0x ; deixa espaço na pilha (32 bits) push 0xAAAAAAAA ; coloca A na pilha (em 32 bits) push 0xBBBBBBBB ; coloca B na pilha (em 32 bits) call soma add esp, 8 ; pula argumentos na pilha pop eax ; coloca resultado no acumulador soma: add esp, 4 ; move o apont. pilha 4 bytes p/ baixo mov ebx, [esp] ; coloca 2o param. em ebx add esp, 4 mov eax, [esp] ; coloca 1o param. em eax add eax, ebx add esp, 4 mov [esp], eax ; coloca resultado na pilha sub esp, 12 ; restaura apont. pilha p/ pos correta ret 90/92
91 Em Assembly IA-32 A subrotina anterior tem o inconveniente de sobrescrever os conteúdos de 2 registradores. Podemos guardá-los na pilha! soma: push eax ; guarda valor de eax push ebx ; guarda valor de ebx add esp, 12 ; move apont. pilha 12 bytes p/ baixo mov ebx, [esp] ; coloca 2o param. em ebx add esp, 4 mov eax, [esp] ; coloca 1o param. em eax add eax, ebx add esp, 4 mov [esp], eax ; coloca resultado na pilha sub esp, 12 ; restaura apont. pilha p/vals. guardados pop ebx ; restaura valor de ebx pop eax ; restaura valor de eax ret 91/92
92 A subrotina anterior tem o inconveniente de sobrescrever o conteúdo de 2 registradores. Podemos guardar o seu conteúdo na pilha! 92/92
Arquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características
Leia maisCONJUNTO DE INSTRUÇÕES
CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar
Leia maisCONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma
Leia maisCONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar
Leia maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização
Leia maisConjunto de Instruções. Alisson Brito
Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisPARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Leia maisLISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO
LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações
Leia maisProf. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/
Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos
Leia maisOrganização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
Leia maisAJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:
Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.
Leia maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia maisNotas de Aula Guilherme Sipahi Arquitetura de Computadores
Notas de Aula Guilherme Sipahi Arquitetura de Computadores Conjunto de Instruções: Elementos de uma instrução: Operation Code (Opcode): especifica a operação a ser executada. Source operand reference:
Leia maisO estudo da arquitectura de computadores efectua-se com recurso à Abstracção
ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação
Leia maisAula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético
Microprocessadores I Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético 4.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 CISC RISC MIPS Organização e Arquitetura de Computadores I Sumário Representação de instruções Slide 2 CISC O CISC (Complex Instruction
Leia maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR INTRODUÇÃO A ARQUITETURA DE COMPUTADORES Qual
Leia maisOrganização de Computadores
Organização de Computadores Aula 28 Operação da Unidade de Controle Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/44 Apresentação 1. Bases Teóricas 2. Organização de computadores...
Leia maisArquitetura de Computadores. Ciclo de Busca e Execução
Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura
Leia maisIntrodução à Computação: Arquitetura von Neumann
Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisDisciplina: Arquitetura de Computadores
Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na
Leia maisNível do Conjunto de Instruções Prof. Edson Pedro Ferlin
1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode
Leia maisIII.2 - Princípios de Arquitetura
Conjunto de Instruções e Modo de Endereçamento Ciclo de busca decodificação execução de instruções Programação de um processador Arquitetura de Von Neumann e Componentes Arquiteturas 4, 3, 2, 1 e 0 Tabela
Leia maisIntrodução à Organização de Computadores. Aula 8
SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo
Leia maisArquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016
Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 3ª Aula Visão Geral e Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Copyright William Stallings & Adrian J Pullin Tradução, revisão e
Leia maisMicroprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -
Microprocessadores I ELE 1078 Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - 9.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência
Leia maisNível da Arquitetura do Conjunto das Instruções
Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura
Leia maisProf. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia
Leia maisProfessor: Dr. Rogério Rodrigues de Vargas.
UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
Leia maisArquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções
Arquiteturas de Computadores Princípios e exemplos de conjuntos de instruções Características das aplicações Computação de desktop Ênfase em desempenho de programas com tipos de dados inteiros e ponto-flutuante
Leia maisHistórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral
Processador de uso geral 1. Introdução: Um sistema digital completo é constituído de uma unidade controle e o bloco operacional. Na figura a seguir alguns elementos externos necessários para completar
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisSímbolos e abreviaturas utilizadas na descrição das instruções
Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte
Leia maisWilliam Stallings Computer Organization and Architecture
William Stallings Computer Organization and Architecture Capítulo 3 Como o Processador Funciona Arquitetura von Neumann Como discutido anteriormente, os projetos dos computadores modernos são baseados
Leia maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015
Leia maisAULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Leia maisUCP: Construindo um Caminho de Dados (Parte I)
UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres
Leia maisProcessador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia maisEstrutura Básica de um Computador
SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter
Leia maisInstruções de Máquina
Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador
Leia maisNEANDERWIN. Algumas características do processador Neander são:
NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui
Leia maisIntrodução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná
Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários
Leia maisInfraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento
Infraestrutura de Hardware Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de
Leia maisInstruções. Maicon A. Sartin
Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis
Leia maisInfraestrutura de Hardware. Funcionamento de um Computador
Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é
Leia maisIntrodução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16
Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores
Leia maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR INTRODUÇÃO
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável
Leia maisConjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Leia maisMICROPROCESSADORES E MICROCONTROLADORES. PROVA 1 - Solução da Versão 1
MICROPROCESSDORES E MICROCONTROLDORES PROV 1 - Solução da Versão 1 (o final são apresentadas as soluções da questão 4 das versões 2 e 3) 1. Na comparação entre as arquiteturas CISC e RISC, faça comentários
Leia maisProf. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO
Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa
Leia maisConjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Leia maisConceitos Básicos Processador
Infra-Estrutura de Hardware Conceitos Básicos Processador Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Organização da CPU Execução das Instruções RISC x CISC Paralelismo
Leia maisElementos Físicos do SC e a Classificação de Arquiteturas
Elementos Físicos do SC e a Classificação de Arquiteturas IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 9 e 10/40 Prof.
Leia mais2. A influência do tamanho da palavra
PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante
Leia maisSolução Lista de Exercícios Processadores
Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação
Leia maisOrganização de Sistemas de Computadores
Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =
Leia maisOrganização de Computadores
Organização de Computadores Aula 27 Estrutura e Função da CPU Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/33 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.5.
Leia maisArquitetura de Computadores Aula 10 - Processadores
Arquitetura de Computadores Aula 10 - Processadores Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/21 TÓPICOS ORGANIZAÇÃO COMPONENTES BÁSICOS INSTRUÇÃO DE MÁQUINA CICLO DE INSTRUÇÃO
Leia maisConjunto de Instruções
Conjunto de Instruções IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 20 e 21/30 Prof. Msc. Antonio Carlos Souza Referências
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisUniversidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador
Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional
Leia maisUnidade Central de Processamento 2. Registradores
Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades
Leia maisSSC0114 Arquitetura de Computadores
SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br
Leia maisConjunto de Instruções. Prof. Leonardo Barreto Campos 1
Conjunto de Instruções Prof. Leonardo Barreto Campos 1 Sumário Introdução; CISC; RISC; MIPS; Representação de Instruções; SPIM; Prof. Leonardo Barreto Campos 2/58 Sumário Operações Lógicas; Instruções
Leia maisInfraestrutura de Hardware. Implementação Monociclo de um Processador Simples
Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço
Leia mais2. A influência do tamanho da palavra
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de
Leia maisInfraestrutura de Hardware. Instruindo um Computador
Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath
Leia maisSistemas Processadores e Periféricos Aula 2 - Revisão
Sistemas Processadores e Periféricos Aula 2 - 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 maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização
Leia maisArquitetura de Computadores. Conjunto de Instruções
Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas
Leia mais18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados
Capítulo 2: Manipulação de Dados Ciência da Computação: Uma visão abrangente 11a Edition Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 2: Manipulação de dados
Leia maisUnidade de Controle. UC - Introdução
Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre
Leia maisConjunto de Instruções (ISA) I
Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE
Leia maisExercícios resolvidos (aula de 4 de Maio) Resolução:
Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma
Leia maisComputador Cleópatra
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Interface Hardware e Software Alexandre Amory Edson Moreno 2 / 9 Nas Aulas Anteriores Vimos como descrever e implementar circuitos combinacionais
Leia maisLinguagem de Montagem do NeanderX
Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação
Leia maisNível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo
Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle
Leia maisA arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.
A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento
Leia maisNeander - características
NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados
Leia maisCPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3
CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas
Leia maisULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.
PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação
Leia mais