Baixe o app para aproveitar ainda mais
Prévia do material em texto
ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES ESTRUTURA DA DISCIPLINA AULA 1 – Fundamentos AULA 2 – Sistemas de Numeração AULA 3 – Representação de dados AULA 4 – Lógica Digital AULA 5 – Álgebra Booleana AULA 6 – Modelo de Von Neumann AULA 7 – Conjunto de Instruções AULA 8 – Processador AULA 9 – Memória AULA 10 – Dispositivos de Entrada e Saída AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES Conteúdo Programático AULA 7 Tipos de Instruções Formato de instruções Modos de endereçamento AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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ção AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES ADD op1,op2,op3 MOV op1,op2 ADD R, op1 JNZ op1 ADD OP1 OP2 OP3 MOV OP1 OP2 ADD R OP1 JNZ OP1 Exemplos de Instruções AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir? OPCODE OPER1 OPER2 ....OPERn ? EXEMPLO AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir? OPCODE OPER1 OPER2 ....OPERn ? EXEMPLO Solução: 64 = 26 , logo são necessários 6 bits AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 Revendo o código ... AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 modos de endereçamento AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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) A instrução possui o modo direto e o operando possui o valor 15B9. b) A instrução usa o modo imediato e o operando possui o valor 15BA. c) A instrução usa o modo indireto e o operando possui o valor 15BB. AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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) 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 c) A instrução usa o modo indireto e o operando possui o valor 15BB. 75 AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 EXERCÍCIOS AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 Em que endereço será armazenado o valor 5 que está no AC? Que instrução inicial teríamos que acrescentar ao programa para que AC fosse iniciado com o conteúdo do endereço 32h? EXERCÍCIOS AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES 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 Em que endereço será armazenado o valor 5 que está no AC? 60h 302 0010 01100000 Que instrução inicial teríamos que acrescentar ao programa para que AC fosse iniciado com o conteúdo do endereço 32h? 0001 Carrega AC da memória 0001 0011 0010 EXERCÍCIOS AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES NeanderWinLINK: http://www.dcc.ufrj.br/~gabriel/neander.php As instruções podem ter um ou dois bytes. Nas instruções com apenas um byte, os 4 bits mais significativos contém o código da operação. Nas instruções com dois bytes (referência a um operando na memória) o segundo byte contém o endereço de memória deste operando. 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). AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES NeanderWin - Modos de Endereçamento - imediato O segundo byte da instrução é o operando. A única instrução que usa este modo de endereçamento é a LDI. - direto O segundo byte da instrução é o endereço de memória do operando. - indireto O segundo byte da instrução contém o endereço de memória onde está o endereço do operando (ou seja, o segundo byte da instrução é o endereço do ponteiro para o operando). Para indicar que um operando é indireto, deve-se precedê-lo pela letra "@" (at). AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES NeanderWin AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES RESUMINDO • Cada processador possui um conjunto de instruções específicos • As instruções são classificadas em: lógico-aritméticas, controle e movimentação de dados. •As instruções possuem quantidade variável de operandos. • O modo de endereçamento define o significado dos operandos de endereço.
Compartilhar