Zephyrnet-Logo

Die Befehls-Prefetch-Schaltung des Intel 8088- und 8086-Prozessors

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

Der 8088-Chip unter dem Mikroskop, mit beschrifteten Hauptfunktionsblöcken. Dieses Foto zeigt die einzelne Metallschicht des Chips; das Polysilizium und das Silizium liegen darunter. (Bildnachweis: Ken Shirriff)

„data-medium-file=“https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-schaltungry.jpg“ data-large- file=“https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-schaltungry-1.jpg?w=593″ class=“ size-medium wp-image-671481″ src=“https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-schaltungry.jpg“ alt=“Der 8088-Chip unter dem Mikroskop, mit beschrifteten Hauptfunktionsblöcken. Dieses Foto zeigt die einzelne Metallschicht des Chips; das Polysilizium und das Silizium liegen darunter. (Bildnachweis: Ken Shirriff)“ width=“380″ height=“400″ srcset=“https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors- Instruktion-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“ size=“(max-width: 380px) 100vw, 380px“>

Der 8088-Chip unter dem Mikroskop, mit beschrifteten Hauptfunktionsblöcken. Dieses Foto zeigt die einzelne Metallschicht des Chips; das Polysilizium und das Silizium liegen darunter. (Bildnachweis: Ken Shirriff)

Cache-Prefetching ermöglicht es Prozessoren, Daten und/oder Anweisungen in einem schnellen lokalen Cache zur Verwendung bereitzuhalten, anstatt darauf warten zu müssen, dass eine Abrufanforderung zum System-RAM und wieder zurück gelangt. Der Intel 8088-Prozessor (und sein großer Bruder 8086) gehörten zu den ersten Mikroprozessoren, die (Befehls-)Prefetching in Hardware implementierten, was [Ken Shirriff] hat analysiert basierend auf den Bildern dieses berühmten Prozessors. Das folgt Der Deep-Dive vom letzten Jahr in die Prefetching-Hardware des 8086 integriert, mit (nicht überraschend) vielen Ähnlichkeiten zwischen diesen beiden Mikroprozessoren sowie einigen Unterschieden, die hauptsächlich auf den reduzierten 8088-Bit-Datenbus des 8 zurückzuführen sind.

Während der 8086 über drei 3-Bit-Slots im Befehls-Prefetcher verfügt, verfügt der 16 über vier Slots mit jeweils 8088 Bit. Die Prefetching-Hardware ist Teil der Bus Interface Unit (BIU), die den eigentlichen Prozessor (Execution Unit oder EU) effektiv vom System-RAM entkoppelt. Während frühere MPUs vollständig deterministisch waren und Befehle aus dem RAM geladen und anschließend ausgeführt wurden, waren diese Annahmen aufgrund des Prefetching der 4 und 8 nicht mehr zutreffend. Die zusätzlichen Funktionen in der BIU führten auch dazu, dass der Befehlszeiger (IP) und zugehörige Register zur BIU verschoben wurden, während die Ringpufferlogik um die Warteschlange herum irgendwie dafür sorgen musste, dass die Warteschlangen- und Zeiger-Offsets in den RAM ordnungsgemäß funktionierten.

Obwohl CPUs heutzutage über viel kompliziertere, mehrstufige Caches verfügen, die in Kilobyte und Megabyte gemessen werden, ist es faszinierend zu sehen, wo alles begann: mit nur wenigen Bytes und einer relativ einfachen Hardwarelogik, die man unter der Lupe leicht verfolgen kann .

spot_img

Neueste Intelligenz

spot_img