Parte 1 Organizao de Computadores 6 Modos de






















- Slides: 22
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, 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. . . l IC - UFF
Imediato Instrução COp IC - UFF Operando
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
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
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
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 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
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
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 = 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 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 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
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 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