:: Organização de Computadores II ::






Microinstruções

Para a realização de um ciclo na via de dados são necessários 61 sinais, a priori:

16 sinais para controlar a carga do barramento A a partir da memória de rascunho
16 sinais para controlar a carga do barramento B a partir da memória de rascunho
16 sinais para controlar a carga da memória de rascunho a partir do barramento C
2 sinas para controlar os latches A e B (L0 e L1)
2 sinais para controlar as funções da ALU (F0 e F1 )
2 sinais para controlar o deslocador (S0 , S1 )
4 sinais para controlar o MAR e o MBR (M0 , M1, M2, M3)
2 sinais para indicar leitura e escrita da memória
1 sinal para controlar a AMUX (A0)



Porém, pode-se economizar os bits necessários para a via de dados. No barramento A apenas um dos 16 registradores será utilizado, ou seja, com apenas 4 bits pode-se codificar a informação e utilizar um decodificador para gerar 16 sinais de controle. Este procedimento pode ser aplicado aos demais barramentos B e C, logo a economia será 12 bits em cada um dos 3 barramentos, ou seja de 36 bits. Logo agora necessita-se de apenas 25 bits de controle. Com uma análise a cerca de L0 e L1 , N e Z, RD e WR chega-se a uma redução para 22 bits.

Um formato de microinstrução, contendo alguns campos codificados, pode ser:

AMUX : 0 = latch A; 1 = MBR
COND: 0 = não salta; 1 = salta se N=1;
2 = salta se Z=1; 3 = salta sempre
ALU: 0 = A+B; 1 = A.B; 2 = A; 3 = NOT A
SH: 0 = não desloca; 1 = desloca 1 bit à direita;
2 = desloca 1 bit à esquerda; 3 = x
Para os campos de um bit: 0 = desativado, 1 = ativado.

Voltar