Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 1 Conjunto de Instruções Baseado no Capítulo 8 do livro do Mário Monteiro Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 2 Execução de instruções • Os processadores funcionam através de ordens simples e básicas tais como: – efetuar soma de dois números – mover um dado de um local para outro – adicionar 1 ao valor de um numero – etc. • Estas ordens são transmitidas ao hardware para serem interpretadas e executadas por meio de sinais elétricos que representam o 1 e o 0, ou seja por um conjunto de bits que formam a INSTRUÇÃO DE MÁQUINA. Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 3 O campo código da operação • Toda instrução é formada de pelo menos o Código da Operacão e o campo do Operando • Existem instruções com: – código da operação de tamanho fixo – código da operação de tamanho variável Código da OPERANDO operação Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 4 Formato de instruções Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 5 Formato de Instruções Quantidade de operandos: • Instruções com 3 operandos ADD A,B,X (X) (A) + (B) • Instruções com 2 operandos ADD A,B (A) (A) + (B) • Instruções com 1 operando ADD A (ACC) (ACC) + (A) Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 6 Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 7 Exercício Crie um conjunto de instruções de dois operandos, definidas em assembly, necessárias para a realização de operações aritméticas, e elabore programas para cálculo das seguintes equações: a) X=A+ (B * (C – A) + ( D – E/B ) *D) b) Y=(A + B * ( C – D * ( E/ ( B – F) ) + B ) * E ) Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 8 Métodos de Endereçamento Endereçamento de Memória As instruções de um computador digital, essencialmente, fazem transformações sobre dados de um programa. Um dado, no entanto, é acessível apenas através de seu endereço. O acesso a estruturas de dados na memória requer mecanismos flexíveis para manipular endereços. O endereço de uma instrução ou operando pode ser formado de várias maneiras: - campo de endereço - aritmética de endereço - convenções de endereçamento Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 9 Métodos de Endereçamento Finalidades dos métodos de endereçamento - Fornecer realocabilidade de programas na memória - Proteção(restringir programas de referenciarem-se a certas posições de memória) - Reduzir o espaço necessário para representar um endereço de uma instrução => As soluções para o endereçamento são encontradas na maioria das máquinas atuais. => Existem inúmeras variações de uma máquina para outra, mas o princípio básico é o mesmo. É este princípio que vamos estudar. Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 10 Tipos de Endereçamento • Endereçamento Imediato • Endereçamento Direto • Endereçamento Indireto • Endereçamento Indexado • Endereçamento por registrador • Endereçamento base mais deslocamento Código da operação Operando Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 11 Endereçamento 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 instrução JMP indica um desvio para o endereço 100 de memória. Utilização: este tipo de endereçamento é útil para inicializar o valor de um registrador com uma constante. LDA 100 JMP 100 Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 12 Endereçamento Direto Operando: Contém o endereço efetivo, ou seja, o endereço de uma posição de memória que contém o operando. EE(endereço efetivo) => Endereço onde se encontra o operando ADD 100 EE = 100 Operando=20 Obs: Neste caso 100 é o endereço efetivo (EE) e 20 é o operando isto é o valor a ser manipulado. Código da operação Operando Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 13 Endereçamento Indireto Endereçamento Indireto: (faz dois acessos a memória) Operando: contém o endereço de uma posição de memória que contém o endereço efetivo. Exemplo: soma 100 Neste exemplo, o campo do operando da instrução é igual a 100. O endereço efetivo (EE) é o conteúdo da posição 100. END Conteúdo EE = (100) EE = 123 OPE = 20 100 123 123 20 Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 14 Comparação entre os 3 modos de endereçamento Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 15 Endereçamento Indexado Este método permite alterar o endereço especificado pelo campo END através de sua soma com o conteúdo de um registrador especial, chamado de INDEXADOR ou REGISTRADOR X. EE = valor do campo END + conteúdo de X EE= 100 + 5 Utilização: acesso seqüencial a elementos de um vetor. Exemplo: reg. X = 5 105 11 106 14 107 13 108 16 Obs: Para acessar as posições 106,107,108 basta incrementar o REG. X que neste caso age como um contador. ADD 100 EE=105 + Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 16 Endereçamento por Registrador ADD R1 R2 8bits 4 bits 4bits Neste caso o endereço mencionado na instrução é de um registrador e não de uma posição de memória. Vantagem: Reduz o tamanho da instrução pois a quantidade de bits necessária para indicar o numero do registrador é menor do que a quantidade necessária para indicar as posições de memória da máquina. Há duas maneiras de empregar o modo de endereçamento por registrador: • Modo por registrador direto • Modo por registrador indireto Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 17 Endereçamento Base mais Deslocamento Este tipo de endereçamento tem o modo semelhante ao modo indexado, visto que o endereço de acesso á uma célula de memória se obtém através 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. Código REG Deslocamento Operação BASE 4 bits 12 bits Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 18 Endereçamento Base mais Deslocamento (cont.) Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 19 Endereçamento Indireto Pós-Indexado Neste caso, obtém-se o endereço como se só houvesse o endereçamento indireto. Após 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 Organização de Computadores Profª M.Angelica C. de A. Cardieri 20 Endereçamento Indireto Pré-Indexado Neste caso o endereçamento ou começo de uma cadeia, é dado por: EE = (END + X) Exemplo: Reg. X = 5 Memória EE = (100.+ 5) = (105) EE = 200 Operando = (200) = 30 ADD 100 105 200 200 30 Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 21 Exercícios (ver livro) • Arquitetura e Organização de Computadores Profª M.Angelica C. de A. Cardieri 22 Exercícios do Capítulo 8 5- Considere um computador com processador constituído de um RI com 24 bits, CI e REM de 12 bits, UAL,UC e vários registradoresde emprego geral. Esse computador tem um conjunto de 256 instruções de formato único, mostrado a seguir, e modo de endereçamento direto, indireto e por registrador. C.OP. R1 R2 Operando a- Quantos registradores de emprego geral podem ser endereçados nesse processador? b- Supondo duas instruções A e B , em que a instrução A acessa a MP no modo indireto e a instrução B acessa a MP no modo por registrador (modalidade indireta) qual delas executa seu ciclo de instrução mais rápido ? Porque? Conjunto de Instruções Execução de instruções O campo código da operação Formato de instruções Formato de Instruções Número do slide 6 Exercício �Métodos de Endereçamento� Métodos de Endereçamento Tipos de Endereçamento Endereçamento Imediato Endereçamento Direto Endereçamento Indireto Comparação entre os 3 modos de endereçamento Endereçamento Indexado Endereçamento por Registrador Endereçamento Base mais Deslocamento Endereçamento Base mais Deslocamento (cont.) Endereçamento Indireto Pós-Indexado Endereçamento Indireto Pré-Indexado Exercícios (ver livro) ���Exercícios do Capítulo 8��
Compartilhar