爱好者们对 i386 微代码进行了反汇编,并创建了开源的 z386 CPU。

发烧友 可能 成功提取并反汇编了英特尔 80386 处理器的微代码。由于缺乏文档,该处理器一直被视为“黑盒”。利用人工智能技术,根据芯片的高分辨率照片重建了微代码的二进制图像,并结合芯片上的走线分析了其逻辑。逐步确定了微操作(μ-ops)、字段、执行顺序和指令结束标记的结构。项目亮点 发表 在 GitHub 上作为公共领域发布。


研究发现,在 80386 CPU 中,所有指令都完全通过微代码执行,而在 8086 和现代处理器中,部分指令是直接执行的。此外,与 8086 处理器不同,80386 中的微代码并不直接实现算法,而是主要用于配置硬件加速器(乘法器、除法器等)。 快速转变,PTU(保护测试单元)。

该研究还发现 IO 权限位图处理中存在一个潜在的安全问题:访问 4 字节端口时,仅检查前 3 个字节的权限位,而未检查对第 4 个字节的访问,这在理论上允许访问不应该访问的硬件寄存器。

基于已发布的微代码 由...开发 打开 CPU z386用 SystemVerilog 语言实现,并在 FPGA 上运行。它没有将每条指令都单独实现。 RTL(wikipedia.org) z386 实现了由原始微代码控制的硬件结构(寄存器传输级)。该实现的性能与一台高速 386 PC(~70 MHz)相当。z386 成功运行了 DOS 6/7、DOS/4GW、DOS/32A 以及 Doom 和 Cannon Fodder 等游戏。

来源: linux.org.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster