Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ORGANIZAÇÃO DE COMPUTADORES SIMONE MARKENSON Rio de Janeiro, maio de 2011 1 CONTEÚDO DA AULA INSTRUÇÕES São as ordens que o computador entende Cada família de processadores tem o seu próprio conjunto de instruções instruction set Quem usa essas instruções? Programador Assembly Compiladores mov ax,#0x7cc ; posiciona na metade da tela mov DI,ax ; seg es mov [DI],#0x9f4F ; O seg es mov [DI+2],#0x9f4C ; L seg es mov [DI+4],#0x9f41 ; A seg es mov [DI+6],#0x9f21 ; ! loop1: jmp loop1 INSTRUÇÕES Ninguém programa diretamente utilizando as instruções do processador! Os programas são desenvolvidos em linguagens de alto nível. Instruções podem ter formatos diferentes, dependendo do número de operandos. ATENÇÃO Instruções Aritméticas e Lógicas Instruções de Movimentação de Dados Instruções de Transferências de Controle Transferem dados entre registradores ou entre registrador e memória principal (MOV) Realizam operações aritméticas (ADD, SUB ...) e lógicas (AND, OR) Executam o desvio do fluxo sequencial do código (JMP) TIPOS DE INSTRUÇÕES CÓDIGO DA OPERAÇÃO OPERANDO(S) Indica que operação será executada. A quantidade de bits desse código determina o número máximo de instruções Indica o(s) dado(s) que será(ão) manipulado(s): números, caracteres, endereços FORMATO DE UMA INSTRUÇÃO ADD op1,op2,op3 MOV op1,op2 ADD R, op1 JZN op1 ADD OP1 OP2 OP3 MOV OP1 OP2 ADD R OP1 JNZ OP1 EXEMPLOS DE INSTRUÇÕES Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir? OPCODE OPER1 OPER2 ....OPERn ? EXEMPLO Registradores de uso geral para armazenamento temporários dos dados que serão processados Exemplos: AX, BX Registradores de uso específico para funções pré-definidas de controle Exemplos: IR, PSW, PC REGISTRADORES IMEDIATO DIRETO INDIRETO Utiliza um valor como operando e não um endereço na memória ADD #A,R1 Indica o endereço de memória onde está o operando Indica um ponteiro para o operando ADD (A), R1 ADD (R1),R2 MODOS DE ENDEREÇAMENTO O endereço se refere a um registrador ADD R,OP1 Obtido pela soma do operando com o conteúdo de um registrador base ADD (A)R1, R2 REGISTRADOR DESLOCAMENTO MODOS DE ENDEREÇAMENTO IMEDIATO: sem referência à memória limitado e pouco flexível DIRETO: simples espaço de endereçamento limitado INDIRETO: espaço de endereçamento grande múltiplas referências à memória REGISTRADOR: sem referência à memória espaço de endereçamento limitado DESLOCAMENTO: Flexibilidade complexidade RESUMO DE ENDEREÇAMENTO Um processador possui um conjunto de instruções que emprega vários modos de endereçamento. Considere que a memória principal possui endereços de 16 bits e o mapa de memória abaixo. Para cada item diga qual o valor obtido. ENDEREÇO CONTEÚDO 15B9 7C 15BA 82 15BB 15 15BC BE 15BD 9A 15BE 75 EXERCÍCIOS A instrução possui o modo direto e o operando possui o valor 15B9: 7C b) A instrução usa o modo imediato e o operando possui o valor 15BA: 15BA A instrução usa o modo indireto e o operando possui o valor 15BB: 75 Um processador possui um conjunto de instruções que emprega vários modos de endereçamento. Considere que a memória principal possui endereços de 16 bits e o mapa de memória abaixo. Para cada item diga qual o valor obtido. ENDEREÇO CONTEÚDO 15B9 7C 15BA 82 15BB 15 15BC BE 15BD 9A 15BE 75 EXERCÍCIOS A instrução possui o modo direto e o operando possui o valor 15B9: 7C b) A instrução usa o modo imediato e o operando possui o valor 15BA: 15BA A instrução usa o modo indireto e o operando possui o valor 15BB: 75 REGISTRO DE FREQUÊNCIA Considere uma máquina hipotética com as seguintes características: Instruções 0001 Carrega AC da memória 0010 Armazena AC na memória 0101 Adiciona ao acumulador AC o valor da memória 0011 Carrega AC (acumulador) do dispositivo de I/O 0111 Armazena AC no dispositivo de I/O Endereço de 12 bits identifica um dispositivo externo sendo 4 bits para código da operação e os demais para endereço O dispositivo 5 fornece o valor 3 PC (Program Counter) inicial contém o valor 300 O acumulador AC está inicialmente vazio O endereço 50h possui o valor 2 armazenado Programa em execução End. Instrução 300 0011 00000101 301 0101 01010000 302 0010 01100000 15 REGISTRO DE FREQUÊNCIA A primeira instrução executada é: 1) Carrega o valor 2 no acumulador AC 2) Carrega o valor 3 no acumulador AC 3) Carrega o valor 50 no acumulador AC 4) Inicializa os dispositivos e endereços de memória O valor final armazenado no acumulador será: 1) 5 2) 2 3) 0 4) 3 16 EXERCÍCIOS Em que endereço será armazenado o valor 5 que está no AC? Que instrução teríamos que acrescentar ao programa para que o endereço 50h recebesse o valor guardado no AC? 17 NeanderWin Características Largura de dados e endereços de 8 bits; Dados representados em complemento a dois; 1 acumulador de 8 bits (AC); 1 apontador de instruções de 8 bits (PC); 1 registrador de código de condição com 2 bits: negativo (N) e zero (Z). LINK: http://www.dcc.ufrj.br/~gabriel/neander.php 18
Compartilhar