next up previous
Next: A microarquitetura Intel 8088 Up: Microprogramação Previous: Microinstruções horizontais e verticais

Um exemplo de microinstrução vertical

Ao invés da microarquitetura MIC-1, podemos ter uma outra, MIC-2, cujo formato de microinstrução usa apenas 12 bits (Figura [*]):

Figure: Microinstrução vertical
\begin{figure}
\begin{verbatim}4 4 4
-------------------
\vert OP \vert R1 \vert R2 \vert
-------------------\end{verbatim}\end{figure}

OP diz o que a microinstrução faz. R1 e R2 codificam 2 registradores. Em instruções de desvio, R1 e R2 são combinados para dar um endereço de 8 bits R.

Por exemplo,

ADD SP, AC

significa que o valor de AC é somado a SP.

Os 16 OP são:

0000 ADD Addition r1:=r1 + r2
0001 AND Boolean And r1:=r1 AND r2
0010 MOVE Move register r1:=r2
0011 COMPL Complement r1:=inv(r2)
0100 LSHIFT Left shift r1:=lshift(r2)
0101 RSHIFT Right shift r1:=rshift(r2)
0110 GETMBR Store MBR in reg r1:=mbr
0111 TEST Test register if r2$<$0 then n:=true;
      if r2=0 then z:=true
1000 BEGRD Begin read mar:=r1; rd
1001 BEGWR Begin write mar:=r1; mbr:=r2; wr
1010 CONRD Continue read rd
1011 CONWR Continue write wr
1100     Not used
1101 NJUMP Jump if N=1 if n then goto r
1110 ZJUMP Jump if Z=1 if z then goto r
1111 UJUMP Unconditional jump goto r


Dependendo do OP, sinais apropriados de controle devem ser produzidos. A tarefa de decodificar OP para produzir esses sinais é em geral feita por meio de PLAs ou ROMs.


next up previous
Next: A microarquitetura Intel 8088 Up: Microprogramação Previous: Microinstruções horizontais e verticais
Siang Wun Song
2001-09-19