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

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

Transcript of ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

ORGANIZAÇÃO DE COMPUTADORES

Aula 7 – Conjunto de Instruções

Page 2: 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

Page 3: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 4: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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 telamov DI,ax ; seg esmov [DI],#0x9f4F ; Oseg esmov [DI+2],#0x9f4C ; Lseg esmov [DI+4],#0x9f41 ; Aseg esmov [DI+6],#0x9f21 ; !loop1:jmp loop1

Page 5: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 6: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 7: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 8: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto 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

Page 9: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto 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

Solução: 64 = 26 , logo são necessários 6 bits

Page 10: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 11: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 12: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 13: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

AULA 7 – INSTRUÇÕES

ORGANIZAÇÃO DE COMPUTADORES

mov ax,#0x7cc ; posiciona na metade da telamov DI,ax ; seg esmov [DI],#0x9f4F ; Oseg esmov [DI+2],#0x9f4C ; Lseg esmov [DI+4],#0x9f41 ; Aseg esmov [DI+6],#0x9f21 ; !loop1: jmp loop1

Revendo o código ...

Page 14: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 15: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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.

Page 16: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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.

7Cb) A instrução usa o modo imediato e o

operando possui o valor 15BA.15BAc) A instrução usa o modo indireto e o

operando possui o valor 15BB.75

Page 17: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

AULA 7 – INSTRUÇÕES

ORGANIZAÇÃO DE COMPUTADORES

Considere uma máquina hipotética com as seguintes características:Instruções0001 Carrega AC da memória0010 Armazena AC na memória0101 Adiciona ao acumulador AC o valor da memória0011 Carrega AC (acumulador) do dispositivo de I/O0111 Armazena AC no dispositivo de I/OEndereç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ção300  001100000101 301  0101 01010000 302  0010 01100000

EXERCÍCIOS

Page 18: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 19: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 20: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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

Page 21: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

AULA 7 – INSTRUÇÕES

ORGANIZAÇÃO DE COMPUTADORESNeanderWin - 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).

Page 22: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

AULA 7 – INSTRUÇÕES

ORGANIZAÇÃO DE COMPUTADORES

NeanderWin

Page 23: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções.

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.