Upload
internet
View
106
Download
0
Embed Size (px)
Citation preview
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 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
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 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 ...
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.
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
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
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
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).
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).
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.