referências bibliográficas

Propaganda
ARQUITETURA DE COMPUTADORES
Nível do Conjunto de Instruções
Prof.: Agostinho S. Riofrio
Nível do Conjunto de Instruções
Agenda
1.
2.
3.
4.
5.
6.
7.
8.
Introdução
Registradores
Tipos de Dados
Formato de Instruções
Modos de Endereçamento
Instruções
Entrada/Saída
Interrupções
Nível do Conjunto de Instruções
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
Introdução
Nível do Conjunto de Instruções
Registradores
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 Negativo
Z – Marcado quando o resultado foi Zero
V – Marcado quando o resultado excedeu a
capacidade da ULA (overflow)
C – Marcado quando o resultado causou um “vai-um”
do bit da extrema direita
A – Marcado quando houve um vai-um do bit 3 (“vaium” auxiliar)
P – Marcado quando o resultado teve paridade par.
Nível do Conjunto de Instruções
Registradores – Pentium 4
Nível do Conjunto de Instruções
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
Numéricos – Pentium 4
Nível do Conjunto de Instruções
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
Modos de Endereçamento
•
Endereçamento Imediato
Operando vem junto com a instrução. Usado
para especificar constantes inteiras
pequenas.
Instrução imediata para carregar a constante 4 no
registrador 1.
Nível do Conjunto de Instruções
Modos de Endereçamento
•
Endereçamento Direto
Acessa 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.
Nível do Conjunto de Instruções
Modos de Endereçamento
•
Endereçamento de Registrador
Especifica um registrador em vez de memória.
Nível do Conjunto de Instruções
Modos de Endereçamento
•
Endereçamento Indireto de Registrador
Endereço de memória está contido em um
registrador.
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
• 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).
Nível do Conjunto de Instruções
Endereçamento Indexado
Programa genérico em linguagem de montagem para calcular a
operação OR de Ai AND Bi para dois vetores de 1024
Elementos.
Nível do Conjunto de Instruções
Modos de Endereçamento
• De base indexado
Endereç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)
Nível do Conjunto de Instruções
Endereçamento
• Pilha
Não opera com endereços
Nível do Conjunto de Instruções
Endereçamento
Nível do Conjunto de Instruções
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
Nível do Conjunto de Instruções
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
Nível do Conjunto de Instruções
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.
Nível do Conjunto de Instruções
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”.
Nível do Conjunto de Instruções
Instruções
• Operações de Entrada/Saída
Registradores de dispositivo para um terminal simples.
Nível do Conjunto de Instruções
Instruções
• Operações de Entrada/Saída
Exemplo de E/S programada.
Nível do Conjunto de Instruções
Instruções de
inteiros do
Pentium 4
Nível do Conjunto de Instruções
Entrada/Saída
• 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
Nível do Conjunto de Instruções
E/S por DMA
Controlador de DMA assume a função de transferir o conteúdo
solicitado ao periférico diretamente a memória.
Nível do Conjunto de Instruções
Interrupçõ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.
Nível do Conjunto de Instruções
Interrupçõ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.
Nível do Conjunto de Instruções
Interrupçõ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.
Nível do Conjunto de Instruções
Interrupções
Nível da Lógica Digital
REFERÊNCIAS BIBLIOGRÁFICAS
[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.
Download