Hackaday – 25 May 26
Z386: An Open-Source 80386 Built Around Original Microcode
There are many ways you can implement an Intel i386 CPU on an FPGA, with the use of original microcode probably being one of the most interesting approaches. This is what [nand2mario]’s z386 …
github.com[!quote]+
在 FPGA 上实现英特尔 i386 CPU 的方法有很多,其中使用原始微代码可能是最有趣的方法之一。这就是 [nand2mario] 的 z386 项目所做的事情,最近的一篇博文总结了这个 FPGA 项目迄今为止的发展情况。
该项目与之前开发的 z8086 项目类似,大家可能都猜到了,除了英特尔 8086 CPU 之外,该项目也做了类似的事情。通过执行原始微代码,你基本上可以保证与原始硬件的紧密兼容性,当然,8086 和 80386 之间的微代码规模是完全不同的。
它的指令集更大,需要跟踪的内部状态也相应复杂得多,包括内存管理、分页和寄存器调试等所有新奇功能,以及从 i286 开始的保护模式扩展。
目前,z386 可在多种 FPGA(包括 Altera Cyclone V 和 Gowin GW5A)上运行,其性能相当于约 70 MHz 的 i386,但周期效率略低,部分原因可能是 16 kB 缓存有限,而最快的 i386 CPU 拥有 32 kB 以上的缓存。无论如何,它足以运行各种软件,包括 DOOM 等游戏。
需要注意的是,这里的目标并不是要比 ao486 等内核的性能更强,而是要对原始硬件及其与上述微码的交互进行考古重建。
GitHub - nand2mario/z386: Compact 80386 CPU in SystemVerilog
Compact 80386 CPU in SystemVerilog
1 个帖子 - 1 位参与者