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 .
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 ):
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 .
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.