Aula_07

Disciplina:Organização de Computadores3.991 materiais61.816 seguidores
Pré-visualização1 página
ORGANIZAÇÃO DE COMPUTADORES
SIMONE MARKENSON
Rio de Janeiro, maio de 2011
1
CONTEÚDO DA AULA

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 tela
mov DI,ax ;
seg es
mov [DI],#0x9f4F ; O
seg es
mov [DI+2],#0x9f4C ; L
seg es
mov [DI+4],#0x9f41 ; A
seg es
mov [DI+6],#0x9f21 ; !
loop1:	jmp loop1
INSTRUÇÕES
Ninguém programa diretamente utilizando as instruções do processador! Os programas são desenvolvidos em linguagens de alto nível.

Instruções podem ter formatos diferentes, dependendo do número de operandos.
ATENÇÃO
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ÇÕES
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
ADD op1,op2,op3

MOV op1,op2

ADD R, op1

JZN 	 op1

ADD
OP1
OP2
OP3
MOV
OP1
OP2
ADD
R
OP1
JNZ
OP1
EXEMPLOS DE INSTRUÇÕES
	Um determinado processador possui um conjunto de 64 instruções. Quantos bits de opcode a instrução deverá possuir?

OPCODE
OPER1
OPER2 ....OPERn
?
EXEMPLO
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
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
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
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 ENDEREÇAMENTO
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 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

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

			
REGISTRO DE FREQUÊNCIA
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  0011	00000101
301  0101 	01010000
302  0010 	01100000
15
REGISTRO DE FREQUÊNCIA
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

16
EXERCÍCIOS
Em que endereço será armazenado o valor 5 que está no AC?

Que instrução teríamos que acrescentar ao programa para que o endereço 50h recebesse o valor guardado no AC?
17
NeanderWin
Características

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

LINK: http://www.dcc.ufrj.br/~gabriel/neander.php

18