Z80 ALU 上的零标志是如何实现的?

逆向工程 硬件
2021-06-29 06:41:28

Z80 是一种流行的 8 位处理器,带有 4 位 ALU。

Z80铝

为寄存器实现零标志应该是直截了当的,这将是NOR寄存器上所有位的逻辑

巨大的NOR

类似的东西适用于少量输入。对于 64 位处理器,您无法制作一个NOR具有 64 个输入的巨大门。扇入会太高。8个晶体管串联。电路电容会很高,从而减慢其他一切。

我可以看到一些其他选项。

  • 可以使用 2 级逻辑直接从 8 位结果生成零标志。

两级逻辑 两级逻辑

  • 可以使用 3 级逻辑直接从 8 位结果生成零标志。

三级逻辑

  • 零标志可以从每个半字节生成,然后放在一起,就像有一个“半”零标志一样。在等待计算高半字节结果时,将使用触发器保存较低的结果。

蚕食

Ken Shirriff写了一篇关于对 Z80 ALU 进行逆向工程的好文章。然而,当谈到零旗时,他说:

框图中未显示计算奇偶校验、测试零以及检查 4 位值是否小于 10的简单电路。这些值用于设置条件标志。

因此,虽然它们是简单的电路,但我想确切地知道它们是如何实现的,以及它们是否使用了上面提出的任何实现或其他完全不同的实现。

1个回答

好吧,如果你想知道它是如何完成的

然后下载您想要研究的模型Z80 模具镜头,裁剪ALU部分并识别所有可能的门,直到您挖掘到零标记您的自我(抱歉间接回答)。

这是我的 Z80 ALU 后期处理模具

Z80铝

  • 白色金属
  • 绿色-多晶硅
  • 红掺杂硅(扩散)
  • 灰色 - 层间导电接头

尝试识别所有可以识别的登机口和公交车(并将它们标记到图像上)

Z80 ALU 标记

当发现像Wire OR、(N)OR级联、...这样熟悉的结构时,您就肯定知道了。只需尝试找到基本组件,例如:

组件

形成电路原理图并对其有所了解。