Zephyrnet Logo

Circuito de pré-busca de instruções do processador Intel 8088 e 8086

Data:

<img decoding="async" data-attachment-id="671481" data-permalink="https://hackaday.com/2024/03/28/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry/8088_die-labeled_c7cdbe/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg" data-orig-size="2975,3135" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="8088_die-labeled_c7cdbe" data-image-description data-image-caption="

A matriz 8088 sob um microscópio, com os principais blocos funcionais rotulados. Esta foto mostra a única camada de metal do chip; o polissilício e o silício estão por baixo. (Crédito: Ken Shirriff)

”data-medium-file =”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg”dados-grande- arquivo =”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?w=593″ class=” tamanho médio wp-image-671481″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg” alt=”A matriz 8088 sob um microscópio, com os principais blocos funcionais rotulados. Esta foto mostra a única camada de metal do chip; o polissilício e o silício estão por baixo. (Crédito: Ken Shirriff)”largura=”380″ altura=”400″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors- circuito de pré-busca de instrução-1.jpg 2975w, https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg ?resize=237,250 237w, https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=380,400 380w , https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=593,625 593w, https:// zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=1458,1536 1458w, https://zephyrnet.com /wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=1943,2048 1943w” tamanhos=”(largura máxima: 380px) 100vw, 380px”>

A matriz 8088 sob um microscópio, com os principais blocos funcionais rotulados. Esta foto mostra a única camada de metal do chip; o polissilício e o silício estão por baixo. (Crédito: Ken Shirriff)

A pré-busca de cache é o que permite que os processadores tenham dados e/ou instruções prontos para uso em um cache local rápido, em vez de ter que esperar que uma solicitação de busca chegue à RAM do sistema e volte novamente. O processador Intel 8088 (e seu irmão mais velho 8086) foi um dos primeiros microprocessadores a implementar pré-busca (de instruções) em hardware, o que [Ken Shirriff] analisou baseado nas imagens deste famoso processador. Isto segue mergulho profundo do ano passado no hardware de pré-busca do 8086, com (sem surpresa) muitas semelhanças entre esses dois microprocessadores, bem como algumas diferenças que se devem principalmente ao barramento de dados de 8088 bits reduzido do 8.

Enquanto o 8086 possui 3 slots de 16 bits no pré-buscador de instruções, o 8088 possui 4 slots, cada um de 8 bits. O hardware de pré-busca faz parte da Unidade de Interface de Barramento (BIU), que desacopla efetivamente o processador real (Unidade de Execução ou EU) da RAM do sistema. Embora as MPUs anteriores fossem totalmente determinísticas, com instruções sendo carregadas da RAM e posteriormente executadas, a pré-busca do 8086 e 8088 significava que tais suposições não eram mais verdadeiras. Os recursos adicionados na BIU também significaram que o ponteiro de instrução (IP) e os registros relacionados foram movidos para a BIU, enquanto a lógica do ringbuffer em torno da fila tinha que de alguma forma manter o enfileiramento e os deslocamentos do ponteiro na RAM funcionando corretamente.

Embora hoje em dia as CPUs tenham caches multiníveis muito mais complicados, medidos em kilobytes e megabytes, é fascinante ver onde tudo começou, com apenas alguns bytes e uma lógica de hardware relativamente simples que você acompanha facilmente sob um microscópio. .

local_img

Inteligência mais recente

local_img