Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Organização de Computadores
6. Modos de endereçamento
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: COp Endereço
Indireto
Registrador
Registrador indireto
Deslocamento
IC - UFF ...
Imediato
Instrução
COp Operando
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
IC - UFF
Direto
Instrução
COp End
Operando
Memória
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
IC - UFF
Indireto
Instrução
COp End
Apontador
Operando
Memória
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
IC - UFF
Registrador
Instrução
COp R
Operando
Registradores
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
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
IC - UFF
Registrador indireto
Instrução
COp R
Operando
Apontador
Registradores Memória
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
IC - UFF
Deslocamento
Instrução
COp R End
Operando
Apontador
Registradores Memória
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
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
IC - UFF
Endereçamento registrador base
Instrução
Pilha
Implícito
Registrador
Apontador da Memória
IC - UFF pilha
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
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
IC - UFF