对于很多硬件工程师来说,Intel 80386 是一个传奇。

它不仅开启了 32 位 PC 时代,也奠定了后来 x86 计算机几十年的基础架构。
而最近,一个名为 Z386 的开源项目正在尝试做一件相当疯狂的事情:
用 FPGA 重新实现 Intel i386,而且还能运行 Doom。
项目消息最近出现在多个硬件社区,引起了不少 FPGA 和复古计算机爱好者关注。

前言

在FPGA上实现Intel i386 CPU的方法有很多,其中使用原始微代码可能是最有趣的方法之一。z386项目正是采用了这种方法。
“z386 是一款基于英特尔原始微代码构建的 386 级 CPU,其设计理念与 z8086 相同,“它的核心并非 RTL(寄存器传输级)指令级模拟器。其目标是尽可能地还原原机,以便恢复的 386 控制 ROM 能够驱动它。如今,z386 可以启动 MS-DOS 6 和 DOS 7,运行 DOS/4GW 和 DOS/32A 等保护模式程序,并能运行 id Software 的《Doom/毁灭战士》和 Sensible Software 的《Cannon Fodder/炮灰》等游戏。”

目前,z386 架构已可在多种 FPGA 上运行,包括 Altera Cyclone V 和 Gowin GW5A,其性能与 70 MHz 左右的 i386 处理器相当,但周期效率略低,部分原因可能是其缓存容量仅为 16 kB,而最快的 i386 CPU 则拥有 32 kB 以上的缓存。无论如何,它足以运行各种软件,包括像 DOOM这样的游戏。

什么是微码
现代 CPU 执行:
MOV
ADD
MUL
JMP
这些指令时,
内部并不是直接完成动作。
而是进一步拆解成更底层的控制步骤。
例如:
取指
↓
译码
↓
寄存器读取
↓
ALU运算
↓
写回
这些底层控制序列就是:
Microcode(微码)
早期复杂指令集 CPU(CISC)大量依赖微码实现。
而 80386 正是经典代表之一。
历史
英特尔于 1985 年推出了 386 处理器,最初名为 80386,后来更名为 i386,承诺比其前代 286 处理器性能更强,并支持高达 4GB 的内存。尽管直到 2007 年才正式停产,但 386 处理器一直是英特尔的畅销产品,即便在 1989 年速度更快的 i486 处理器发布之后也是如此。

“有理由认为,386 是英特尔最重要的 CPU,它并非最简洁,在当时速度也并非最快,设计也并非最优雅。但它在硬件和软件的结合方面做得相当出色:它是一款 32 位 x86 处理器,具备保护模式、分页机制和良好的向下兼容性。另一种观点也提出了类似的看法:我们现在所说的 x86 架构,正是从 80386 开始真正成型的。”

链接
参考链接:
https://hackaday.com/2026/05/25/z386-an-open-source-80386-built-around-original-microcode/
https://www.hackster.io/news/the-z386-is-an-fpga-re-implementation-of-intel-s-i386-and-yes-it-runs-doom-c2dfe05c3625
项目链接:
nand2mario 的博客上有完整的介绍文章(包括设计细节);
https://nand2mario.github.io/posts/2026/z386/
源代码在 GitHub 上:
https://github.com/nand2mario/z386
可在基于 MiSTer FPGA 的平台上运行的核心:
https://github.com/nand2mario/z386_MiSTer
资源消耗(和Ao486对比):


往期精选




FPGA技术江湖广发江湖帖
无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。
FPGA技术江湖微信交流群

加群主微信,备注姓名+学校/公司+专业/岗位进群
FPGA技术江湖QQ交流群

备注姓名+学校/公司+专业/岗位进群
