Modos de Endereçamento

Propaganda
Conjunto de Instruções
IFBA – Instituto Federal de Educ. Ciencia e Tec Bahia
Curso de Analise e Desenvolvimento de Sistemas
Arquitetura de Computadores – 20 e 21/30
Prof. Msc. Antonio Carlos Souza
Referências Bibliográficas:
1.
2.
3.
Ciência da Computação: Uma visão abrangente - J.Glenn
Brokshear
Introdução à organização de computadores – Mário
Monteiro – LTC
Organização Estrutura de Computadores – Andrew S.
Tanembaum - LTC
A Execução de Instruções
¡
Seqüência de passos de execução
busca
¡
decodificação
execução
resultado
Cada passo de execução Þ operações
básicas
l
l
l
l
transferência de dados entre regs
transferência de dados entre regs e ALU
transferência de dados entre regs e a
memória
operações lógicas e aritméticas realizadas
pela ALU
A Execução de Instruções
Divisão dos passos de execução de uma instrução
busca
decodificação
execução
resultado
Diferença entre instruções Þ
l número
l tipo
operações básicas realizadas em cada passo
¡
Execução de Instruções
¡
Exemplo de classes de instruções
Tipo
Exemplo
Lógica / Aritmética
ADD R1, R2, Rd
Desvio incondicional
JMP dst
Desvio condicional
JZ dst
Acesso à memória
LOAD end, R1
STORE end, R1
Operações Básicas na Execução
de Instruções
Aritméticas
e Lógicas
B
MAR ¬ PC
MDR ¬ M[MAR]
IR ¬ MDR
PC++
D
decod
A ¬ Rs1
B ¬ Rs2
R ¬ A op B
E
(E)
MDR (E)
M[MAR] (L)
R
Rd ¬ R
(L)
Desvios
Incondicionais
MAR ¬ PC
MDR ¬ M[MAR]
IR ¬ MDR
PC++
decod
PC ¬ destino
Desvios
Condicionais
MAR ¬ PC
MDR ¬ M[MAR]
IR ¬ MDR
PC++
decod
cond
Acessos à
Memória
MAR ¬ PC
MDR ¬ M[MAR]
IR ¬ MDR
PC++
se (cond)
PC ¬ destino
decod
MAR ¬ end
MDR ¬ Rs
M[MAR] ¬
MDR ¬
Rd ¬ MDR
A Seção de Controle
¡
Ativação dos sinais de controle
operação básica
sinal de
controle
descrição da operação básica
(1) (2)
s1, s2
s3,s4
coloca o conteúdo de R1 e R2 nos barramentos
S1 e S2, respectivamente.
armazena a informação presente nos barramentos
S1e S2 em A e B, respectivamente.
(3)
s5
S6
seleciona a operação de soma na ALU.
armazena o resultado produzido pela ALU em R.
(4)
s7
S8
coloca o conteúdo de R no barramento D.
armazena a informação presente no barramento D
em R3.
A Seção de Controle
¡
¡
A ordem em que os sinais de controle
são ativados é crítica
Sinais de clock
l unidade de controle opera em
sincronismo com o sinal de clock
l execução de uma instrução Þ
quantidade diferentes de ciclos de
clock
Representação de Instruções
Tipos de Instruções
¡
Processamento de dados
l
¡
Armazenamento de dados
l
¡
Instruções de Memória
Movimentação de Dados
l
¡
Instruções Aritméticas e Lógicas
Instruções de E/S
Controle
l
Instruções de Desvio Condicional ou
Incondicional
Tipos de Dados
¡
Números
l
l
l
¡
Caracteres
l
l
¡
¡
Inteiro ou ponto fixo
Ponto Flutuante
Número Decimal (BCD)
ACSII (American Standard Code for
Information Interchange)
EBCDIC (Extended binary Coded Decimal
Interchange Code)
Dados Lógicos
Endereços
Tipos de Operações
¡
¡
¡
¡
Operações
Operações
Operações
Operações
l
¡
¡
Convert, Translate
Operações de E/S
l
¡
de transferência de dados
aritméticas
lógicas
de conversão
Read, write
Operações de Controle de Sistema
Operações de transferência de Controle
l
Jmp, jnz, execute, halt
Modos de Endereçamento
Até agora, vimos considerando que o operando contém
o endereço da MP onde está localizado o dado, mas
esta não é a única forma. Existem outros modos de
endereçamento de forma a ampliar a flexibilidade
para o programador.
O endereço da próxima instrução é apontado através
do valor armazenado no PC. A ação a ser realizada
pela instrução é determinada pelo mnemônico da
instrução, armazenado no campo “CÓDIGO DE
OPERAÇÃO” (ou abreviadamente opcode).
O dado da instrução pode ser um valor numérico, um
caractere ou mesmo um endereço (no caso das
instruções de desvio). A localização do dado é em
geral explicitamente indicada na própria instrução,
sendo representada no campo (ou campos)
“OPERANDO” (ou abreviadamente Oper).
Modos de Endereçamento
MODO IMEDIATO
O valor do campo operando é o
próprio dado.
Modos de Endereçamento
MODO DIRETO
O valor do campo operando indica o
endereço do dado na MP.
Modos de Endereçamento
ENDEREÇAMENTO POR REGISTRADOR
Existem outros modos de endereçamento, que
usam registradores para indicar a posição onde
estão os dados.
¡ Os modos de endereçamento direto e indireto por
registrador funcionam de forma semelhante aos
modos de endereçamento direto e indireto vistos
anteriormente (em que o operando aponta para
uma posição de memória),
¡ Porém o operando aponta para um registrador
(onde está o dado - endereçamento direto - ou
então faz referência à memória - endereçamento
indireto).
Modos de Endereçamento
MODO INDEXADO
O endereço de cada elemento é obtido através da
soma do campo Operando com o conteúdo de um
registrador (Registrador de Índice).
O endereço de cada elemento (por exemplo, de um
vetor) é a soma (antes da colocação do endereço
no REM) do valor do campo operando com o
conteúdo de um registrador (escolhido como
registrador índice).
Modos de Endereçamento
MODO BASE + DESLOCAMENTO
Utiliza um registrador chamado
Registrador de Base, que contém o
endereço base na MP e um
operando, que contém o
deslocamento do dado em relação à
base.
Diferenças
¡
¡
Modo lndexado
Acesso a diferentes dados pela alteração do
endereço através do registrador-índice,
com um único valor no operando.
É utilizado para manipulação de estruturas
de dados.
Modo Base + Deslocamento
Um único valor no registrador-base e
valores diferentes no campo deslocamento
da instrução.
É utilizado para relocação de programas.
Download