Para controlar o ``data path'' da microarquitetura do exemplo precisamos de 60 sinais:
Este último, , é útil para indicar se o resultado calculado
deve ou não ser carregado de volta para a memória rascunho.
Dados os 60 sinais, podemos realizar um ciclo do ``data path''. Um
ciclo consiste em colocar valores dos registradores da memória
rascunho nos barramentos e , carga nos `` latch'' e `` latch'',
realizaçaõ da operação pela ALU e depois shifter, e
finalmente armazenamento do resultado de volta à memória rascunho
ou . Além disso, o pode também ser carregado e um ciclo de
acesso de memória iniciado.
Em vez de usar 16 bits de controle para controlar o barramento ,
podemos codificar com 4 bits cada uma das combinações e usar um
decodificador para produzir os 16 sinais necessários. O mesmo pode
ser feito em relação ao barramento .
No caso do barramento , em princípio, podemos querer carregar
múltiplos registradores da memória rascunho (isto é, carregar o
resultado obtido em vários registradores). Limitando, entretanto, a
carga de no máximo um registrador, podemos também codificar o
registrador desejado com 4 bits e usar um decodificador, como no caso
dos barramentos e . Economizamos assim
bits. Além
disso, e serão fornecidos pelo sinal do relógio, como
veremos, e dispensamos esses dois bits também. Reduzimos assim os
60 bits iniciais para 22 bits.
Uma microinstrução terá os 22 bits mais dois campos adicionais, denominados e ADDR (a serem explicados adiante), dando um total de 32 bits, conforme a Figura .