22
Arquitetura e Organização de Computadores Profª M.Angelica C. de A. 1 Conjunto de Instruções Baseado no Capítulo 8 do livro do Mário Monteiro

Capítulo 8 - Conjunto de Instruções.ppt

Embed Size (px)

Citation preview

  • Conjunto de Instrues

    Baseado no Captulo 8 do livro do Mrio Monteiro

    AORG- Arquitetura e Organizao de Computadores

  • Execuo de instruesOs processadores funcionam atravs de ordens simples e bsicas tais como: efetuar soma de dois nmeros mover um dado de um local para outro adicionar 1 ao valor de um numero etc. Estas ordens so transmitidas ao hardware para serem interpretadas e executadas por meio de sinais eltricos que representam o 1 e o 0, ou seja por um conjunto de bits que formam a INSTRUO DE MQUINA.

    AORG- Arquitetura e Organizao de Computadores

  • O campo cdigo da operaoToda instruo formada de pelo menos o Cdigo da Operaco e o campo do Operando

    Existem instrues com:cdigo da operao de tamanho fixocdigo da operao de tamanho varivel

    Cdigo da OPERANDOoperao

    AORG- Arquitetura e Organizao de Computadores

  • Formato de instrues

    AORG- Arquitetura e Organizao de Computadores

  • Formato de InstruesQuantidade de operandos:Instrues com 3 operandos ADD A,B,X (X) (A) + (B)

    Instrues com 2 operandos ADD A,B (A) (A) + (B)

    Instrues com 1 operando ADD A (ACC) (ACC) + (A)

    AORG- Arquitetura e Organizao de Computadores

  • AORG- Arquitetura e Organizao de Computadores

  • Exerccio Crie um conjunto de instrues de dois operandos, definidas em assembly, necessrias para a realizao de operaes aritmticas, e elabore programas para clculo das seguintes equaes:

    X=A+ (B * (C A) + ( D E/B ) *D)Y=(A + B * ( C D * ( E/ ( B F) ) + B ) * E )

    AORG- Arquitetura e Organizao de Computadores

  • Mtodos de Endereamento

    Endereamento de Memria As instrues de um computador digital, essencialmente, fazem transformaes sobre dados de um programa. Um dado, no entanto, acessvel apenas atravs de seu endereo.

    O acesso a estruturas de dados na memria requer mecanismos flexveis para manipular endereos. O endereo de uma instruo ou operando pode ser formado de vrias maneiras:- campo de endereo- aritmtica de endereo- convenes de endereamento

    AORG- Arquitetura e Organizao de Computadores

  • Mtodos de EndereamentoFinalidades dos mtodos de endereamento

    - Fornecer realocabilidade de programas na memria- Proteo(restringir programas de referenciarem-se a certas posies de memria)- Reduzir o espao necessrio para representar um endereo de uma instruo

    => As solues para o endereamento so encontradas na maioria das mquinas atuais. => Existem inmeras variaes de uma mquina para outra, mas o princpio bsico o mesmo. este princpio que vamos estudar.

    AORG- Arquitetura e Organizao de Computadores

  • Tipos de EndereamentoEndereamento ImediatoEndereamento DiretoEndereamento IndiretoEndereamento IndexadoEndereamento por registradorEndereamento base mais deslocamento

    Cdigo da operao Operando

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento ImediatoO campo do operando j o dado.Exemplo:

    No 1 caso 100 o dado que se deseja mover para um registrador (ACC por exemplo)No 2 caso a instruo JMP indica um desvio para o endereo 100 de memria.

    Utilizao: este tipo de endereamento til para inicializar o valor de um registrador com uma constante.

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento Direto

    Operando: Contm o endereo efetivo, ou seja, o endereo de uma posio de memria que contm o operando.

    EE(endereo efetivo) => Endereo onde se encontra o operando

    ADD 100 EE = 100 Operando=20 Obs: Neste caso 100 o endereo efetivo (EE) e 20 o operando isto o valor a ser manipulado.Cdigo da operao Operando

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento IndiretoEndereamento Indireto: (faz dois acessos a memria) Operando: contm o endereo de uma posio de memria que contm o endereo efetivo.

    Exemplo: soma 100 Neste exemplo, o campo do operando da instruo igual a 100. O endereo efetivo (EE) o contedo da posio 100. END Contedo EE = (100) EE = 123 OPE = 20

    AORG- Arquitetura e Organizao de Computadores

  • Comparao entre os 3 modos de endereamento

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento IndexadoEste mtodo permite alterar o endereo especificado pelo campo END atravsde sua soma com o contedo de um registrador especial, chamado de INDEXADOR ou REGISTRADOR X.

    EE = valor do campo END + contedo de XEE= 100 + 5

    Utilizao: acesso seqencial a elementos de um vetor.Exemplo: reg. X = 5 105 11 106 14 107 13108 16

    Obs: Para acessar as posies 106,107,108 basta incrementar o REG. X que neste caso age como um contador.EE=105+

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento por Registrador

    ADD R1 R28bits 4 bits4bitsNeste caso o endereo mencionado na instruo de um registrador e no de uma posio de memria.Vantagem: Reduz o tamanho da instruo pois a quantidade de bits necessria para indicar o numero do registrador menor do que a quantidade necessria para indicar as posies de memria da mquina.H duas maneiras de empregar o modo de endereamento por registrador: Modo por registrador direto Modo por registrador indireto

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento Base mais Deslocamento Este tipo de endereamento tem o modo semelhante ao modo indexado, visto que o endereo de acesso uma clula de memria se obtm atravs da soma de dois valores, um inserido no campo deslocamento e o outro valor inserido em um determinado registrador denominado registrador-base ou registrador de segmento.Cdigo REG DeslocamentoOperao BASE 4 bits12 bits

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento Base mais Deslocamento (cont.)

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento Indireto Ps-Indexado

    Neste caso, obtm-se o endereo como se s houvesse o endereamento indireto. Aps achar o suposto EE, soma-se a ele o valor doregistrador X.

    Exemplo:

    EE = (END) + X (Reg. X = 5) EE = (100) + 5 EE = 200 + 5 EE = 205 Operando=(205) = 40

    AORG- Arquitetura e Organizao de Computadores

  • Endereamento Indireto Pr-Indexado Neste caso o endereamento ou comeo de uma cadeia, dado por: EE = (END + X) Exemplo: Reg. X = 5 Memria EE = (100.+ 5) = (105) EE = 200 Operando = (200) = 30

    AORG- Arquitetura e Organizao de Computadores

  • Exerccios (ver livro)

    AORG- Arquitetura e Organizao de Computadores

  • Exerccios do Captulo 8

    5- Considere um computador com processador constitudo de um RI com 24 bits, CI e REM de 12 bits, UAL,UC e vrios registradores de emprego geral. Esse computador tem um conjunto de 256 instrues de formato nico, mostrado a seguir, e modo de endereamento direto, indireto e por registrador. C.OP. R1 R2 Operando a- Quantos registradores de emprego geral podem ser endereados nesse processador?b- Supondo duas instrues A e B , em que a instruo A acessa a MP no modo indireto e a instruo B acessa a MP no modo por registrador (modalidade indireta) qual delas executa seu ciclo de instruo mais rpido ? Porque?

    AORG- Arquitetura e Organizao de Computadores