22
IC - UFF Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

Embed Size (px)

Citation preview

Page 1: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Parte 1:Organização de Computadores

6. Modos de endereçamento

Texto base: capítulo 10

Computer Organization and Architecture

W. Stallings

Page 2: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Acessando dados

Questão: como especificar os operandos? Em um formato de instrução típico, o

espaço de endereçamento é bem limitado: queremos endereçar toda a memória virtual queremos endereçar determinadas estruturas

de dados mais facilmente queremos rapidez, enfim, queremos ...

COp Endereço

Page 3: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modos de endereçamento Imediato Direto Indireto Registrador Registrador indireto Deslocamento ...

Page 4: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Imediato

Operando

Instrução

COp

Page 5: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo imediato

Operando é parte da instrução: campo de endereço

Nenhum outro acesso à memória é feito além da busca da instrução

Maior rapidez Tamanho dos operandos é limitado ao

tamanho do campo de endereços

Page 6: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Direto

End

Memória

Instrução

Operando

COp

Page 7: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo direto

Campo de endereço contém o endereço efetivo do operando

Só uma referência à memória é feita Espaço de endereçamento limitado

Page 8: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Indireto

Instrução

End

Memória

Operando

COp

Apontador

Page 9: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo indireto

Campo de endereço referencia um apontador em memória, que referencia o operando

Para uma palavra de tamanho N, um espaço de endereçamento de 2N é acessível

Duas referências à memória são feitas: mais lento

Page 10: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Registrador

R

Registradores

Instrução

Operando

COp

Page 11: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo registrador (1) Similar ao endereçamento direto, contudo o

campo de endereço refere-se a um registrador em vez de memória

Como há número limitado de registradores, campo de endereço (por registrador) é pequeno

Não há necessidade de referências à memória maior rapidez

Page 12: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo registrador (2)

É importante que dados sejam mantidos nos registradores: se trazidos e levados de/para a memória ineficência!

Papel do compilador e do programador em linguagem de montagem

Page 13: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Registrador indireto

Operando

R

Registradores Memória

Instrução

COp

Apontador

Page 14: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo registrador indireto

Similar ao endereçamento indireto Operando é obtido por referência de um

apontador mantido em registrador Maior espaço de endereçamento (2N) que

o modo registrador Uma referência de memória a menos que

o modo indireto

Page 15: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Deslocamento

Operando

EndR

Registradores Memória

Instrução

Apontador

COp

Page 16: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo deslocamento

O endereço efetivo é obtido como: EndEf = End + (R)

Os três modos mais comuns são: endereçamento relativo endereçamento registrador base endereçamento indexado

Page 17: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Endereçamento relativo

Há uma referência implícita ao contador de programa EndEf = End + (PC)

Como referência é implícita, não há campo R campo End pode ser maior

Explora o conceito de localidade de referências

Page 18: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Endereçamento registrador base

O registrador contém o endereço base de memória

O campo End contém um deslocamento em relação a essa base

Registrador pode ser implícito ou não É uma forma conveniente de

implementar segmentação (e.g., 80x86)

Page 19: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Endereçamento indexado Similar ao registrador base, contudo, campo de

endereço pode ser maior O registrador contém o deslocamento Interessante para acesso a arrays: há

instruções da UCP para incremento de registradores!

Auto-indexação: incremento em um único ciclo de instrução

Page 20: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Pilha

Instrução

Implícito

Apontador dapilha

Pilha

Memória

Registrador

Page 21: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Modo pilha

É uma forma de endereçamento implícito As instruções de máquina sempre atuam

no(s) operando(s) do topo da pilha

Page 22: IC - UFF Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer Organization and Architecture W. Stallings

IC - UFF

Formato das instruções Definição dos bits na instrução Formato inclui o código de operação e os

operandos A alocação dos campos (bits) dependerá do

número de modos de endereçamento, do número de operandos, ...

Múltiplos formatos em um único conjunto de instruções