I believe the 80286 had a prefetch instruction queue, but did it have any other forms of cache? Was the 80386 the first x86 CPU to have a cache?

  • 3
    Even the 8086/8 had a prefetch instruction queue, which was notably used for some entertaining debug/reverse engineering protection schemes involving self-modifying code... – Brian Knoblauch Jun 5 at 12:35
  • 2
    @Brian including this amusing example recently unearthed by the DOSBox-X developer! – Stephen Kitt Jun 5 at 12:47
  • And there were caches long before x86, e.g. the CDC 6600 and the IBM 360 had "instruction buffers" (a pre-fetch region large enough in some models to call it an instruction cache, and not a queue). – dirkt Jun 5 at 12:47
  • 2
    @dirkt even in the micro-processor world, with e.g. the Z80000 in 1983 and the 68020 in 1984 (and those could easily not be the first). – Stephen Kitt Jun 5 at 12:49

The 486, introduced in 1989, was the first x86 CPU to include a cache. It added cache-supporting instructions to the x86 ISA such as INVD and WBINVD.

The 386 didn’t have an on-board cache, but it could be associated with an 82385 controller to use an external cache. Some later 386-compatible CPUs, such as IBM’s 386SLC, included on-board cache; Intel’s own 386SL CPUs included a cache controller, but I don’t think they were available with on-board cache (there are conflicting opinions on the Internet).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.