next up previous
Next: Máquinas RISC Up: Microprogramação Previous: Um exemplo de microinstrução

A microarquitetura Intel 8088

As microarquiteturas da família Intel são semelhantes, sendo a mais simples a do 8088. A microarquitetura do 8088 consta de um ``data path'' mostrado na Figura [*].

Figure: ``Data path'' do Intel 8088
\begin{figure}
\vspace{19cm}
\end{figure}

As microinstruções são do tipo vertical, com vários campos especificando funções gerais, ao invés de bits de controle individuais.

O ``data path'' possui duas partes: uma superior e uma inferior. A parte inferior do ``data path'' é semelhante ao ``data path'' da maioria dos computadores, com registradores (16 bits cada) e ALU. Os registradores TMPA, TMPC e TMPB são carregados antes de alimentar a ALU. O barramento marcado ``cross'' tem a capacidade de acessar campos de 8 bits dos registradores.

A parte superior do ``data path'' realiza o cálculo de endereços. Lembre-se de que no 8088, os 16 bits de um registrador de segmento são concatenados com 0000 para formar 20 bits e depois somados ao valor de um deslocamento (ou offset) de 16 bits. Tal cálculo é efetuado na parte superior, da seguinte maneira (Figura [*]):

Figure: Cálculo do endereço
\begin{figure}
\begin{verbatim}11 0
-------------------------------
\vert r...
... offset \vert \vert
---------------------------------\end{verbatim}\end{figure}



Os 4 bits inferiores do offset vão direto para o barramento de endereço. Os bits 4 a 15 são somados com os bits 0 a 11 do registrador de segmento no somador (``adder'') da parte superior, dando os bits superiores do barramento de endereço.

A parte de controle da microarquitetura do 8088 é mostrada na Figura [*].

Figure: Parte de controle do 8088
\begin{figure}
\vspace{4in}
\end{figure}



A parte de controle armazena o microprograma que dirige o ``data path''. Quando uma instrução do nível convencional é executada, o seu Opcode é carregado no IR da figura. A unidade ``group decode'' da figura extrai informações do IR e prepara vários sinais de controle para a ALU: M e N para o cálculo de endereços dos operandos, X para determinar a função da ALU.

As microinstruções são de 21 bits cada. O microprograma consta de 504 microinstruções. Uma PLA converte o Opcode contido no IR em um endereço do microcódigo que trata aquela instrução. A decodificação é feita portanto em hardware, ao contrário do nosso exemplo anterior, em que a decodificação foi feita bit a bit por software.


next up previous
Next: Máquinas RISC Up: Microprogramação Previous: Um exemplo de microinstrução
Siang Wun Song
2001-09-19