Você está na página 1de 23

Arquitetura de

Computadores
Willian Rampazzo
Faculdade Anhanguera de Indaiatuba

Aula 05
Conjunto de instrues:
Modos de endereamento
e formatos

Modos de endereamento

Imediato

Direto

Indireto

Por registrador

Indireto via registrador

Por deslocamento

Pilha

Modos de
endereamento

Modos de
endereamento

Endereamento imediato

Forma mais simples de endereamento - Operando = A

Este modo pode ser usado para definir e usar contantes ou para atribuir um
valor inicial para variveis.

Vantagens:

Tipicamente, o nmero ser armazenado na forma de complemento de dois


O bit mais esquerda do campo operando utilizada como um bit de sinal

nenhuma referncia de memria que no a busca de instrues necessria para


obter o operando, poupando, assim, um cache de memria ou ciclo no ciclo de
instruo

Desvantagem:

O tamanho do nmero restrito para o tamanho do campo de endereo, o qual, na


maioria dos conjuntos de instrues, pequeno quando comparado com o
comprimento da palavra

Endereamento direto
Campo de endereo
contm o endereo
efetivo do operando

Endereo Efetivo (EA)


= campo de endereo
(A)

Era comum nas


geraes anteriores de
computadores

Exige apenas uma


referncia de memria e
nenhum clculo
especial
Limitao que ele
fornece apenas um
espao de
endereamento limitado

Endereamento indireto

Referncia para o endereo de uma palavra em memria que contm um endereo


de comprimento completo do operando

EA = (A)

Vantagem:

Parnteses devem ser interpretados no sentido de contedo

Para um comprimento de palavra de N um espao de endereo de 2N j est disponvel

Desvantagem:

Execuo de instruo exige duas referncias de memria para buscar o operando


Uma para obter seu endereo e um segundo para obter o seu valor

Endereamento de registrador

Refere-se ao campo de endereo de registrador em vez de um


endereo da memria principal

EA = R

Vantagens:

Apenas um pequeno campo de endereo necessrio na instruo

No requer nenhuma referncia memria

Desvantagens:

O espao de endereamento muito limitado

Endereamento indireto via registrador

Anlogo ao endereamento indireto

A nica diferena se o endereo de campo refere-se a uma localizao de


memria ou um registrador

EA = (R)

Requer um acesso memria a menos que o endereamento indireto.

Endereamento deslocado

Combina as capacidades do endereamento direto e do endereamento


indireto via registrador

EA = A + (R)

Requer que a instruo tenha dois campos de endereo, no mnimo um tem


que ser explcito

O valor contido em um campo de endereo (valor = A) usado diretamente


O outro campo de endereo especifica um registrador cujo contedo adicionado
A para produzir o endereo efetivo

Usos mais comuns:

Endereamento relativo
Endereamento via registrador-base
Indexao

Endereamento relativo

O registrador implicitamente referenciado o contador de programa


(PC)

O endereo da instruo seguinte adicionado ao campo de endereo para


produzir o EA

Tipicamente, o campo de endereo tratado como um nmero complemento


de dois para esta operao

Assim, o endereo efetivo um deslocamento relativo ao endereo da


instruo

Explora o conceito de localidade

Salva bits de endereo na instruo, se a maioria das referncias de


memria so relativamente perto da instruo a ser executada

Endereamento via registrador-base

O registrador referenciado contm um endereo de memria principal e o


campo de endereo contm um deslocamento daquele endereo

A referncia de registrador pode ser explcita ou implcita

Explora a localidade de referncias memria

Meio conveniente de implementar segmentao

Em algumas implementaes um nico registrador-base de segmento


empregado e usado implicitamente

Em outros, o programador pode escolher um registrador para manter o


endereo base de um segmento e a instruo deve referenci-lo
explicitamente

Indexao

O campo de endereo faz referncia a um endereo de memria principal e o registrador


referenciado contm um deslocamento positivo daquele endereo

O mtodo de clculo do EA o mesmo que para o endereamento registrador-base

Uma utilizao importante o de proporcionar um mecanismo eficiente para a realizao de


operaes iterativas

Auto-indexao

Incrementa ou decrementa automaticamente o registrador de ndice aps cada referncia a ele


EA = A + (R)
(R) (R) + 1

Ps-indexao

A indexao realizada aps do


endereamento indireto
EA = (A) + (R)

Pr-indexao

A indexao realizada antes do


endereamento indireto
EA = (A + (R))

Endereamento a pilha

A pilha uma sequncia linear de posies

Uma pilha um bloco reservado de posies

s vezes referido como uma lista Pushdown ou LIFO (last-in-first-out)

Os artigos so acrescentados ao topo da pilha de modo que o bloco est parcialmente preenchido

Associado com a pilha est um ponteiro cujo valor o endereo do topo da pilha

O ponteiro da pilha mantido num registrador


Assim, as referncias s posies da pilha na memria so, na verdade endereamento indireto via
registrador

uma forma de endereamento implcita

As instrues de mquina no precisam incluir uma referncia memria, mas


implicitamente operar sobre o topo da pilha

Modos de endereamento bsicos

Formatos de Instruo

Para a maioria
dos conjuntos de
instrues mais
do que um
formato de
instruo
usado

Deve incluir um
cdigo de
operao e,
implcita ou
explicitamente,
indicar o modo de
endereamento
para cada
operando

Define o layout
dos bits de uma
instruo, em
termos de seus
campos
constituintes

Tamanho de instruo

Problema de design mais bsico

Afeta e afetado por:

Tamanho da memria

Organizao da memria

Estrutura do barramento

Complexidade do processador

Velocidade do processador

Deve ser igual ao tamanho da unidade de transferncia de dados de e


para a memria ou deve ser um mltiplo deste

Deve ser um mltiplo do comprimento de caracteres, que geralmente


de 8 bits, e do comprimento dos nmeros de ponto fixo

Alocao de bits

Nmero de modos de endereamento

Nmero de operandos

Registrador ou memria

Nmero de conjunto de registradores

Faixa de endereos

Granularidade de endereamento

Formato de instrues do PDP-8

Instrues de tamanho varivel

possvel fornecer variaes de maneira compacta e eficiente.

Aumenta a complexidade do processador

No remove a convenincia de elaborar as instrues com


comprimentos integralmente relacionados ao comprimento de palavra

Uma vez que o processador no sabe o comprimento da instruo seguinte a


ser buscada uma estratgia tpica buscar um nmero de bytes ou palavras
igual a, pelo menos, a mais longa instruo possvel

s vezes mltiplas instrues so buscadas

Formato de instrues do PDP-11

Resumo
Aula 05

Modos de endereamento

Conjunto de Instrues:
Modos de
endereamento e
formatos

Formato de instrues

Endereamento imediato

Tamanho da instruo

Endereamento direto

Alocao de bits

Endereamento indireto

Instrues de tamanho varivel

Endereamento via registrador

Endereamento indireto via


registrador

Endereamento por deslocamento

Endereamento a pilha

Stallings: Captulo 10
PLT: Captulo 8