Parte 1 Organizao de Computadores 6 Modos de

  • Slides: 22
Download presentation
Parte 1: Organização de Computadores 6. Modos de endereçamento Texto base: capítulo 10 Computer

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? l Em um formato de instrução típico,

Acessando dados Questão: como especificar os operandos? l Em um formato de instrução típico, o espaço de endereçamento é bem limitado: l n n n IC - UFF COp queremos endereçar toda Endereço a memória virtual queremos endereçar determinadas estruturas de dados mais facilmente queremos rapidez, enfim, queremos. . .

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

Modos de endereçamento Imediato l Direto l Indireto l Registrador indireto l Deslocamento l. . . l IC - UFF

Imediato Instrução COp IC - UFF Operando

Imediato Instrução COp IC - UFF Operando

Modo imediato Operando é parte da instrução: campo de endereço l Nenhum outro acesso

Modo imediato Operando é parte da instrução: campo de endereço l Nenhum outro acesso à memória é feito além da busca da instrução l Maior rapidez l Tamanho dos operandos é limitado ao tamanho do campo de endereços l IC - UFF

Direto Instrução COp End Operando IC - UFF Memória

Direto Instrução COp End Operando IC - UFF Memória

Modo direto Campo de endereço contém o endereço efetivo do operando l Só uma

Modo direto Campo de endereço contém o endereço efetivo do operando l Só uma referência à memória é feita l Espaço de endereçamento limitado l IC - UFF

Indireto Instrução COp End Apontador Operando IC - UFF Memória

Indireto Instrução COp End Apontador Operando IC - UFF Memória

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

Modo indireto Campo de endereço referencia um apontador em memória, que referencia o operando l Para uma palavra de tamanho N, um espaço de endereçamento de 2 N é acessível l Duas referências à memória são feitas: mais lento l IC - UFF

Registrador Instrução COp Operando IC - UFF Registradores R

Registrador Instrução COp Operando IC - UFF Registradores R

Modo registrador (1) Similar ao endereçamento direto, contudo o campo de endereço refere-se a

Modo registrador (1) Similar ao endereçamento direto, contudo o campo de endereço refere-se a um registrador em vez de memória l Como há número limitado de registradores, campo de endereço (por registrador) é pequeno l Não há necessidade de referências à memória maior rapidez l IC - UFF

Modo registrador (2) É importante que dados sejam mantidos nos registradores: se trazidos e

Modo registrador (2) É importante que dados sejam mantidos nos registradores: se trazidos e levados de/para a memória ineficência! l Papel do compilador e do programador em linguagem de montagem l IC - UFF

Registrador indireto Instrução COp R Operando Apontador IC - UFF Registradores Memória

Registrador indireto Instrução COp R Operando Apontador IC - UFF Registradores Memória

Modo registrador indireto Similar ao endereçamento indireto l Operando é obtido por referência de

Modo registrador indireto Similar ao endereçamento indireto l Operando é obtido por referência de um apontador mantido em registrador l Maior espaço de endereçamento (2 N) que o modo registrador l Uma referência de memória a menos que o modo indireto l IC - UFF

Deslocamento Instrução COp R End Operando Apontador IC - UFF Registradores Memória

Deslocamento Instrução COp R End Operando Apontador IC - UFF Registradores Memória

Modo deslocamento l O endereço efetivo é obtido como: n l End. Ef =

Modo deslocamento l O endereço efetivo é obtido como: n l End. Ef = End + (R) Os três modos mais comuns são: n n n IC - UFF endereçamento relativo endereçamento registrador base endereçamento indexado

Endereçamento relativo l Há uma referência implícita ao contador de programa n End. Ef

Endereçamento relativo l Há uma referência implícita ao contador de programa n End. Ef = End + (PC) Como referência é implícita, não há campo R campo End pode ser maior l Explora o conceito de localidade de referências l IC - UFF

Endereçamento registrador base O registrador contém o endereço base de memória l O campo

Endereçamento registrador base O registrador contém o endereço base de memória l O campo End contém um deslocamento em relação a essa base l Registrador pode ser implícito ou não l É uma forma conveniente de implementar segmentação (e. g. , 80 x 86) l IC - UFF

Endereçamento indexado Similar ao registrador base, contudo, campo de endereço pode ser maior l

Endereçamento indexado Similar ao registrador base, contudo, campo de endereço pode ser maior l O registrador contém o deslocamento l Interessante para acesso a arrays: há instruções da UCP para incremento de registradores! l Auto-indexação: incremento em um único ciclo de instrução l IC - UFF

Pilha Instrução Pilha Implícito Registrador IC - UFF Apontador da pilha Memória

Pilha Instrução Pilha Implícito Registrador IC - UFF Apontador da pilha Memória

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

Modo pilha É uma forma de endereçamento implícito l As instruções de máquina sempre atuam no(s) operando(s) do topo da pilha l IC - UFF

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

Formato das instruções Definição dos bits na instrução l Formato inclui o código de operação e os operandos l A alocação dos campos (bits) dependerá do número de modos de endereçamento, do número de operandos, . . . l Múltiplos formatos em um único conjunto de instruções l IC - UFF