arquitetura de computadores nível do conjunto de instruções prof.: agostinho s. riofrio
TRANSCRIPT
![Page 1: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/1.jpg)
ARQUITETURA DE COMPUTADORES
Nível do Conjunto de Instruções
Prof.: Agostinho S. Riofrio
![Page 2: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/2.jpg)
Nível do Conjunto de Instruções
1. Introdução2. Registradores3. Tipos de Dados4. Formato de Instruções5. Modos de Endereçamento6. Instruções7. Entrada/Saída8. Interrupções
Agenda
![Page 3: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/3.jpg)
Introdução
Posicionado entre o nível de Microarquitetura e o nível do Sistema Operacional. Foi o primeiro nível a ser desenvolvido.
Permite que a maioria dos computadores seja capaz de executar programas escritos em várias linguagens de alto nível.
É a interface entre o software e o hardware.
Nível do Conjunto de Instruções
![Page 4: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/4.jpg)
IntroduçãoNível do Conjunto de Instruções
![Page 5: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/5.jpg)
RegistradoresNível do Conjunto de Instruções
De uso Geral:•Registradores disponíveis para os programadores para usos gerais.
De uso Especial:•PC (Contador de Programa), ST (Apontador da Pilha)•PSW (Registrador de stados da ULA)
N – Marcado quando o resultado foi NegativoZ – Marcado quando o resultado foi ZeroV – Marcado quando o resultado excedeu a capacidade da ULA (overflow)C – Marcado quando o resultado causou um “vai-um” do bit da extrema direitaA – Marcado quando houve um vai-um do bit 3 (“vai-um” auxiliar)P – Marcado quando o resultado teve paridade par.
![Page 6: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/6.jpg)
Registradores – Pentium 4Nível do Conjunto de Instruções
![Page 7: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/7.jpg)
Tipos de dados•Numéricos
•Inteiros•Complemento de dois•Com sinal ou sem sinal•Dupla precisão•Ponto flutuante (32, 64 ou 128 bits)
•Não Numéricos•ASCII•Unicode•Valores Booleanos
•Verdadeiro•Falso
Nível do Conjunto de Instruções
![Page 8: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/8.jpg)
Numéricos – Pentium 4Nível do Conjunto de Instruções
![Page 9: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/9.jpg)
Formatos de Instrução
Quatro formatos comuns de instrução: (a) Instrução sem endereço. (c) Instrução com dois endereços. (b) Instrução com um endereço. (d) Instrução com três endereços.
Nível do Conjunto de Instruções
![Page 10: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/10.jpg)
Modos de Endereçamento• Endereçamento Imediato
Operando vem junto com a instrução. Usado para especificar constantes inteiras pequenas.
Nível do Conjunto de Instruções
Instrução imediata para carregar a constante 4 no registrador 1.
![Page 11: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/11.jpg)
Modos de EndereçamentoNível do Conjunto de Instruções
• Endereçamento DiretoAcessa sempre a mesma posição de
memória. O endereço é dado na instrução. Só pode ser usado para variáveis globais cujos endereços são conhecidos no momento da compilação.
![Page 12: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/12.jpg)
Modos de EndereçamentoNível do Conjunto de Instruções
• Endereçamento de RegistradorEspecifica um registrador em vez de
memória.
![Page 13: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/13.jpg)
Modos de Endereçamento
Endereçamento indireto de registrador: um programa genérico em linguagem de montagem para calcular a soma dos elementos de um vetor.
Nível do Conjunto de Instruções
• Endereçamento Indireto de RegistradorEndereço de memória está contido
em um registrador.
![Page 14: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/14.jpg)
EndereçamentoNível do Conjunto de Instruções
• IndexadoÉ quando o endereço de memória dado por um registrador adicionado a um deslocamento constante. O deslocamento vem da instrução.
Possível representação de MOV R4, A (R2).
![Page 15: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/15.jpg)
Endereçamento IndexadoNível do Conjunto de Instruções
Programa genérico em linguagem de montagem para calcular a operação OR de Ai AND Bi para dois vetores de 1024 Elementos.
![Page 16: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/16.jpg)
Modos de EndereçamentoNível do Conjunto de Instruções
• De base indexadoEndereço de memória é resultado da soma de dois registradores adicionados a um deslocamento. Um registrador é a base e o outro é o índice.
LOOP: MOV R4,(R2+R5)AND R4,(R2+R6)
![Page 17: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/17.jpg)
EndereçamentoNível do Conjunto de Instruções
• PilhaNão opera com endereços
![Page 18: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/18.jpg)
EndereçamentoNível do Conjunto de Instruções
![Page 19: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/19.jpg)
InstruçõesNível do Conjunto de Instruções
• De Desvio• Altera fluxo do programa para o endereço
alvo determinado pelo modo de endereçamento.
• Movimento de Dados• Gera cópia de um dado em registrador ou
memória• Operações
• Diádicas: Combinam dois operandos para obter um resultado
• Monádicas: Só um operando e só um resultando
![Page 20: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/20.jpg)
InstruçõesNível do Conjunto de Instruções
• Comparações e Desvios Condicionais– Testar dados e alterar a sequência de
instruções a ser executada.• Chamada de Procedimento
– Grupo de instruções que realiza alguma tarefa e pode ser chamado de diversas partes do programa. Quando conclui a tarefa deve voltar a declaração após a chamada.
• Controle de Laço– Execução de um grupo de instruções por
um número fixo de vezes.• Operações de Entrada/Saída
![Page 21: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/21.jpg)
InstruçõesNível do Conjunto de Instruções
• Comparações e Desvios Condicionais– Testar dados e alterar a sequência de
instruções a ser executada.• Chamada de Procedimento
– Grupo de instruções que realiza alguma tarefa e pode ser chamado de diversas partes do programa. Quando conclui a tarefa deve voltar a declaração após achamada.
![Page 22: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/22.jpg)
InstruçõesNível do Conjunto de Instruções
• Controle de Laço– Execução de um grupo de instruções por
um número fixo de vezes.
(a) Laço do tipo “teste no final”. (b) Laço do tipo “teste no início”.
![Page 23: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/23.jpg)
InstruçõesNível do Conjunto de Instruções
• Operações de Entrada/Saída
Registradores de dispositivo para um terminal simples.
![Page 24: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/24.jpg)
InstruçõesNível do Conjunto de Instruções
• Operações de Entrada/Saída
Exemplo de E/S programada.
![Page 25: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/25.jpg)
InstruçõesNível do Conjunto de Instruções
Instruções de inteiros do Pentium 4
![Page 26: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/26.jpg)
Entrada/SaídaNível do Conjunto de Instruções
• Operações de Entrada/Saída• Instruções para controlar os controladores de
dispositivos de entrada/saída.– E/S DMA– E/S por interrupção
![Page 27: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/27.jpg)
E/S por DMANível do Conjunto de Instruções
Controlador de DMA assume a função de transferir o conteúdo solicitado ao periférico diretamente a memória.
![Page 28: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/28.jpg)
InterrupçõesNível do Conjunto de Instruções
• Interrupções são alterações no fluxo de controle que não são causados pelo programa em execução.
• Em geral estão relacionadas a E/S.• Quando termina o tratamento de interrupção
o controle é devolvido ao programa interrompido.
• As interrupções podem ser agrupadas por prioridade.
• Em alguns casos uma interrupção pode ser atendida antes da finalização da interrupção corrente.
![Page 29: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/29.jpg)
InterrupçõesNível do Conjunto de Instruções
• Ações de Hardware• O controlador de dispositivo ativa uma linha
de interrupção no barramento.• Se o atendimeto de interrupção estiver
habilitado, a CPU envia um sinal de reconhecimento ao dispositivo.O dispositivo de identifica a CPU através de um número chamado vetor de interrupção.
• A CPU passa a o PC e PSW para a pilha.• Carrega o PC com o valor encontrado a partir
do vetor de interrupção.
![Page 30: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/30.jpg)
InterrupçõesNível do Conjunto de Instruções
• Ações de Software• Rotina de tratamento de interrupção salva
todos os registradores em uso.• O programa identifica o dispositivo gerador
da interrupção.• O dispositivo é identificado pela CPU através
de um número chamado vetor de interrupção.• Execução das instruções da rotina que trata a
interrupção.• Restaura os registradores salvos.• Executa a instrução RETURN FROM
INTERRUPT para que a CPU restaure PSW e PC.
![Page 31: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/31.jpg)
InterrupçõesNível do Conjunto de Instruções
![Page 32: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio](https://reader036.vdocuments.site/reader036/viewer/2022081520/570638621a28abb823900730/html5/thumbnails/32.jpg)
[1] TANEMBAUM, Andrew S. Organização Estruturada de Computadores. Quinta Edição. Editora Pearson Prentice Hall, São Paulo, 2007.[2] HENNESSY, John L.; Patterson, David A.; Organização e Projeto de Computadores – 2ª Edição 2000; ED LTC.[3] MONTEIRO, M. A. Introdução à organização de computadores. Quarta Edição. Editora LTC, Rio de Janeiro, 2002.
REFERÊNCIAS BIBLIOGRÁFICAS
Nível da Lógica Digital