32
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio

ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio

Embed Size (px)

Citation preview

Page 1: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio

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

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

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

IntroduçãoNível do Conjunto de Instruções

Page 5: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio

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

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

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

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

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

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

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

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

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

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

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

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

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

EndereçamentoNível do Conjunto de Instruções

Page 19: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio

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

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

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

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

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

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

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

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

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

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

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

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

InterrupçõesNível do Conjunto de Instruções

Page 32: ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções Prof.: Agostinho S. Riofrio

[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