管道 - mem(内存)和 if(取指令)

PIPELINE - mem(memory) and if(instruction fetch)

在PIPELINE中,MEM(内存)和IF(取指令)是同一个硬件元素吗?

如果内存相同,那么 2 条指令不能加载或存储在同一个周期时钟中,对吗?

MIPS 处理器图

MEM (memory) and IF (instruction fetch) are the same hardware element?

不,没有,因为 a) 为什么将它们绘制为单独的块,以及 b) code 加载(== 提取)与 数据 加载。代码提取用于了解新指令想要对数据做什么 - 函数,loads/stores 是获取该函数参数的行为。

If are the same memory then 2 instructions can't load or store in the same cycle clock, I'm right?

加载和存储都在 MEM 内完成,而不是 IF 阶段。因为图中只有一个MEM块,所以每个时钟最多只能做一个内存相关的操作。这并不意味着 IF 阶段一定会被 MEM 阻塞。 instruction/data 内存是分开的,还是有指令缓存,都可以定义,但这超出了您显示的图表的范围。