Hacker News 中文摘要

RSS订阅

z386:基于原始微码的开源80386处理器 -- z386: An Open-Source 80386 Built Around Original Microcode

文章摘要

z386是一款基于英特尔原始微码的开源80386处理器FPGA实现,能够运行DOS系统和保护模式程序,性能接近70MHz的386或低端486。其代码量和资源占用优于ao486,时钟频率达85MHz,可流畅运行《毁灭战士》等游戏。该项目旨在通过还原硬件架构来支持原始控制ROM运行。

文章总结

标题:z386:基于原始微码的开源80386处理器

核心内容概述: 1. 项目背景 - z386是基于英特尔原始微码构建的386级CPU开源项目 - 已实现运行真实软件的能力,包括DOS 6/7、DOS/4GW等保护模式程序 - 性能表现相当于约70MHz带缓存的386或低端486

  1. 技术架构
  • 采用8大功能单元设计,与原始386架构高度一致:
    • 预取单元(16字节代码队列)
    • 解码器(双PLA结构解码)
    • 微码序列器(2560条37位宽微指令)
    • ALU与移位器
    • 分段单元
    • 保护单元
    • 分页单元(32项TLB)
    • 总线接口单元
  1. 关键技术
  • 16KB 4路组相联VIPT缓存设计
  • 微码执行采用双周期最小流水线
  • 保护模式PLA验证机制
  • 支持实模式/保护模式/VM86模式切换
  1. 测试验证
  • 开发了实模式/保护模式单步测试套件
  • 通过SeaBIOS、FreeDOS等系统级测试
  • 支持《毁灭战士》等经典游戏运行
  1. 项目意义
  • 验证了基于原始微码重建历史处理器的可行性
  • 揭示了386架构在x86演进中的关键地位
  • 为计算机架构考古提供了实践案例

当前状态: - 已在Cyclone V等多款FPGA平台实现 - 运行频率达85MHz - 3D性能达到原装机70%水平

(注:原文中约30%的调试细节和技术参数对比表格等内容因与核心主题关联较弱,在概述中进行了适当精简)

评论总结

以下是评论内容的总结:

  1. 关于微码分析的疑问

    • 主要观点:询问是否发现无需开盖就能读取微码的后门方法
    • 引用:
      "Did the microcode disassembly find any useful backdoors to read microcode without decapping?"
      ("微码反汇编是否发现了无需开盖就能读取微码的有用后门?")
  2. 386处理器的实际应用

    • 主要观点:讨论386处理器是否仍在某些特定场景中使用
    • 引用:
      "Are there today any 386 instances running somewhere in the basement to do some productive stuff?"
      ("现在还有386实例在地下室运行并处理某些生产性任务吗?")
      "Around 98/99... it was still in use while we had already ethernet/USB/3.5 floppies etc."
      ("大约在98/99年...它仍在使用,而我们已经有了以太网/USB/3.5软盘等")
  3. FPGA实现的规模

    • 主要观点:对仅需18K LUTs的FPGA实现表示惊讶
    • 引用:
      "Kind of surprised this only takes 18K LUTs. That's a fairly small FPGA these days."
      ("有点惊讶这只需要18K LUTs。这在当今是一个相当小的FPGA。")
  4. 相关技术讨论

    • 主要观点:提及386处理器运行Linux和Doom的可能性
    • 引用:
      "Of course they tested Doom :-D"
      ("当然他们测试了Doom :-D")
      "They might also run Linux kernel 3.7, that supported i386."
      ("他们可能还运行支持i386的Linux内核3.7。")