Disciplina: Arquitetura de Computadores

Propaganda
Disciplina: Arquitetura
de Computadores
Representação de Instruções
Profa. Carla Katarina de Monteiro
Marques
UERN
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
campo operando.
armazenado no
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.

Quantos bits?
Instruções com 3 OP




ADD A,B,X
SUB A,B,X
MPY A,B,X
DIV A,B,X
(X) = (A)+(B)
(X) = (A)-(B)
(X) = (A)*(B)
(X) = (A)/(B)
X= A*(B+C*D-E/F)
Instruções com 2 OP




ADD A,B
SUB A,B
MPY A,B
DIV A,B
(A) = (A)+(B)
(A) = (A)-(B)
(A) = (A)*(B)
(A) = (A)/(B)
X= A*(B+C*D-E/F)
Instruções com 1 OP






ADD OP
SUB OP
MPY OP
DIV OP
LDA OP
STR OP
ACC = ACC +(OP)
ACC = ACC -(OP)
ACC = ACC *(OP)
ACC = ACC / (OP)
ACC = (OP)
(OP) = ACC
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 RI;
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).
Acessando dados
Questão: como especificar os operandos?
 Em um formato de instrução típico, o
espaço de endereçamento é bem
COp
Endereço
limitado:

 queremos
endereçar toda a memória virtual
 queremos endereçar determinadas estruturas
de dados mais facilmente
 queremos rapidez, enfim, queremos ...
Modos de endereçamento
 Imediato
 Direto
 Indireto
 Registrador
 Indexado
 Deslocamento
Imediato
Instrução
COp
Operando
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 RI;
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.
Direto
Instrução
COp
End
Operando
Memória
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;
É necessária uma única referência para a 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
Indireto
Instrução
COp
End
Apontador
Operando
Memória
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.
Registrador
Instrução
COp
Operando
Registradores
R
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;
Pode ser de dois tipos:
 Modo
direto e Modo Indireto.
Modo registrador (1)
Similar ao endereçamento direto, contudo
o campo de endereço refere-se a um
registrador em vez de memória
 Como há número limitado de
registradores, campo de endereço (por
registrador) é pequeno
 Não há necessidade de referências à
memória  maior rapidez

Modo registrador (2)
É importante que dados sejam mantidos
nos registradores: se trazidos e levados
de/para a memória  ineficência!
 Papel do compilador e do programador
em linguagem de montagem

Registrador indireto
Instrução
COp
R
Operando
Apontador
Registradores
Memória
Modo registrador indireto
Similar ao endereçamento indireto
 Operando é obtido por referência de um
apontador mantido em registrador
 Maior espaço de endereçamento (2N) que
o modo registrador
 Uma referência de memória a menos que
o modo indireto

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 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 se relacionar com seu
índice.
Modo Indexado
Nesse modo, o endereço de cada
elemento do vetor é obtido pela soma do
valor do campo operando da instrução
com o valor armazenado em um dos
registradores da CPU (registrador-índice);
 A grande vantagem da técnica reside na
rapidez de execução das instruções de
acesso aos dados.

Modo 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
Modo Indexado x Base mais
Deslocamento


A indexação é empregada quando se deseja
acessar diferentes dados, com alteração do
endereço, por incremento (ou decremento) do
valor do registrador índice;
Quando a modificação de endereço é realizada
para realocação de programa, basta uma única
alteração do conteúdo do registrados-base (no
modo base mais deslocamento).
Download