Baseado no Captulo 8 do livro do Mrio Monteiro Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 2 Execuo de instrues Os 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. Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 3 O campo cdigo da operao Toda instruo formada de pelo menos o Cdigo da Operaco e o campo do Operando
Existem instrues com: cdigo da operao de tamanho fixo cdigo da operao de tamanho varivel
Cdigo da OPERANDO operao Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 4 Formato de instrues Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 5 Formato de Instrues Quantidade 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)
Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 6 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 7 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:
a) X=A+ (B * (C A) + ( D E/B ) *D) b) Y=(A + B * ( C D * ( E/ ( B F) ) + B ) * E ) Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 8
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
Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 9 Mtodos de Endereamento Finalidades 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.
Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 10 Tipos de Endereamento Endereamento Imediato Endereamento Direto Endereamento Indireto Endereamento Indexado Endereamento por registrador Endereamento base mais deslocamento
Cdigo da operao Operando Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 11 Endereamento Imediato O 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. LDA 100 JMP 100 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 12 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 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 13 Endereamento Indireto Endereamento 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
100 123 123 20 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 14 Comparao entre os 3 modos de endereamento Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 15 Endereamento Indexado Este mtodo permite alterar o endereo especificado pelo campo END atravs de sua soma com o contedo de um registrador especial, chamado de INDEXADOR ou REGISTRADOR X.
EE = valor do campo END + contedo de X EE= 100 + 5
Utilizao: acesso seqencial a elementos de um vetor. Exemplo: reg. X = 5 105 11 106 14 107 13 108 16
Obs: Para acessar as posies 106,107,108 basta incrementar o REG. X que neste caso age como um contador. ADD 100 EE=105 + Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 16 Endereamento por Registrador
ADD R1 R2 8bits 4 bits 4bits Neste 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 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 17 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 Deslocamento Operao BASE 4 bits 12 bits Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 18 Endereamento Base mais Deslocamento (cont.)
Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 19 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 do registrador X.
Exemplo:
EE = (END) + X (Reg. X = 5) EE = (100) + 5 EE = 200 + 5 EE = 205 Operando=(205) = 40
100 200 205 40 ADD 100 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 20 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 ADD 100 105 200 200 30 Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 21 Exerccios (ver livro)
Arquitetura e Organizao de Computadores Prof M.Angelica C. de A. Cardieri 22
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?