Organização de Computadores - FTP da PUC

Propaganda
Agenda
•Modos de Endereçamento
PUCC
1
Instrução de Máquina
Conjunto de bits
Cód. Operação
Operando
• Cód. Operação: indica o tipo da operação a
ser realizada
• Operando: endereço do dado
PUCC
2
Instrução
• Na prática, o conjunto de instruções definidos
para uma determinada CPU, é sempre
constituído de uma mistura de formatos
diferentes, para otimizar cada caso.
• Para se compreender a representação das
instruções podemos efetuar a análise
segundo dois aspectos:
– Quantidade de Operandos
– Modo de interpretação do valor armazenado no
campo operando.
PUCC
3
Quantidade de Operandos
• Além dos bits do código de operação, as
instruções possuem um ou mais grupos de
bits chamados operandos que têm por
função identificar e localizar o dado a ser
processado.
• SEAC
COp
OP 1
OP 2
OP 3
&Próx.Inst.
Quantos Bits?
PUCC
4
SEAC
• Instrução de Soma: ADD X,Y,Z,P
(Z)
(X)+(Y), (P)
• Vantagens
– A instrução possui todos os operandos para uma
operação aritmética.
– Menor quantidade de Instruções em um Programa.
• Desvantagem
– Ocupação demasiada de espaço em memória; a
maioria das instruções não necessitam de três
operandos.
PUCC
5
Instruções com 3 OP
COp
•
•
•
•
OP 1
ADD A,B,X
SUB A,B,X
MPY A,B,X
DIV A,B,X
(X)
(X)
(X)
(X)
OP 2
OP 3
(A)+(B)
(A)-(B)
(A)*(B)
(A)/(B)
X= A*(B+C*D-E/F)
PUCC
6
Instruções com 2 OP
COp
•
•
•
•
ADD A,B
SUB A,B
MPY A,B
DIV A,B
(A)
(A)
(A)
(A)
OP 1
OP 2
(A)+(B)
(A)-(B)
(A)*(B)
(A)/(B)
X= A*(B+C*D-E/F)
PUCC
7
Instruções com 1 OP
COp
•
•
•
•
•
•
ADD OP
SUB OP
MPY OP
DIV OP
LDA OP
STA OP
PUCC
ACC
ACC
ACC
ACC
ACC
(OP)
OP
ACC +(OP)
ACC -(OP)
ACC *(OP)
ACC / (OP)
(OP)
ACC
8
Modos Endereçamento
• O endereçamento de uma instrução é sempre realizado
através do valor armazenado em PC
• Todo ciclo de instrução é iniciado pela transferência da
instrução para o IR
• Toda instrução consiste em uma ordem codificada
(Cód.Oper.) para a CPU executar uma operação qualquer
sobre dados.
• A localização dos dados pode estar indicada explicitamente
na própria instrução, por um ou mais conjunto de bits,
denominados campos operando, ou implicitamente (dado
armazenado no ACC, que é único).
PUCC
9
Modo Imediato
• O modo mais simples de se obter um dado é
indicar seu próprio valor no campo operando
ao invés de buscá-lo na memória.
• O dado é transferido juntamente com a
instrução para o IR.
• Utilizado na inicialização de contadores,
operações com constantes matemáticas...
• Problema: limitação do tamanho do campo
operando nas instruções, o que reduz o valor
máximo a ser manipulado
PUCC
10
Modo Direto
• O valor binário contido no campo operando da
instrução indica o endereço da memória onde se
localiza o dado.
• O endereço pode ser de uma célula onde o dado está
contido ou o endereço de uma célula inicial, quando o
dado usa várias células.
• Uma única referência para à MP para buscar o dado.
• Desvantagem: limitação de memória a ser usada
conforme o tamanho do campo operando.
– Memória de 256 MB - ?? Bits no campo operando
PUCC
11
Modo Indireto
• O valor binário do campo operando
representa o endereço de uma célula, porém
o conteúdo dessa célula não é o valor do
dado, é um outro endereço cujo conteúdo é o
valor do dado.
• Endereçamento duplo, mais ciclos de
memória para buscar o dado.
• Elimina-se o problema do modo direto, pois
estando o endereço armazenado na memória
ele poderá ocupar mais que uma célula.
PUCC
12
Endereçamento por Registrador
• Características semelhantes aos modos
direto e indireto, exceto que a célula de
memória referenciada na instrução é
substituída por um dos registradores da CPU.
• Vantagem: número menor de bits para
referenciar os registradores.
• Tempo de Acesso ao dado é melhor.
• Modo direto e Modo Indireto.
PUCC
13
Modo Indexado
• Manipular endereços de acesso a elementos
de certos tipos especiais de dados
– Vetores são armazenados seqüencialmente na
memória e que sua localização pode ser
referenciada por um ponteiro que é alterado para
indicar o elemento desejado.
• O nome indexado vem do fato que a
obtenção do endereço de um dado relacionase com seu índice.
PUCC
14
Moda Base mais Deslocamento
• Utilizado com o propósito de reduzir o tamanho das
instruções e facilitar o processo de realocação
dinâmica de programas.
• Em vez de ser necessário que o campo operando
tenha um tamanho correspondente à capacidade
total de endereçamento da MP, basta que o
endereço desejado seja obtido pela soma de um
valor existente em um dos registradores da CPU com
o valor contido na instrução.
• Dois campos na instrução substituem o operando:
BASE e o Deslocamento
PUCC
15
PUCC
16
Download