Aula_07

Aula_07


DisciplinaOrganização de Computadores4.933 materiais85.615 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 \uf0e8 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: 		\uf04a sem referência à memória
			\uf04c limitado e pouco flexível
DIRETO:		\uf04a simples
			\uf04c espaço de endereçamento limitado
INDIRETO: 		\uf04a espaço de endereçamento grande
			\uf04c múltiplas referências à memória
REGISTRADOR: 	\uf04a sem referência à memória
			\uf04c espaço de endereçamento limitado
DESLOCAMENTO:	\uf04a Flexibilidade
	 		\uf04c 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 \uf0e8 Carrega AC da memória
0010 \uf0e8 Armazena AC na memória
0101 \uf0e8 Adiciona ao acumulador AC o valor da memória
0011 \uf0e8 Carrega AC (acumulador) do dispositivo de I/O
0111 \uf0e8 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