The Lede

In a groundbreaking achievement, a team of reverse-engineers has successfully disassembled the 80386 microcode, a feat that has been years in the making. The 80386 microcode is a complex set of instructions that govern the behavior of Intel's 386 processor, a cornerstone of modern computing. By deciphering these micro-instructions, researchers have gained a deeper understanding of how the processor executes complex operations, a fundamental aspect of computer science.

Background & Context

The reverse-engineering effort began with the successful disassembly of the 8086 microcode, a precursor to the 80386 processor. Andrew Jenner, a pioneer in microcode disassembly, used die photos to extract the micro-instructions from the 8086's microcode ROM. This breakthrough laid the groundwork for the 80386 disassembly, which was made possible by a collaborative effort involving reenigne, Ken Shirriff, and other contributors. The 80386 microcode is significantly larger and more complex than its 8086 counterpart, posing significant challenges for the reverse-engineering team.

Deep Dive

The disassembled 80386 microcode reveals a rich tapestry of micro-instructions, each with its own unique characteristics. The microcode consists of 37-bit instructions, which are executed in multiple cycles to perform complex operations. The source, destination, and ALU operations are all intricately linked, making it a challenging task to decipher the microcode. Researchers have identified specific patterns and structures within the microcode, which provide valuable insights into the processor's architecture. For example, the microcode includes instructions for the WAIT operation, which temporarily disables interruptions, and the match-decoder PLA, which helps decode opcodes.

Expert Angle

According to Ken Shirriff, a renowned expert in reverse-engineering, the disassembled 80386 microcode is a significant achievement that will have far-reaching implications for the development of open-source CPUs. 'This breakthrough provides a unique opportunity for researchers to study the processor architecture and develop new, more efficient CPU designs,' Shirriff noted. However, other experts caution that the complexity of the microcode may pose significant challenges for open-source CPU development.

What Comes Next

The successful disassembly of the 80386 microcode is a significant milestone in the field of reverse-engineering and processor architecture. As researchers continue to study and analyze the microcode, we can expect to see new developments in open-source CPU design and a deeper understanding of processor behavior. The open-source community, led by projects such as z386, will likely play a crucial role in leveraging these findings to develop more efficient and innovative CPU designs.