z386: An Open-Source 80386 Built Around Original Microcode
4 hours ago
- #Microcode
- #FPGA
- #80386
- z386 is an open-source FPGA implementation of the Intel 80386 CPU built around recovered original microcode, similar to the earlier z8086 project.
- It successfully boots DOS 6/7, runs protected-mode software like DOS/4GW and DOS/32A, and plays games such as Doom and Cannon Fodder, performing comparably to a fast cached 386 or low-end 486.
- The core uses a 16 KB, 4-way set-associative unified L1 cache to improve performance and reduce memory contention, operating at an FPGA clock of 85 MHz.
- Key components include an instruction prefetch unit, decoder with PLA tables, microcode sequencer, ALU/shifter, segmentation, protection, paging units, and a BIU/cache/memory path.
- Testing involved extensive use of single-step test suites for both real and protected modes, along with real software like SeaBIOS, FreeDOS, and DOS extenders for integration.
- Compared to ao486, z386 follows a coarse-grained, microcode-driven architecture with large cooperating units, whereas ao486 uses a finer-grained pipeline approach.
- The project highlights the 80386's significance in establishing the modern x86 architecture with 32-bit support, protected mode, paging, and backward compatibility.
- Recovered microcode provided deep insights into the original hardware design, making the implementation both an educational reconstruction and a functional FPGA CPU.