The Convoluted Way Intel’s 386 Implemented Its Registers

The 386's main register bank, at the bottom of the datapath. The numbers show how many bits of the register can be accessed. (Credit: Ken Shirriff)

The fact that modern-day x86 processors still pretty much support the same operating systems and software as their ancestors did is quite a feat. Much of this effort had already been accomplished with the release of the 80386 (later 386) CPU in 1985, which was not only the first 32-bit x86 CPU, but was also backwards compatible with 8- and 16-bit software dating back to the 1970s. Making this work transparently was anything but straightforward, as [Ken Shirriff]’s recent analysis of the 80386’s main register file shows.

Labelled Intel 80386 die shot. (Credit: Ken Shirriff)
Labelled Intel 80386 die shot. (Credit: Ken Shirriff)

Using die shots of the 386’s registers and surrounding silicon, it’s possible to piece together how backwards compatibility was implemented. The storage cells of the registers are implemented using static memory (SRAM) as is typical, with much of the register file triple-ported (two read, one write).

Most interestingly is the presence of different circuits (6) to support accessing the register file for 8-, 16- or 32-bit writes and reads. The ‘shuffle’ network as [Ken] calls it is responsible for handling these distinct writes and reads, which also leads to the finding that the bottom 16 bits in the registers are actually interleaved to make this process work smoother.

Fortunately for Intel (and AMD) engineers, this feat wouldn’t have to be repeated again with the arrival of AMD64 and x86_64 many years later, when the 386’s mere 275,000 transistors on a 1 µm process would already be ancient history.

Want to dive even deeper in to the 386? This isn’t the first time [Ken] has looked at the iconic chip.

4 thoughts on “The Convoluted Way Intel’s 386 Implemented Its Registers

  1. does the AMD Ryzen 9 9950X3D have the same isa as the pentium n6000?

    AI Overview.

    No, the AMD Ryzen 9 9950X3D and the Intel Pentium Silver N6000
    do not have the same Instruction Set Architecture (ISA).
    They belong to different processor families and generations,
    meaning they execute instructions differently.

    is ease of changing hardware designed with software becoming an issue?

    AI Overview .

    Yes, while the trend toward software-defined hardware offers flexibility,
    ease of changing hardware designs can become an issue if the
    software is not updated to accommodate the changes. The
    complexity of integrating hardware and software, including
    firmware updates and adapting software to new hardware,
    can lead to problems if not managed effectively.

    N6000 low-power, low-cost now installed on Lenovo PC with
    large memory capacities … running Windows 11 home.
    Exanple: N600, 12/128/256 GB laptop for $205.

      1. I read most of this post, and it didn’t sit right so I came back today to comment, william payne, please don’t do this in the future. The behavior does not sit right with me, to ask a question to an AI that is tangentially connected to the content and then reply what bot said.

        I’m not connected to hackaday, just a reader, but I wanted to give feedback that this is not a positive social behavior.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.