🐟 (@stevessr) 在 Z386:围绕原始微代码构建的开源 80386 中发帖
[!quote]+
在 FPGA 上实现英特尔 i386 CPU 的方法有很多,其中使用原始微代码可能是最有趣的方法之一。这就是 [nand2mario] 的 z386 项目所做的事情,最近的一篇博文总结了这个 FPGA 项目迄今为止的发展情况。
该项目与之前开发的 z8086 项目类似,大家可能都猜到了,除了英特尔 8086 CPU 之外,该项目也做了类似的事情。通过执行原始微代码,你基本上可以保证与原始硬件的紧密兼容性,当然,8086 和 80386 之间的微代码规模是完全不同的。
它的指令集更大,需要跟踪的内部状态也相应复杂得多,包括内存管理、分页和寄存器调试等所有新奇功能,以及从 i286 开始的保护模式扩展。
目前,z386 可在多种 FPGA(包括 Altera Cyclone V 和 Gowin GW5A)上运行,其性能相当于约 70 MHz 的 i386,但周...