Performance Improvements For Open-Source 80386 | Hackaday
Skip to content
The Intel 80386 is a rather fascinating slice of computer history. It marked the first 32 bit X86 processor, and was a staple of early desktop computing. Like all chips, it has a number of quirks, one of which being the fact that all commands are executed in microcode. By this nature, it was a rather excellent prospect to be re-implemented in an FPGA core called the z386. However, it was lacking a feature native to the original 386, early start memory access. If you haven’t been c, [nand2mario] went forth to fully implement this feature for FPGA 80386s.
Instead of taking a cycle to find and allocate the memory required for executing the next instruction, the 386 would start this in the previous cycle. This is achieved in hardware by nature of having a separate memory management unit. In the FPGA, the key difficulty proved to be in getting the computation fast enough to execute within a single cycle. This change netted an approximate 9% performance benefit. However, for [nand2mario] this was too small a performance uplift.
Some rewrites of the store cue allowed for cutting a cycle out of the process further improving the performance. However, more performance required slight deviations from the design of the original 386. Because code-branches are performance critical, the z386 project now computes the branch memory jump several cycles earlier than the 386, reducing the cycle time for the jumps from 9.25 to a mere 6. Some final changes to the microcode decode frontend rounded out the optimizations covered in this latest blog post.
The net result is an approximate 39% increase in performance in the all important DOOM benchmark. The z386 still not a complete project, the performance is still lacking compared to the 386, and it remains unable to boot Windows. X86 is complicated, which will take time, so make sure to stay tuned for more coverage! While you wait, make sure to check out our original writeup of the z386 project.
Pauli Rautakorpi, CC BY 3.0.
One thought on “Performance Improvements For Open-Source 80386”
" If you haven’t been c," I challenge you to name someone who has. It’s not just the Comments that need and Edit button.
Report comment
Reply
Leave a ReplyCancel reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)<br>This site uses Akismet to reduce spam. Learn how your comment data is processed.
Search
Search for:
Never miss a hack
Follow on facebook<br>Follow on twitter<br>Follow on youtube<br>Follow on rss<br>Contact us
Subscribe
If you missed it
Ultra-Long Range Flights To Ease Australian Air Travel
30 Comments
Know Your Food: Organic Production
32 Comments
UDP Broadcasting And Easily Finding Network Services
21 Comments
How Airspeed Sensors Work
28 Comments
The Teenage Angst Of 3D Printing: Solidoodle, Printrbot, And Bridges
40 Comments
More from this category
Our Columns
Hackaday Europe 2026: Is Your Blood Pressure Monitor Lying To You?
17 Comments
Hackaday Links: July 5, 2026
7 Comments
Yesterday’s Technology, Re-engineered Today
12 Comments
Hackaday Podcast Episode 376: Modern Retro Projects, Retro Modern Projects, And The Teen Years For 3D Printing
2 Comments
This Week In Security: Windows 10 Gets Another Year, SmartTV Botnets, Hiding Payloads, And LastPass Customer Leak
6 Comments
More from this category
Search
Search for:
Never miss a hack
Follow on facebook<br>Follow on twitter<br>Follow on youtube<br>Follow on rss<br>Contact us<br>Subscribe
If you missed it
Ultra-Long Range Flights To Ease Australian Air Travel
30 Comments
Know Your Food: Organic Production
32 Comments
UDP Broadcasting And Easily Finding Network Services
21 Comments
How Airspeed Sensors Work
28 Comments
The Teenage Angst Of 3D Printing: Solidoodle, Printrbot, And Bridges
40 Comments
More from this category<br>Categories<br>Categories<br>Select Category<br>3d Printer hacks<br>Android Hacks<br>Arduino Hacks<br>ARM<br>Art<br>Artificial Intelligence<br>Ask Hackaday<br>ATtiny Hacks<br>Battery Hacks<br>Beer Hacks<br>Biography<br>blackberry hacks<br>Business<br>car hacks<br>Cellphone Hacks<br>chemistry hacks<br>classic hacks<br>clock hacks<br>cnc hacks<br>computer hacks<br>cons<br>contests<br>cooking hacks<br>Crowd Funding<br>Curated<br>Current Events<br>Cyberdecks<br>digital audio hacks<br>digital cameras hacks<br>downloads hacks<br>drone hacks<br>Engine Hacks<br>Engineering<br>Fail of the Week<br>Featured<br>Fiction<br>firefox hacks<br>FPGA<br>g1 hacks<br>Games<br>google hacks<br>gps hacks<br>green hacks<br>Hackaday Columns<br>Hackaday links<br>Hackaday Store<br>Hackerspaces<br>HackIt<br>handhelds hacks<br>hardware<br>High Voltage<br>History<br>Holiday Hacks<br>home entertainment hacks<br>home hacks<br>how-to<br>Interest<br>internet hacks<br>Interviews<br>iphone hacks<br>ipod hacks<br>Kindle hacks<br>Kinect hacks<br>laptops hacks<br>Laser Hacks<br>LED Hacks<br>Lifehacks<br>Linux Hacks<br>lockpicking hacks<br>Mac Hacks<br>Machine Learning<br>Major Tom<br>Medical Hacks<br>Microcontrollers<br>Misc Hacks<br>Multitouch Hacks<br>Musical Hacks<br>Netbook Hacks<br>Network Hacks<br>News<br>Nintendo DS Hacks<br>Nintendo Game...