Organizao de Computadores Aula 7 Prof Luiz di

  • Slides: 15
Download presentation
Organização de Computadores Aula 7 Prof. Luiz di Marcello

Organização de Computadores Aula 7 Prof. Luiz di Marcello

INSTRUÇÕES O QUE SÃO E PARA QUE SERVEM? • São as ordens que o

INSTRUÇÕES O QUE SÃO E PARA QUE SERVEM? • 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? O programador Assembly, os compiladores Ninguém programa utilizando as instruções do processador! Programas são desenvolvidos em linguagens de alto nível! • Instruções podem ter formatos diferentes, dependendo do número de operandos

TIPOS DE INSTRUÇÕES Instruções Aritméticas e Lógicas Realizam operações aritméticas (ADD, SUB. . .

TIPOS DE INSTRUÇÕES 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)

FORMATO DE UMA INSTRUÇÃO CÓDIGO DA OPERAÇÃO Indica que operação será executada. A quantidade

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

EXEMPLOS § ADD: soma o primeiro operando com o segundo, o resultado fica armazenado

EXEMPLOS § ADD: soma o primeiro operando com o segundo, o resultado fica armazenado no primeiro operando: ADD op 1, op 2 ADD OP 1 OP 2 ADD R, op 1 ADD R OP 1 • MOV: copia o segundo operando (fonte) para o primeiro operando (destino): MOV op 1, op 2 MOV OP 1 OP 2 • JNZ: desvia a execução do programa para o endereço indicado JNZ op 1 JNZ OP 1

EXERCÍCIO 1 Um determinado processador possui um conjunto de 64 instruções. Quantos bits de

EXERCÍCIO 1 Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir? OPCODE ? OPER 1 OPER 2. . . OPERn

REGISTRADORES • Registradores de uso geral para armazenamento temporários dados que serão processados Exemplos:

REGISTRADORES • Registradores de uso geral para armazenamento temporários dados que serão processados Exemplos: AX, BX • Registradores de uso específico para funções prédefinidas de controle Exemplos: IR, PSW, PC

MODOS DE ENDEREÇAMENTO IMEDIATO Utiliza um valor como operando e não um endereço na

MODOS DE ENDEREÇAMENTO IMEDIATO Utiliza um valor como operando e não um endereço na memória ADD #A, R 1 DIRETO Indica o endereço de memória onde está o operando ADD (A), R 1 INDIRETO Indica um ponteiro para o operando ADD (R 1), R 2

MODOS DE ENDEREÇAMENTO REGISTRADOR O endereço se refere a um registrador ADD R, OP

MODOS DE ENDEREÇAMENTO REGISTRADOR O endereço se refere a um registrador ADD R, OP 1 DESLOCAMENTO Obtido pela soma do operando com o conteúdo de um registrador base ADD (A)R 1, R 2

EXERCÍCIO 2 Um processador possui um conjunto de instruções que emprega vários modos de

EXERCÍCIO 2 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 15 B 9 7 C 15 BA 82 15 BB 15 15 BC BE 15 BD 9 A 15 BE 75 a) A instrução possui o modo direto e o operando possui o valor 15 B 9: b) A instrução usa o modo imediato e o operando possui o valor 15 BA: c) A instrução usa o modo indireto e o operando possui o valor 15 BB:

EXERCÍCIO 2 Um processador possui um conjunto de instruções que emprega vários modos de

EXERCÍCIO 2 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 15 B 9 7 C 15 BA 82 15 BB 15 15 BC BE 15 BD 9 A 15 BE 75 a) A instrução possui o modo direto e o operando possui o valor 15 B 9: 7 C b) A instrução usa o modo imediato e o operando possui o valor 15 BA: 15 BA c) A instrução usa o modo indireto e o operando possui o valor 15 BB: 75

EXERCÍCIO 3 Considere uma máquina hipotética com as seguintes características: INSTRUÇÕES 0001 Carrega ACC

EXERCÍCIO 3 Considere uma máquina hipotética com as seguintes características: INSTRUÇÕES 0001 Carrega ACC da memória 0010 Armazena ACC na memória 0101 Adiciona ao acumulador ACC o valor da memória 0011 Carrega ACC (acumulador) do dispositivo de I/O 0111 Armazena ACC no dispositivo de I/O • • • 12 bits: 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 ACC está inicialmente vazio End. Instrução O endereço 50 h possui o valor 2 300 0011 00000101 armazenado 301 01010000 • Programa em execução 302 0010 01100000

Organização de Computadores Exercícios Prof. Luiz di Marcello

Organização de Computadores Exercícios Prof. Luiz di Marcello

1) No conjunto de instruções de um processador podemos citar três tipos de endereçamento:

1) No conjunto de instruções de um processador podemos citar três tipos de endereçamento: IMEDIATO, DIRETO e INDIRETO. Correlacione esses três tipos de endereçamento (na sequência IMEDIATO, DIRETO e INDIRETO) com o seu significado encontrado nas sentenças abaixo: I. indica o endereço de memória onde está o operando II. indica um ponteiro para o operando III. utiliza um valor como operando e não um endereço da memória ( ( ( ) I, II e III ) II, I e III ) III, I e II ) I, III e II ) II, III e I

2) Considerando uma instrução com código de operação de 4 bits e operando de

2) Considerando uma instrução com código de operação de 4 bits e operando de 8 bits, cujo processador trabalhe com endereçamento direto, quantas instruções no máximo podem existir nessa configuração e qual o maior endereço (em hexadecimal) pode servir de operando? ( ( ( ) 4 instruções diferentes e maior endereço FFh ) 8 instruções diferentes e maior endereço 99 h ) 16 instruções diferentes e maior endereço FFh ) 32 instruções diferentes e maior endereço FFh ) 16 instruções diferentes e maior endereço EEh