EA869 Modos de Endereçamento Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Reconhecer em uma instrução Assembly onde estão os dados que devem ser manipulados. Conhecer os diversos modos de endereçamento. Conhecer os modos processador ARM. de endereçamento existentes no 2 Introdução Vimos anteriormente como é possível melhorar o desempenho de um processador a partir de uma técnica de execução paralela de instruções: a pipeline. Vimos também que processadores RISC exploram mais facilmente esta técnica, uma vez que o mapeamento é direto e a execução das instruções leva o mesmo tempo em ciclos de relógio. Tal fato deve-se, principalmente, por processadores RISC acessarem a memória apenas com instruções especiais. As instruções de processamento de dados não permitem escrita e leitura da memória; ou seja, não a endereçam. Já processadores CISC são capazes de acessar a memória a partir de qualquer instrução; isto é, suas instruções podem endereçar a memória. Ao ler ou escrever uma instrução Assembly, precisamos conhecer os modos de endereçamento do processador para sabermos onde está o dado que queremos acessar. MODOS DE ENDEREÇAMENTO 3 Introdução Onde você está? ENDEREÇO Todo dado tem associado a ele um endereço. Só conseguimos acessá-lo se soubermos qual é este endereço. Vamos supor que eu queira entrar em contato com uma pessoa e me passam a seguinte informação: @gmail.com Avenida(19) 1, 9375 5657 Barão Geraldo, Campinas-SP HTTP://WWW.FACEBOOK.COM/ Como encontrá-la? E-MAIL CASA TELEFONE FACEBOOK Toda informação possui um “rótulo” que indica onde o dado está ou, ao menos, como acessá-lo. Estas formas de acesso constituem os chamados modos de endereçamento. 4 Introdução Onde estão os rótulos que indicam os modos de endereçamento? Na própria instrução! • Em Linguagem de Máquina C.O. OP1 MODO Indica qual a forma de endereçamento do operando OP2 ... END-b Endereço-base do operando Conteúdo-base para o cálculo do endereço do dado. Pode ser: - O próprio endereço do dado - O próprio dado - Deslocamento - Registrador, etc 5 Introdução Onde estão os rótulos que indicam os modos de endereçamento? Na própria instrução! • Em Linguagem Simbólica (Assembly) C.O. (OP1) Rótulos indicarão o modo # OP2 + Nossa meta agora será conhecer estes rótulos e identificar onde está o dado que queremos acessar! 6 Endereço Efetivo • Antes de identificarmos os modos de endereçamento em uma instrução, precisamos conhecer onde está o endereço efetivo de um dado. Endereço Efetivo (EE) É o endereço real, ou final, de um dado a ser manipulado Onde está este EE? MODO DIRETO O EE está na própria instrução C.O. MODO END-b MEMÓRIA operando EE MODO INDIRETO O EE está no endereço especificado na instrução C.O. MODO END-b MEMÓRIA EE operando 7