architecture - (Nand2tetris CPU)(什么/多少)在每个时钟周期发生?
问题描述
在Nand2tetris CPU的基础上,如下图,想知道以下几点:
(什么/多少)在每个时钟周期内发生? (见 IMG_1 和 IMG_2)
作为问题 1 的后续问题,程序计数器应该何时更改?
请注意,我知道时钟是什么以及何时
IMG_1
IMG_2
解决方案
Nand2Tetris 仿真掩盖了时钟的许多细微之处。没有滴答/滴答阶段。相反,有一个特殊的 DFF(数据触发器)组件可以满足对内存的需求。
可视化它的方法是将组件划分为没有内部状态的组件(那些是其输入的纯函数,例如没有 DFF 构建的任何组件)。当它们的输入发生变化时,它们会立即改变它们的输出状态。
DFF 基本上将其新状态计算为其输入的纯函数,但将输出该状态延迟一个周期。所以它有一个内部记忆,它在前一个周期中的状态。事实证明,这就是实现相当于滴答/滴答时钟所需的全部内容。
有关更多详细信息,请参阅https://docs.wixstatic.com/ugd/56440f_e458602dcb0c4af9aaeb7fdaa34bb2b4.pdf 。
推荐阅读
- r - 更新 R Shiny 中的 DT 列过滤器选择
- javascript - 将对象从节点传递到前端
- laravel - Vue laravel Axios 获取的请求 URL 与路由列表中的不同
- python - 星期格式不一致
- python - Python:使用 py2app 在 MacOS 上制作独立的可执行文件
- python-3.x - 如何为熊猫直方图设置 x 值以匹配箱
- pascal - Pascal 中的“集合”运算符
- docker - docker-compose up 无法构建
- angular - Angular 5 FormGroup Validator 预期的验证器返回 Promise 或 Observable
- mysql - (`library`.`book_loans`, CONSTRAINT `book_loans_ibfk_3` FOREIGN KEY (`isbn`) REFERENCES `book` (`isbn`))