O endereço armazenado no contador de programa é representado pelo símbolo X1. A instrução armazenada em X1 tem uma parte de endereço (referência de operando) X2. O operando necessário para executar a instrução é armazenado na palavra de memória com endereço X3. Um registrador indexador contém o valor X4. Qual é a relação entre essas diversas grandezas se o modo de endereçamento for
dexado?
dexado?
Passo 1
O enunciado dá as seguintes informações e pede uma relação entre elas:
- O endereço armazenado no contador de programa é
. - A instrução armazenada em
tem uma parte de endereço (referência de operando) . - O operando necessário para executar a instrução está na palavra de memória com endereço
. - Um registrador indexador contém o valor
.
O que nos pedem: relacionar, , e quando o modo de endereçamento for indexado (dexado).
Passo 2
O que significa “modo de endereçamento indexado” (explicação didática e sem pular etapas).
- Em muitas arquiteturas, uma instrução contém um campo que indica um endereço-base ou deslocamento; chamamos esse campo de “referência de operando”. Aqui esse campo é
(extraído da instrução que fica em ). - O registrador indexador contém um valor que serve para ajustar esse endereço-base em tempo de execução; aqui esse valor é
. - A ideia é simples: o endereço efetivo (onde o operando realmente está na memória) é obtido somando o campo da instrução com o conteúdo do indexador. Essa soma evita que o programador precise reescrever instruções para acessar elementos consecutivos (por exemplo, em vetores).
Passo 3
Definição e fórmula do endereço efetivo (EA).
- Denotamos por “endereço efetivo” o endereço na memória usado para buscar o operando. Vamos chamar esse endereço efetivo de EA.
- A regra do modo indexado é:
- No nosso problema, o campo de endereço é
e o conteúdo do indexador é . Portanto a fórmula fica:
Passo 4
Relacionando EA com
(ligando à informação do enunciado).
- O enunciado diz que o operando está na palavra de memória com endereço
. Isso quer dizer que o endereço efetivo calculado pelo modo indexado deve coincidir com , pois é aí que se encontra o operando. - Logo, igualando:
Passo 5
Combinação das duas fórmulas para obter a relação final.
- Substituindo a expressão de
da Passo 3 na igualdade do Passo 4, obtemos:
- Essa é a relação direta que liga o campo de endereço da instrução, o registrador indexador e o endereço onde o operando está.
Passo 6
Observações práticas e lógico-operacionais (como usar isso numa prova).
- A instrução está em
; dentro dela está armazenado . Em tempo de execução lê-se , soma-se com (o indexador) e obtém-se , que é o endereço da memória onde está o operando. - Em notação de acesso à memória, o operando seria lido como
ou . - Dica para a prova: se perguntarem “onde está o operando?” responda
e mostre o cálculo . Se pedirem “o que há em ?” responda que é a instrução cujo campo de endereço é .
Resposta
A instrução em
contém o campo de endereço
; o operando está em
.