首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ADD是Z80上的4个循环?

为什么ADD是Z80上的4个循环?
EN

Stack Overflow用户
提问于 2017-03-09 21:40:45
回答 1查看 460关注 0票数 2

我使用这个ALU框图作为学习材料:http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html

我对电子学不熟悉。我目前认为,需要一个时钟周期来将数据从寄存器或锁存转移到另一个寄存器或锁存,最终通过一个逻辑门网。

下面是我对发生的事情的理解,并补充如下:

  • 周期1:将寄存器移动到内部锁
  • 循环2:将低咬口内部锁存到内部结果锁(通过ALU)
  • 周期3,并行:
    • 将高容量的内部锁移动到目标寄存器(通过ALU)
    • 移动内部结果锁存器以注册

我认为操作周期3是并行完成的,因为有两条4位总线(用于高和低比特),而寄存器总线似乎是8位。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-10 23:20:33

z80数据表

在M1循环开始时,PC被放置在地址总线上。半个时钟周期后,MREQ信号启动。此时,对存储器的地址已经有时间稳定下来,这样MREQ的下降边缘就可以直接用作芯片,使时钟能够动态记忆。RD线还活动以指示应该在CPU数据总线上启用存储器读取数据。CPU利用状态T3时钟的上升边缘从数据总线上的存储器中采集数据,并利用这一边缘关闭RD和MREQ信号。因此,在RD信号变为非活动之前,CPU已经对数据进行采样。提取周期的时钟状态T3和T4用于刷新动态存储器。CPU使用这个时间来解码和执行获取的指令,以便此时不能执行其他操作。

因此,它似乎主要是关于内存接口,以读取操作码,而不是实际上做的加法-解码和执行完全发生在时钟状态T3和T4。考虑到z80 有一个4位的ALU,执行8位加法需要两个操作。这很可能解释了两个周期的使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42705971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档