【发布时间】:2018-11-08 20:57:02
【问题描述】:
如果完成一条指令所需的时钟周期数超过 1,这是否意味着程序计数器在同一指令周期内递增一次以上。我有这个疑问,因为据我所知,寄存器会在每个时钟脉冲上更新。
这是否意味着如果系统等待内存 3 个时钟周期 pc 将是 pc +12?
【问题讨论】:
-
在一个简单的非流水线微架构中,内部确实有一个用于程序计数器的物理寄存器(与现代 CPU 不同:Does Program Counter hold current address or the address of the next instruction?),您将有一个内部“启用”信号用于增加它的逻辑,这仅适用于指令开始或结束时的一个时钟脉冲,具体取决于设计。经常启动,这样至少可以流水线预取下一个 insn,就像在原始 8086 中一样。
-
使能信号如何与指令周期同步。因为不同指令占用的时钟周期是不一样的。那么我们怎么知道我们的指令完成了,我们必须递增pc。
-
通过任何机制确定哪个周期是指令的最后一个周期。
-
好的,谢谢!!
标签: cpu-architecture