Escolar Documentos
Profissional Documentos
Cultura Documentos
Código de operação
C. Op. Operandos
ou opcode
◦ Código de Operação: indica qual operação deverá
ser realizada, por exemplo:
Realizar uma operação lógica entre dois valores
Parar a execução de um programa
Testar uma condição: Se teste verdadeiro, então
desviar para outro endereço fora da seqüência
O campo código de operação possui, nos
processadores atuais, 1 byte de tamanho
Pode-se, então, ter 28 instruções diferentes
◦ Operando: indica a localização do dado que será
manipulado
O campo operando pode estar subdividido em outros
campos no caso de mais de um operando, por
exemplo:
Em uma instrução cujo código de operação é uma soma,
são necessários três operandos
Dois operandos para armazenar as parcelas
Um operando para armazenar o total
Instrução de Soma:
C. Op. Operando
C. OP. Operando
4 bits 8 bits
Buscar a próxima
instrução
Executar instrução
Interpretar instrução
(decodificar) Armazenar
resultados
Buscar operandos
Fim
Início
Decodificação do C. Op.
Buscar e
Tem operando?
Subciclo sim armazenar operando
de não
Execução
Executar a operação
LDA op e ADD op
Considere que a instrução LDA está
armazenada na MP no endereço decimal 2 (216
ou 000000102)
1B4
0001 10110100
C. Op. Operando
B416
Considere que a instrução ADD está
armazenada na MP no endereço decimal 3 (316
ou 000000112)
3B5
0011 10110101
C. Op. Operando
B516
00
01
02 1B4
03 3B5
B4 1A7
B5 07D
B6
FF
Valores dos registradores:
◦ CI=02 (Endereço colocado pelo sistema operacional
para iniciar a execução do programa)
◦ RI=31716 (última instrução executada)
◦ ACC=20B16 (valor obtido da execução anterior)
◦ REM=B3 e RDM=7BC
CPU MP
00
01
ACC CI RDM
02 1B4
ULA 20B 02 7BC 03 3B5
B3
REM B4 1A7
RI 317 B5 07D
B6
UC DI
FF
Barramento de controle
A partir desta configuração, inicia-se o ciclo
da instrução LDA
◦ Busca da Instrução
A UC aciona a transferência do conteúdo de CI para
REM (endereço de LDA)
REM CI
O conteúdo de REM é colocado no barramento de
endereços e a UC ativa a linha READ do barramento de
controle
A memória recebe o endereço e coloca
o conteúdo da célula 02 no
barramento de dados (1B4)
O conteúdo do barramento de dados
chega no RDM
◦ RDM Mem
O conteúdo do RDM é enviado para o
RI
◦ RI RDM
Enquanto está acontecendo a operação de
leitura na memória, o CI está sendo
incrementado
Como, no nosso exemplo, qualquer
instrução ocupa uma célula de memória, o CI
será incrementado de uma unidade (CI = 03)
para apontar para a próxima instrução
◦ CI CI + 1
Valores dos registradores após
o subciclo de busca da instrução 1B4
CPU MP
00
01
ACC CI RDM
02 1B4
ULA 20B 02 03 7BC 1B4 03 3B5
B3 02
REM B4 1A7
RI 317 1B4 B5 07D
B6
UC DI
FF
Barramento de controle
Decodificação de Instrução
◦ A UC emite um sinal para que o RI transfira
para o decodificador de instruções os 4 bits
do C. Op.
Decodificador 0001
◦ O decodificador seleciona, através de uma
lógica nele existente, a linha de saída
correspondente para a UC que emitirá os
sinais adequados e em uma determinada
seqüência para a execução da instrução
◦ Como na instrução LDA não há operando
a ser buscado, inicia-se então a execução
da instrução
Execução de Instrução
◦ A execução da instrução LDA resume-se
em buscar na memória o conteúdo da
célula B4
◦ A UC comanda o RI para enviar os bits
referentes ao endereço de memória para o
REM
◦ A UC ativa a linha READ do barramento de
controle
◦ A memória recebe o endereço que chega
pelo barramento de endereço, decodifica e
envia o conteúdo da célula B4 para o
barramento de dados
◦ RDM recebe o conteúdo do barramento de
dados
RDM 1A7
◦ A UC emite um sinal para o RDM enviar o
seu conteúdo para o ACC
ACC RDM
Valores dos registradores após
a execução da instrução 1B4
CPU MP
00
01
ACC CI RDM
02 1B4
ULA 20B 1A7 02 03 1B4 1A7 03 3B5
02 B4
REM B4 1A7
RI 317 1B4 B5 07D
B6
UC DI
FF
Barramento de controle
Considerando que ADD é a instrução
seguinte a ser executada, o CI já
contém o seu endereço
Inicia-se a busca da próxima instrução
Busca da Instrução
◦ A UC aciona a transferência do conteúdo
de CI para REM (03)
REM CI
◦ O conteúdo de REM é colocado no
barramento de endereços e a UC ativa a
linha READ do barramento de controle
◦ A memória recebe o endereço e coloca o
conteúdo da célula 03 no barramento de
dados (3B5)
◦ O conteúdo do barramento de dados chega
no RDM
RDM Mem
◦ O conteúdo do RDM é enviado para o RI
RI RDM
◦ Enquanto está acontecendo a operação de
leitura na memória, o CI está sendo
incrementado, passando a valer 4
CI CI + 1
Valores dos registradores após
o subciclo de busca da instrução 3B5
CPU MP
00
01
ACC CI RDM
02 1B4
ULA 20B 1A7 03 04 1A7 3B5 03 3B5
B4 03
REM B4 1A7
RI 1B4 3B5 B5 07D
B6
UC DI
FF
Barramento de controle
Decodificação de Instrução
◦ A UC emite um sinal para que o RI transfira para o
decodificador de instruções os 4 bits do C. Op.
Decodificador 0011
◦ O decodificador seleciona a linha de saída
correspondente para a UC que emitirá os sinais
adequados para a busca do operando
Busca de Operando
◦ O endereço do operando a ser buscado na
MP está do RI, no campo operando (B5)
◦ UC emite sinais para que o REM receba o
operando
REM B5
◦ REM coloca o seu conteúdo no barramento
de endereços
◦ A UC ativa a linha READ no barramento de
controle
◦ A memória recebe o endereço e coloca o
conteúdo da célula B5 no barramento de
dados (07D)
◦ O conteúdo do barramento de dados
chega no RDM
RDM Mem
Valores dos registradores após
a busca do operando 07D
CPU MP
00
01
ACC CI RDM
02 1B4
ULA 20B 1A7 03 04 3B5 07D 03 3B5
03 B5
REM B4 1A7
RI 1B4 3B5 B5 07D
B6
UC DI
FF
Barramento de controle
Execução de Instrução
◦ A ULA recebe o primeiro operando da
soma que está no acumulador
ULA 1A7
◦ O conteúdo do RDM (segunda parcela da
soma) é colocado no ACC
ACC RDM
◦ A ULA recebe a segunda parcela da soma
ULA ACC
CPU MP
00
01
ACC CI RDM
1A7 02 1B4
07D 1A7 07D 03 04 3B5 07D 03 3B5
03 B5
REM B4 1A7
RI 1B4 3B5 B5 07D
B6
UC DI
FF
Barramento de controle
◦ A UC comanda a ULA para realizar a adição dos dois
valores
1A7 + 07D = 224
◦ O resultado da adição é colocado no ACC
ACC 224
Valores dos registradores após
a execução da instrução 3B5
CPU MP
00
01
ACC CI RDM
02 1B4
ULA 07D 224 03 04 3B5 07D 03 3B5
03 B5
REM B4 1A7
RI 1B4 3B5 B5 07D
B6
UC DI
FF
Barramento de controle