Zephyrnet-logo

De instructie-prefetch-circuits van de Intel 8088- en 8086-processor

Datum:

<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="

De 8088 sterft onder een microscoop, met de belangrijkste functionele blokken gelabeld. Deze foto toont de enkele metaallaag van de chip; het polysilicium en silicium zitten eronder. (Credit: Ken Shirriff)

” data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg” data-large- file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?w=593″ class=” maat-medium wp-image-671481″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg” alt=”De 8088 sterft onder een microscoop, met de belangrijkste functionele blokken gelabeld. Deze foto toont de enkele metaallaag van de chip; het polysilicium en silicium zitten eronder. (Credit: Ken Shirriff)” width=”380″ height=”400″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors- instructie-prefetch-circuitry-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”sizes=”(max. breedte: 380px) 100vw, 380px”>

De 8088 sterft onder een microscoop, met de belangrijkste functionele blokken gelabeld. Deze foto toont de enkele metaallaag van de chip; het polysilicium en silicium zitten eronder. (Credit: Ken Shirriff)

Cache-prefetching zorgt ervoor dat processors gegevens en/of instructies gereed hebben voor gebruik in een snelle lokale cache, in plaats van te moeten wachten tot een ophaalverzoek doorsijpelt naar het systeem-RAM en weer terug. De Intel 8088 (en zijn grote broer 8086) processor was een van de eerste microprocessors die (instructie) prefetching in hardware implementeerde, wat [Ken Shirriff] heeft geanalyseerd gebaseerd op de afbeeldingen van deze beroemde processor. Dit volgt de diepe duik van vorig jaar in de prefetching-hardware van de 8086, met (niet verrassend) veel overeenkomsten tussen deze twee microprocessors, evenals een paar verschillen die grotendeels te wijten zijn aan de ingekorte 8088-bit databus van de 8.

Terwijl de 8086 drie 3-bits slots heeft in de instructieprefetcher, krijgt de 16 vier slots, elk 8088-bit. De prefetching-hardware maakt deel uit van de Bus Interface Unit (BIU), die de daadwerkelijke processor (Execution Unit of EU) effectief ontkoppelt van het systeem-RAM. Terwijl eerdere MPU's volledig deterministisch zouden zijn, waarbij instructies uit het RAM werden geladen en vervolgens werden uitgevoerd, betekende het prefetchen van de 4 en 8 dat dergelijke aannames niet langer waar waren. De toegevoegde functies in de BIU betekenden ook dat de instructiepointer (IP) en gerelateerde registers naar de BIU werden verplaatst, terwijl de ringbufferlogica rond de wachtrij op de een of andere manier ervoor moest zorgen dat de wachtrijen en pointer-offsets in het RAM correct bleven werken.

Ook al hebben CPU's tegenwoordig veel ingewikkelder caches met meerdere niveaus die worden gemeten in kilobytes en megabytes, het is fascinerend om te zien waar het allemaal begon, met slechts een paar bytes en relatief eenvoudige hardwarelogica die je gemakkelijk onder een microscoop kunt volgen. .

spot_img

Laatste intelligentie

spot_img