next up previous
Next: Microinstrução Up: Microprogramação Previous: Maneiras de construir um

Um exemplo de microarquitetura

Na Figura [*] mostramos o ``data path'' (parte da CPU contendo a ALU e suas entradas e saídas) de uma microarquitetura.

Figure: ``Data path'' da micro-arquitetura

A microarquitetura contém 16 registradores, denominados PC, AC, SP, etc., conforme mostra na figura. Esses registradores formam a chamada ``memória rascunho'', somente acessível no nível de microprogramação. Os registradores denominados 0, +1 e -1 são usados para conter as constantes indicadas. A saída de cada registrador pode ir a um ou ambos os barramentos $A$ e $B$. Cada registrador da memória rascunho pode ser carregado através do barramento $C$.

Os barramentos $A$ e $B$ alimentam uma ALU de 16 bits que pode realizar 4 funções:

  1. $A + B$

  2. $A$ AND $B$

  3. $A$

  4. NOT $A$

A função da ALU a ser realizada é especificada por 2 sinais de controle $F_0$ e $F_1$. A ALU gera 2 sinais de controle de saída: $N$ (indicando se a saída da ALU é negativa) e $Z$ (indicando se a saída da ALU é zero).

A ALU entra num ``shifter'', capaz de deslocar a entrada de 0 ou 1 bit para esquerda ou direita, conforme os sinais de controle $S_0$ e $S_1$. É possível realizar, por exemplo, um deslocamento para esquerda de 2 bits de um registrador R da memória rascunho, computando R+R na ALU (equivale a deslocar de 1 bit para esquerda) e depois deslocar mais 1 bit no shifter.

Os barramentos $A$ e $B$ alimentam a ALU através de dois registradores de entrada, denominados ``$A$ latch'' e ``$B$ latch''. A carga desses dois registradores é controlada pelos sinais de controle $L_0$ e $L_1$.

Para comunicação com a memória, temos os registradores $MAR$ e $MBR$. O $MAR$ pode carregado do $B$ latch, em parelelo com uma operação da ALU. O sinal $M_0$ controla a carga do $MAR$. A saída do shifter pode entrar na memória rascunho, ou entrar no $MBR$, ou ambos. A carga de um valor do shifter para $MBR$ é controlada por $M_1$. Os sinais $M_2$ e $M_3$ indicam leitura e gravação da memória (também usaremos os nomes $RD$ e $WR$, respectivamente). No caso de leitura, o valor, lido para $MBR$, também pode ir ao lado esquerdo da ALU através do multiplexador AMUX. O sinal Ao controla se a entrada esquerda da ALU vem do $A$ latch ou do $MBR$. A microarquitetura apresentada é análoga a de várias pastilhas ``bit-slice'' do mercado.


next up previous
Next: Microinstrução Up: Microprogramação Previous: Maneiras de construir um
Siang Wun Song
2001-09-19