Вы находитесь на странице: 1из 26

Organizao e Arquitetura de Computadores I Conjunto de Instrues: Modos de Endereamento e Formato

Ivan Saraiva Silva Leonardo Casillo

Modos de Endereamento
Imediato Direto Indireto Registrador Registrador Indireto Deslocamento (Indexado) Pilha

Endereamento Imediato
O operando vem como parte da instruo Operando = Campo de endereo EX. ADD 5
Adiciona 5 ao contedo do acumulador 5 um operando vem no campo de endereo da instruo

Nenhum acesso a memria necessrio Rpido Intervalo de definio dos operandos limitado

Endereamento Imediato
Instruo : ADD 5 codop Operando

Acumulador +

Endereamento Direto
O campo de endereo contem o endereo do operando Endereo Efetivo (EE) = Valor do campo A Ex. ADD A
Procura na posio A da memria pelo operando Adiciona o contedo posio A de memria ao acumulador Um nico acesso a memria na busca do operando

No h necessidade de clculos adicionais para encontrar o endereo efetivo Espao de endereamento limitado pelo campo

Endereamento direto
Instruo : ADD A codop Endereo A Memria

Acumulador +

Operando

Endereamento Indireto (1)


O Campo de endereo aponta para uma posio de memria que contem o endereo do operando Endereo Efetivo EE = Contedo da posio (A)
Ex. ADD (A) Busca em A, encontra o endereo do operando (A) e Busca em (A) pelo operando Adiciona o contedo do endereo efetivo ao acumulador

Endereamento Indireto (2)


Grande espao de endereamento 2n onde n = largura da palavra Mltiplos acessos a memria Execuo mais lenta

Endereamento Indireto
Instruo : ADD (A) codop Endereo A Memria Endereo do operando

Acumulador +

Operando

Endereamento por registrador (1)


Operando se encontra em um registrador indicado no campo de endereo da instruo EE = R Nmero de registradores limitado O campo de endereo no necessita ser grande
Pequenas instrues Busca da instruo mais rpida

Endereamento por registrador (2)


No h acesso a memria Execuo muito rpida Espao de endereamento muito limitado Mais registradores contribui com o desempenho
Requer bons compiladores ou boa programao assembly

Endereamento por registrador


Instruo : ADD R codop Endereo do registrador R Registradores

Acumulador +

Operando

Endereamento Registrador Indireto


Endereamento Indireto EE = (R) O operando est na posio de memria apontada pelo do registrador indicado no campo de endereamento Espao de endereamento (2n) Um acesso a memria

Endereamento Registrador Indeireto


Instruo : ADD (R) codop Endereo do registrador R Memria Registradores endereo Acumulador + Operando

Endereamento por deslocamento


O operando se encontra na memria em uma posio deslocada com relao ao endereo fornecido no campo de endereo EE = A + (R) O campo de endereo pode ter dois valores
A = Guarda o endereo de base R = Guarda o contedo do deslocamento Ou o contrrio O registrador pode ser um registrador default (economia de bits na instruo)

Endereamento por deslocamento (1)


Instruo : AAD A R codop Registrador R Endereo A Memria Registradores Endereo base Acumulador + Operando

Endereamento por deslocamento (2)


Instruo : ADD A codop Endereo A Memria Registradores Endereo base Acumulador + Operando

Endereamento por deslocamento


Os trs usos mais comuns do endereamento por deslocamento so
Endereamento relativo (PC) Endereamento registrador-base Endereamento indexado

Endereamento Relativo
Uma verso do endereamento indexado R = Contador de programa, PC EE = A + (PC) O operando se encontra deslocado do valor indicado no campo de endereo da instruo, com relao ao endereo apontado por PC Uso:
Localidade de referencias cache

Endereamento Registrador-Base
Idntico ao endereamento por deslocamento A contm o deslocamento R contem o endereo de base R pode ser implcito ou explcito Ex. registradores de segmento no 80x86

Endereamento Indexado
A = Base R = Deslocamento EE = A + R Uso em acesso a arrays
EE = A + R R++

Indexao indireta
Ps-indexao: indexao feita depois de endereamento indireto EE = (A) + (R) Pr-indexao: indexao feita antes do endereamento indireto EE = (A+(R))

Endereamento de Pilha
O operando (implicitamente) o topo da pilha EX.
ADD Desempilhas e adiciona os dois itens do topo da pilha

Formatos de Instruo
Layout dos bits de uma instruo Inclui o codop Inclui (implcita ou explicitamente) operandos Normalmente em um conjunto de instrues h mais de um formato de instruo

Largura da instruo
Critrios para projeto de formatos:
Taxa de transferncia da memria Tamanho da memria Organizao da memria (largura da palavra) Estrutura do barramento Complexidade da CPU Velocidade da CPU

Compromisso entre a completude o conjunto de instrues e o espao necessrio em memria

Alocao de Bits
Nmero de modos de endereamento Nmero de operandos Registradores versus Memria Nmero de registradores visveis Espao de endereamento Granularidade de endereamento