A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ORGANIZAÇÃO DE COMPUTADORES

Apresentações semelhantes


Apresentação em tema: "ORGANIZAÇÃO DE COMPUTADORES"— Transcrição da apresentação:

1 ORGANIZAÇÃO DE COMPUTADORES
Aula 7 – Conjunto de Instruções

2 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

3 Conteúdo Programático AULA 7
Tipos de Instruções Formato de instruções Modos de endereçamento

4 INSTRUÇÕES mov ax,#0x7cc ; posiciona na metade da tela mov DI,ax ;
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 mov [DI+2],#0x9f4C ; L mov [DI+4],#0x9f41 ; A mov [DI+6],#0x9f21 ; ! loop1: jmp loop1

5 Tipos de Instrução Instruções Aritméticas e Lógicas Realizam operações aritméticas (ADD, SUB ...) e lógicas (AND, OR) Instruções de Movimentação de Dados Transferem dados entre registradores ou entre registrador e memória principal (MOV) Instruções de Transferências de Controle Executam o desvio do fluxo sequencial do código (JMP)

6 Formato de uma Instrução
Indica que operação será executada. A quantidade de bits desse código determina o número máximo de instruções CÓDIGO DA OPERAÇÃO Indica o(s) dado(s) que será(ão) manipulado(s): números, caracteres, endereços OPERANDO(S)

7 Exemplos de Instruções
ADD op1,op2,op3 MOV op1,op2 ADD R, op1 JNZ op1 ADD OP1 OP2 OP3 MOV OP1 OP2 ADD R OP1 JNZ OP1

8 Um determinado processador possui um conjunto de 64 instruções
Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir? EXEMPLO OPCODE OPER1 OPER2 ....OPERn ?

9 Um determinado processador possui um conjunto de 64 instruções
Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir? EXEMPLO OPCODE OPER1 OPER2 ....OPERn ? Solução: 64 = 26 , logo são necessários 6 bits

10 Registradores 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

11 Modos de Endereçamento
Utiliza um valor como operando e não um endereço na memória IMEDIATO ADD #A,R1 Indica o endereço de memória onde está o operando DIRETO ADD (A), R1 INDIRETO Indica um ponteiro para o operando ADD (R1),R2

12 Modos de Endereçamento
O endereço se refere a um registrador REGISTRADOR ADD R,OP1 Obtido pela soma do operando com o conteúdo de um registrador base DESLOCAMENTO ADD (A)R1, R2

13 Revendo o código ... mov ax,#0x7cc ; posiciona na metade da tela
mov DI,ax ; seg es mov [DI],#0x9f4F ; O mov [DI+2],#0x9f4C ; L mov [DI+4],#0x9f41 ; A mov [DI+6],#0x9f21 ; ! loop1: jmp loop1

14 Resumo de 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 DESLOCAMENTO:  Flexibilidade  complexidade

15 EXERCÍCIOS 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. 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. ENDEREÇO CONTEÚDO 15B9 7C 15BA 82 15BB 15 15BC BE 15BD 9A 15BE 75

16 EXERCÍCIOS 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. 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 ENDEREÇO CONTEÚDO 15B9 7C 15BA 82 15BB 15 15BC BE 15BD 9A 15BE 75

17 EXERCÍCIOS 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     

18 EXERCÍCIOS 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?

19 EXERCÍCIOS 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  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

20 LINK: http://www.dcc.ufrj.br/~gabriel/neander.php
NeanderWin 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). 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. LINK:

21 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).

22 NeanderWin

23 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.


Carregar ppt "ORGANIZAÇÃO DE COMPUTADORES"

Apresentações semelhantes


Anúncios Google