Baixe o app para aproveitar ainda mais
Prévia do material em texto
ENDEREÇAMENTO DE MEMÓRIA Fernando Cardeal fcardeal@gmail.com https://sites.google.com/site/fcardealifba 1 Resumo ENDEREÇAMENTO DE MEMÓRIA Os operandos das instruções podem conter o próprio dado a ser utilizado nas operações ou referências ao dado. Isso traz diferentes maneiras de representar e interpretar os formatos das instruções. Serão apresentados os principais modos de endereçamento. Modos de endereçamento Imediato; Direto; Indireto; Registrador; Indireto por registrador; Deslocamento; Pilha. 4 Nomenclatura Considere a seguinte nomenclatura que será utilizada nas descrições: A = Conteúdo de um campo de endereço dentro de uma instrução; R = Conteúdo se refere a um Registrador; EA = Endereço real (efetivo) do local que contém o operando referenciado; (X) = Conteúdo do local de memória X ou do registrador X. Endereçamento Imediato Forma mais simples, o valor do operando é colocado diretamente na instrução: OPERANDO = A O operando é o próprio dado. Útil para representar constantes ou definir valores iniciais de variáveis; Vantagem: não faz referência à memória, economizando ciclos de processamento; Desvantagem: o tamanho do número (valor do operando) é limitado ao tamanho do campo de endereço. Endereçamento Direto Outra forma bastante simples, pois o campo operando contém o ENDEREÇO efetivo do operando: EA = A Simples de implementar, pois não requer cálculos especiais para obter o operando; é pouco utilizada atualmente porque o espaço de endereços é limitado. No endereçamento direto o campo é menor do que o tamanho da palavra, limitando o intervalo de endereços. Endereçamento Indireto Uma solução para resolver a limitação do Endereçamento Direto é fazer com que o campo de endereço se refira a uma palavra na memória que, por sua vez, contém o endereço efetivo do operando. EA = (A) Os parênteses devem ser interpretados como “o conteúdo de ...” A principal vantagem é que para um endereço de tamanho N, 2N endereços estarão disponíveis. A principal desvantagem é que requer dois acessos de memória: O primeiro para obter o endereço efetivo; O segundo para obter o valor do operando. É possível ter endereçamento de indireto de vários níveis, ou seja, EA = (...(A)...) Endereçamento de Registradores Semelhante ao endereçamento direto. A diferença é que o campo de endereço se refere a um REGISTRADOR em vez de um endereço na Memória Principal. EA = R Vantagens: O campo de endereço na instrução é pequeno; Não precisa fazer referência à memória principal. Desvantagem: o espaço de endereçamento é limitado. Endereçamento Indireto por Registradores Assim como o Endereçamento de Registradores é análogo ao Endereçamento Direto, o Endereçamento Indireto por Registradores é análogo ao Endereçamento Indireto. A diferença é que o campo de endereços se referencia ao um Registrador. EA = (R) As vantagens e as limitações são basicamente as mesmas do Endereçamento Indireto. Tem uma vantagem extra: utiliza um acesso de memória a menos do que o Endereçamento Indireto. Endereçamento por Deslocamento É uma forma poderosa de endereçamento por combinar as capacidades do Endereçamento Direto com o Endereçamento Indireto de Registradores. EA = A + (R) Requer que a instrução tenha dois campos de endereço: Valor A usado diretamente para somar ao registrador; (R) – endereço do registrador cujo valor deve ser somado a A para opter o endereço do operando. Fornece grande flexibilidade ao sistema, mas a sua implementação é complexa. Principais utilizações: Endereçamento relativo (muito usado pelo PC ou CI); Endereçamento por registrador base; Indexação. Endereçamento de Pilha Uma pilha é uma estrutura de dados do tipo UEPS – Último a Entrar, Primeiro a Sair (LIFO – Last In, First Out) O endereçamento de Pilha é implícito, ou seja, as instruções não fazem referência direta à memória principal e sim ao TOPO da PILHA. Sua aplicabilidade é limitada. RESUMO DOS MODOS DE ENDEREÇAMENTO MODO ALGORITMO Principal VANTAGEM Principal DESVANTAGEM Imediato Operando = A Nenhuma referência de memória Magnitude do operando limitada Direto EA = A Simples Espaço de endereçamento limitado Indireto EA = (A) Espaço de endereçamento grande Múltiplas referências de memória Registrador EA = R Nenhuma referência de memória Espaço de endereçamento limitado Indireto por Registrador EA = (R) Espaço de endereçamento grande Referência extra de memória Deslocamento EA = A + (R) Flexibilidade Complexidade Pilha EA = topo da pilha Nenhuma referência de memória Aplicabilidade limitada Adaptado de Stallings (2010), p. 331 Fonte: Stallings (2010), p. 330 Referências STALLINGS, William. Arquitetura e Organização de Computadores. 8ª ed. São Paulo: Pearson Prentice Hall, 2010.
Compartilhar