Você está na página 1de 73

Nvel de arquitetura do conjunto

de instruo
Captulo

2007 by Pearson Education

Nvel de arquitetura do conjunto


de instruo

2007 by Pearson Education

Nvel de arquitetura do conjunto


de instruo

2007 by Pearson Education

Nvel ISA

O nvel ISA a interface entre os compiladores e o hardware.


2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

Modelo de Memria

Palavra de 8 bytes em memria little-endian. (a) Alinhada. (b) No alinhada.


Algumas mquinas requerem que palavras na memria sejam alinhadas.
2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


So de 32 bits e funcionam
mais
ou
menos
como
registradores
de
propsito
geral.

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


o principal
aritmtico.

registrador

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


Serve
para
armazenar
ponteiros
(endereos
de
memria).

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


Responsvel pela execuo de
loops

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4

utilizado em operaes de
multiplicao e diviso.

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4

Tem
como
objetivo
principal
o
armazenamento de ponteiros para a
memria, os quais so usados na
execuo de instrues de manipulao
de strings.

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4

usado para apontar para a base do


quadro de pilha local, conhecido como
apontador de quadro.

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4

o apontador de pilha.

Registradores primrios
do Pentium 4.

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


Registradores primrios
do Pentium 4.

Registradores de segmento

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


Registradores primrios
do Pentium 4.

Faz as vezes do Program Counter

2007 by Pearson Education

Viso geral do nvel ISA do Pentium 4


Registradores primrios
do Pentium 4.

PSW da arquitetura
2007 by Pearson Education

2007 by Pearson Education

Tipos de dados do Pentium 4

Tipos de dados numricos do Pentium 4. Os tipos suportados


esto marcados com x.

2007 by Pearson Education

Tipos de dados do 8051

Tipos de dados numricos do 8051. Os tipos suportados


esto marcados com x.

2007 by Pearson Education

Tipos de dados da UltraSPARC III

Tipos de dados numricos da UltraSPARC III. Os tipos suportados


esto marcados com x.

2007 by Pearson Education

2007 by Pearson Education

Formatos de Instruo

Quatro formatos comuns de instruo:


(a) Instruo sem endereo.
(c) Instruo com dois endereos.
(b) Instruo com um endereo. (d) Instruo com trs endereos.
2007 by Pearson Education

2007 by Pearson Education

Formatos de Instrues

Algumas relaes possveis entre comprimento


de instruo e de palavra.

As instrues de uma mquina podem ser menores, do mesmo


tamanho ou maiores que a palavra da mquina.
2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

2007 by Pearson Education

Instrues do Pentium 4

Uma seleo de instrues


de inteiros do Pentium 4.

2007 by Pearson Education

Instrues da UltraSPARC III

Instrues de inteiros da
UltraSPARC III primria.

2007 by Pearson Education

Endereamento
Em geral, as instrues utilizam pequena quantidade de bits
para o cdigo de operao, grande quantidade para especificar

endereos dos dados, como por exemplo: instruo de adio:

-Precisa dos endereo dos dois valores a serem somados.

-Precisa do endereo do local onde o valor deve ser armazenado.

2007 by Pearson Education

Endereamento

2007 by Pearson Education

Modos de Endereamento

2007 by Pearson Education

Endereamento imediato
Parte da instruo contm o operando, no requerendo
referncia extra memria. limitado pelo tamanho do campo.

Utilizado somente para buscar uma constante esse tipo de


endereamento.
Tcnica utilizada para especificar constantes de valor pequeno.

- Exemplo: Instruo imediata para carregar 4 no registro 1:


Instruo

COp

Operando

2007 by Pearson Education

Endereamento direto

Instruo
COp

End

Operando

Memria
2007 by Pearson Education

Endereamento de registrador
Semelhante ao endereamento direto, mas o
endereo

especifica

registrador

(no

endereo de memria) que contm o dado.

Instruo

Manipulao mais eficiente, pois o acesso ao


COp

registrador mais rpido. Contudo o nmero de


registradores limitado.
Muito til quando necessita-se diversa vezes
Operando

da mesma varivel.

Registradores

2007 by Pearson Education

Endereamento indireto de registrador


O endereo de uma varivel
armazenado em um registrador.

Endereo do dado obtido do


contedo da posio identificada pela

Instruo

COp

instruo (endereo na instruo =


Operando

ponteiro).
Referencia a memria sem
precisar de endereo de

Apontador

memria completo na instruo.


Registradores

2007 by Pearson Education

Memria

Endereamento indexado

2007 by Pearson Education

Endereamento de Base indexado

2007 by Pearson Education

Endereamento por pilha

2007 by Pearson Education

Endereamento por pilha

Pilha
Implcito

Registrador

Apontador da
pilha

2007 by Pearson Education

Memria

Tipos de Instrues
As instrues representam a principal caracterstica do nvel ISA.
Sempre

existem

STORE,MOVE,

instrues
etc.

So

aritmticas,

booleanas,

agrupadas

de

funcionalidades:
-Instrues de Movimento de Dados
- Operaes Didicas

- Operaes Mondicas
- Comparaes e Desvios Condicionais
- Instrues de Chamada e Procedimento

- Controle de Loop
- Entrada/Sada
2007 by Pearson Education

acordo

LOAD,
suas

Tipos de Instrues
Instrues de Movimento de Dados
Compreende, na verdade, uma duplicao de dados.
Cria-se um novo objeto, com a mesma configurao de bits do
objeto original.
O contedo original da memria no apagado.

preciso especificar o endereo de origem e destino.


Ex: 1. A atribuio de valores a variveis: A=B
2. Disponibilizar o dado em um local que tenha acesso a ele.

2007 by Pearson Education

Tipos de Instrues
Operaes Didicas
So aquelas que combinam dois operandos para produzir um
resultado.
Ex: operaes aritmticas (adio, subtrao, multiplicao e

diviso), funes booleanas (AND, OR, NOR, NAND,...).

2007 by Pearson Education

Tipos de Instrues
Operaes Mondicas
So aquelas que utilizam apenas um operando e produzem um
nico resultado, como por exemplo a negao, deslocamento,
rotao e incremento.

2007 by Pearson Education

Tipos de Instrues
Comparaes e Desvios Condicionais
Os programas precisam ter a capacidade de testar seus dados e
alterar a sequncia de execuo e suas instrues com base nos
resultados desses testes.
Instrues em linguagem de mquina geralmente testam algum bit

da mquina e desviam para um label (rtulo) de acordo com o valor


do bit testado.

Ex:

2007 by Pearson Education

Tipos de Instrues
Comparaes e Desvios Condicionais
Os programas precisam ter a capacidade de testar seus dados e
alterar a sequncia de execuo e suas instrues com base nos
resultados desses testes.
Instrues em linguagem de mquina geralmente testam algum bit

da mquina e desviam para um label (rtulo) de acordo com o valor


do bit testado.

Ex: Clculo do fatorial de um nmero (n!)

2007 by Pearson Education

Tipos de Instrues
Comparaes e Desvios Condicionais

2007 by Pearson Education

Tipos de Instrues
Instrues de Chamada e Procedimento
Procedimentos um conjunto de instrues que realizam uma
determinada tarefa.
Podem ser chamados vrias vezes de qualquer parte do
programa.

Quando um procedimento chamado atravs de instruo de


chamada de procedimento (CALL), o programa desviado para a
primeira instruo do procedimento.

2007 by Pearson Education

Tipos de Instrues
Instrues de Chamada e Procedimento
Quando o procedimento termina sua tarefa o programa desviado
para a instruo imediatamente seguinte a instruo de sua
chamada atravs de instruo de retorno de procedimento (RET).

Quando o procedimento chamado, necessrio armazenar o


endereo de retorno.

2007 by Pearson Education

Tipos de Instrues
Instrues de Chamada e Procedimento
O endereo de retorno pode ser armazenado numa pilha,
permitindo que um procedimento chame outro procedimento.
Quando um procedimento termina o endereo de retorno
desempilhado e colocado no PC.

2007 by Pearson Education

Tipos de Instrues
Controle de Loop
Execuo de um grupo de instrues (lao) repetida um nmero
fixo de vezes.
Baseada em contador que incrementado ou decrementado a
cada execuo do lao (loop).

Contador deve ser testado a cada execuo do lao, quando o


teste assumir uma determinada condio, o lao interrompido.

2007 by Pearson Education

Tipos de Instrues
Controle de Loop
Duas implementaes:
Com teste no final

Com teste no inicio do lao.

2007 by Pearson Education

Tipos de Instrues
Entrada/Sada
E/S programada com espera ocupada
E/S dirigida por interrupo
E/S com acesso direto memria

2007 by Pearson Education

Tipos de Instrues
E/S programada com espera ocupada
Mtodo de implementao simples.
Comum

em

sistemas

de

baixo

desempenho

embarcados, sistemas em tempo real).


Cada dispositivo possui dois registradores associados:

status e buffer de dados.

2007 by Pearson Education

(sistemas

Tipos de Instrues
E/S programada com espera ocupada
Processador testa registrador de status periodicamente, em lao,
at verificar se o dispositivo esta pronto para receber (sada) ou se
disponibilizou um dado (entrada).
Espera ocupada mantm o processador ocioso enquanto realiza

operao de entrada ou sada.


Aplicaes dedicadas.

2007 by Pearson Education

Tipos de Instrues
E/S programada com espera ocupada
Instrues IN e OUT so providas para ler e escrever nos
registradores.
Instrues selecionam um dos dispositivos de E/S disponveis.
1 caractere lido ou escrito por vez no registrador de dados.

Processador precisa executar sequncia explcita de instrues


para cada caractere lido ou escrito.
Exemplo: terminal com dois dispositivos de E/S:

1 de entrada (teclado) e 1 de sada (vdeo)

2007 by Pearson Education

Tipos de Instrues
E/S dirigida por interrupo
Processador apenas inicia a operao de E/S.
Processador habilita interrupes.
Processador sai do processo, ficando livre para outras tarefas.
Quando o caractere escrito ou recebido, o dispositivo gera uma

interrupo, (ativa sinal no pino de interrupo do processador),


avisando que a operao de E/S foi concluda.

2007 by Pearson Education

Tipos de Instrues
E/S dirigida por interrupo
Sinal de interrupo = (bit Pronto ou bit Caractere Disponvel)
AND (bit Habilita Interrupes).
Vantagem:
O processador no precisa esperar que o dispositivo acabe

operao de E/S.
Desvantagem:
A cada caractere transmitido necessrio tratar uma interrupo.

Exemplo: Sada de vdeo.

2007 by Pearson Education

Tipos de Instrues
E/S com acesso direto memria

Utiliza um controlador de DMA dedicado que toma posse do


barramento e realiza E/S programada, avisando ao processador,
por meio de interrupo, quando a operao de E/S estiver
finalizada.

2007 by Pearson Education

Tipos de Instrues
E/S com acesso direto memria

Vantagens:
O processador no precisa ficar em espera ocupada, assim fica
livre para realizar outras tarefas.
No

necessrio

tratar

uma

interrupo

por

caractere

transmitido, a interrupo s gerada aps a transmisso de um


bloco de caracteres de tamanho especificado.

2007 by Pearson Education

Tipos de Instrues
E/S com acesso direto memria

Desvantagens:
Toda vez que o controlador requisita o barramento, seja para
acessar a memria ou para acessar o dispositivo, ele tem
prioridade sobre o processador.

Diz-se que o controlador de DMA rouba ciclos de barramento do


processador.

2007 by Pearson Education

Tipos de Instrues
E/S com acesso direto memria
Controlador de DMA possui, no mnimo, quatro registradores:
Endereo:

Armazena o endereo de memria a ser lido ou

escrito.
Contador: Armazena o nmero de bytes a serem lidos ou

escritos.
Dispositivo: Armazena o nmero do dispositivo E/S a ser usado.
Direo: Indica se operao de leitura ou escrita no dispositivo.

2007 by Pearson Education