The Intel 8088 and 8086 Processor’s Instruction Prefetch Circuitry

<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://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.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="

The 8088 die under a microscope, with main functional blocks labeled. This photo shows the chip’s single metal layer; the polysilicon and silicon are underneath. (Credit: Ken Shirriff)

” data-medium-file=”https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?w=380″ data-large-file=”https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?w=593″ class=”size-medium wp-image-671481″ src=”https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?w=380″ alt=”The 8088 die under a microscope, with main functional blocks labeled. This photo shows the chip’s single metal layer; the polysilicon and silicon are underneath. (Credit: Ken Shirriff)” width=”380″ height=”400″ srcset=”https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg 2975w, https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?resize=237,250 237w, https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?resize=380,400 380w, https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?resize=593,625 593w, https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?resize=1458,1536 1458w, https://hackaday.com/wp-content/uploads/2024/03/8088_die-labeled_c7cdbe.jpg?resize=1943,2048 1943w” sizes=”(max-width: 380px) 100vw, 380px”>

The 8088 die beneath a microscope, with essential practical blocks labeled. This photograph exhibits the chip’s single metallic layer; the polysilicon and silicon are beneath. (Credit score: Ken Shirriff)

Cache prefetching is what permits processors to have information and/or directions prepared to be used in a quick native cache relatively than having to attend for a fetch request to trickle by to system RAM and again once more. The Intel 8088  (and its huge brother 8086) processor was among the many first microprocessors to implement (instruction) prefetching in {hardware}, which [Ken Shirriff] has analyzed primarily based on die photographs of this well-known processor. This follows last year’s deep-dive into the 8086’s prefetching {hardware}, with (unsurprisingly) many similarities between these two microprocessors, in addition to a couple of variations which might be principally because of the 8088’s cut-down 8-bit information bus.

Whereas the 8086 has 3 16-bit slots within the instruction prefetcher the 8088 will get 4 slots, every 8-bit. The prefetching {hardware} is a part of the Bus Interface Unit (BIU), which successfully decouples the precise processor (Execution Unit, or EU) from the system RAM. Whereas earlier MPUs can be totally deterministic, with directions being loaded from RAM and subsequently executed, the 8086 and 8088’s prefetching meant that such assumptions not had been true. The added options within the BIU additionally meant that the instruction pointer (IP) and associated registers moved to the BIU, whereas the ringbuffer logic across the queue needed to by some means hold the queueing and pointer offsets into RAM working accurately.

Regardless that as of late CPUs have way more difficult, multi-level caches which might be measured in kilobytes and megabytes, it’s fascinating to see the place all of it started, with just some bytes and comparatively straight-forward {hardware} logic that you simply simply observe beneath a microscope.


Discover more from TechPros: Innovate, Learn & Connect

Subscribe to get the latest posts sent to your email.

Leave a Reply