在流水线 RISC-V CPU 中,假设 IMEM 是同步读取。为什么我们要这样设置PC和指令寄存器?
据我所知,这是PC初始设置后的数据流: PC 之后的数据流向
这会导致后续阶段PC寄存器和指令寄存器不匹配。然而,我看到的每个参考文献都是这样设置的。
您的问题并不完全清楚,但我相信您假设从指令存储器加载数据仅发生在时钟的上升沿。情况并非完全如此,通常会有一些缓存会异步读取,以便数据在一个周期内可用。如果读取必须来自仅在时钟上升沿读取的内存,则需要引发一个停顿周期,这会将整个 cpu 冻结到位,以便它可以赶上内存。