Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentaçã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 Tema da Apresentação AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES * ADD op1,op2,op3 MOV op1,op2 ADD R, op1 JNZ op1 Exemplos de Instruções Tema da Apresentação 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? EXEMPLO Tema da Apresentação 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? EXEMPLO Solução: 64 = 26 , logo são necessários 6 bits Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 ... Tema da Apresentação 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 Tema da Apresentação 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. EXERCÍCIOS A instrução possui o modo direto e o operando possui o valor 15B9. A instrução usa o modo imediato e o operando possui o valor 15BA. A instrução usa o modo indireto e o operando possui o valor 15BB. Tema da Apresentação 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. 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES * NeanderWin LINK: 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). Tema da Apresentação 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). Tema da Apresentação AULA 7 – INSTRUÇÕES ORGANIZAÇÃO DE COMPUTADORES * NeanderWin Tema da Apresentação 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. Tema da Apresentação * * * * * * *
Compartilhar