在 PIPELINE 中,MEM(内存)和 IF(指令获取)是相同的硬件元素吗?
如果是相同的内存,那么 2 条指令不能加载或存储在同一个周期时钟中,我是对的吗?
MIPS处理器图
MEM(内存)和 IF(指令获取)是相同的硬件元素吗?
不,没有,因为a)为什么它们会被绘制为单独的块,以及b)代码加载(== fetches)与数据加载不同。代码获取用于了解新指令想要对数据做什么——函数,加载/存储是获取该函数参数的行为。
如果是相同的内存,那么 2 条指令不能加载或存储在同一个周期时钟中,我是对的吗?
加载和存储都在 MEM 阶段完成,而不是 IF 阶段。因为图上只有一个 MEM 块,所以每个时钟最多可以做一个与内存相关的操作。这并不意味着 IF 阶段必然被 MEM 阻塞。指令/数据存储器是分开的,还是有指令缓存,都可以定义,但这超出了您显示的图表的范围。