Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COMPUTADOR SEQUENCIAL
MEMORIA
PRINCIPAL
Endereco
Instrucoes
e
dados
UNIDADE DE
UNIDADE DE
CONTROLE FLUXO DE
DADOS MBR MAR
PC
IR
Circuitos de
Aritmetica e
Linhas Logica
de
controle
Endereco
Circuitos
Dispositivos
de MQ
AC
de
Controle
Sinais
Entrada/Saida
Dados
Oscilador Timing
a) MBR (Memory Buffer Register): contem uma palavra que deve ser escrita na
memória ou uma palavra lida da memória;
b) MAR (Memory Address Register): especifica o endereço de memória para a
leitura ou escrita de uma palavra contida no MBR;
c) IR (Instruction Register): Contem o opcode de 8 bits de uma instrução que está
sendo executada;
d) PC (Program Counter): Contem o endereço da instrução a ser lida da memória; e
e) AC (Acumulador) e MQ(Multiplicador-Quociente): Empregados para manter
temporariamente os operandos e resultados de operações realizadas pela ULA.
Por exemplo, o resultado de uma multiplicação de dois números de 20 bits é um
número de 40 bits; os 20 bits mais significativos são armazenados no AC e os
bits menos significativos no MQ.
0 1 19
0 7 8 19
Uma palavra pode também conter uma instrução de 20 bits, com um formato
consistindo de um código de operação de 8 bits (opcode) especificando a operação a
ser realizada e um endereço de 12 bits designando uma das palavras da memória
(numeradas de 0 a 4095), Fig. 3.
A unidade de controle opera o computador sequencial fazendo as buscas de
instruções da memória e as execuções, uma por vez. Um computador sequencial
opera realizando repetitivamente os ciclos de instrução. Cada ciclo de instrução
consiste de dois outros ciclos: de busca da instrução (instruction fetch) e execução
(instruction execution). Durante o ciclo de busca, o opcode da próxima instrução é
carregada no IR e a parte referente ao endereço é carregada no MAR. Essa instrução
é obtida da memória carregando a palavra no MBR, e então, para IR e MAR.
Uma vez que o opcode se encontra no IR, o ciclo de execução é realizado. O
circuito de controle decodifica o opcode e executa a instrução enviando os sinais de
controle apropriados para fazer com que os dados sejam movidos e a operação seja
realizada pela ULA.
A Tabela 1 mostra um conjunto de instruções do IAS agrupadas em:
a) Transferência de dados: move os dados entre a memória e os registradores da
ULA; ou entre dois registradores das ULA;
b) Salto incondicional: normalmente, a unidade de controle executa instruções em
sequência de armazenamento na memória. Essa sequência pode ser alterada por
uma instrução de salto. Essa instrução facilita operações de repetição;
c) Salto condicional: o salto pode ser dependente de uma condição, permitindo a
existência de pontos de decisão;
d) Aritmética: operações realizadas pela ULA; e
e) Modificação de endereço: permite que os endereços sejam computados pela ULA
e então inseridos em instruções armazenados na memória. Isso permite que um
programa tenha uma considerável flexibilidade de endereçamento.
As instruções são mostradas em código binário do opcode, e em forma
simbólica, também conhecida como mnemônico. Junto ao mnemônico é especificado
também o operando, que corresponde ao campo de 12 bits. A parte referente ao
opcode (8bits) especifica qual das instruções deve ser executada. A parte referente ao
endereço (12 bits), M(X) especifica qual dos 4096 endereços de memória é
envolvido na execução da instrução, ou MQ representa o uso do registrador MQ .
CICLO DE INSTRUÇÕES
MAR <-- PC
CICLO DE BUSCA DE INSTRUCAO
IR <-- MBR(0,7)
MAR <-- MBR(8,19)
PC <-- PC + 1
DECODIFICACAO DO OPCODE
Nao AC <--MBR
PC <-- MAR
----
<
Endereco
PRINCIPAL
MAR
Instrucoes
e
dados
UNIDADE DE UNIDADE DE
CONTROLE MBR FLUXO DE
DADOS
Endereco
IR PC
Dispositivos
Decodificador
Linhas de
de
controle Entrada/
AC MQ Saida
Dados
Circuitos
de
Circuitos de
Controle Aritmetica e
Sinais
Logica
Oscilador Timing
Endereco
MAR
Instrucao
MBR
IR PC
Endereco
MAR
Instrucoes
e
dados
MBR
IR
AC
Circuitos de
Aritmetica e
Logica
Ende reco
Clock
K Q’ READ/WRITE’
FimWR
Instrucoes
e
dados
IniciaWR FimWR
MBR
MBR
PC
( a)
MBR
MUX
MBR
PC
( b)
Endereco
MAR
E
Instrucoes
ADD e
dados
E
ADD MBR
T0
IR PC
CLOCK
IR
DECODIFICADOR
STOR
ADD
JUMP
....
E
E.ADD
ADD
E
E.ADD.T0
ADD
T0
T0 T1 T2 T3 I E
RELOGIO TIMING
CLOCK
Endereco
PRINCIPAL
MAR
Instrucoes
e
MAMUX
dados
MBMUX
MBR
PC
IR
ACMUX
AC MQ
Circuitos de
Aritmetica e
Logica
Nota-se que após o sinal de controle recicla o circuito de timing volta para o
subciclo T0 de busca de instrução.
Caso a carga de MAR com o endereço do operando não tivesse sido
incorporado no subciclo anterior I.T3, essa operação deveria ser feita em
E.T0.ADD, e o último subciclo seria em E.T3.ADD. A carga antecipada de
MAR antecipa a finalização da interpretação da instrução ADD, tornando o
computador mais rápido.
Nota-se também que a representação RTN acima leva em conta que o fluxo
de dados contem os caminhos diretos interligando os blocos funcionais como
somador, acumulador, registrador de dados de memória. Além disso a parte relativa
ao endereçamento de memória contem os caminhos diretos interligando MBR com
MAR e PC com MAR, usando um multiplexador na entrada de MAR.
E.T0.JPOS : recicla; e
E.T0.JPOS. AC(0)’ : PC ß MAR.
CIRCUITO COMBINATÓRIO DOS SINAIS DE CONTROLE
Execução: ADD
E.T0.ADD : {espera a leitura}
E.T1.ADD : MBR ß M[MAR}; e
E.T2.ADD : AC ß AC + MBR; recicla.
Execução: LOAD
E.T0.LOAD : {espera a leitura}
E.T1.LOAD : MBR ß M[MAR}; e
E.T2.LOAD : AC ß MBR; recicla.
Execução: STOR
E.T0.STOR : MBR ß AC; inicioWR
E.T1.STOR : {espera de escrita} e
E.T2.STOR : fimWR; recicla.
Execução: JUMP
E.T0.JUMP : PC ß MAR; recicla.
Execução: JPOS
E.T0.JPOS : recicla; e
E.T0.JPOS. AC(0)’ : PC ß MAR.
PC PC ß PC + 1 INCRPC
PC ß MBR(8,19) HPC
AGRUPAMENTO DAS IMPLICAÇÕES PARA OS PONTOS DE CONTROLE
DOS REGISTRADORES
HMAR = I.T3
HMBR = I.T2 + E.T1.ADD + E.T1.LOAD + E.T0.STOR
HIR = I.T3
HPC = E.T0.JUMP + E.T0.JPOS.AC(0)’
INCRPC = I.T1
MBMUX
MBR MBR ß AC HMBR MBMUX 0
MBR ß M [MAR] HMBR MBMUX 1
Portanto,
ACMUX = E.T2.ADD.
CONTROLE DE INTERRUPÇÃO
MEMORIA
Endereco
PRINCIPAL
MAR
Instrucoes
e
MAMUX
dados
SBR 0
MBMUX
MBR
Endereco
PC
IR
Dispositivos
ACMUX de
Entrada/
AC MQ Saida
Dados
Circuitos de
Aritmetica e
Logica
‘SBR 0’ ‘SBR 0’
INSTRUÇÃO DE MULTIPLICAÇÃO
MULTIPLICANDO
SOMADOR
0 19 20 39
MULTIPLICADOR
PRODUTO
INICIO
TESTA = 0
PRODUTO
= 1
NAO
ULTIMA
CASA
SIM
FIM