organizaÇÃo de computadores aula 7 – conjunto de instruções
TRANSCRIPT
![Page 1: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/1.jpg)
ORGANIZAÇÃO DE COMPUTADORES
Aula 7 – Conjunto de Instruções
![Page 2: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/22.jpg)
AULA 7 – INSTRUÇÕES
ORGANIZAÇÃO DE COMPUTADORES
NeanderWin
![Page 23: ORGANIZAÇÃO DE COMPUTADORES Aula 7 – Conjunto de Instruções](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc13d497959413d8dcef9/html5/thumbnails/23.jpg)
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.