MIPS/Pipeline 关于独特的数据和指令内存

MIPS/Pipeline regarding unique Data & Instruction memory

拥有独特的数据和指令内存对我们使用标准的 5 级流水线有何影响?有无转发又如何?

每个内存不同有什么好处?

不管有没有转发,如果你只有一个端口来访问内存(例如独特的数据和指令内存总线)并且为了简化假设系统中没有缓存(所以每次内存访问都需要使用内存unit) 那么每条需要 MEM 阶段来使用内存总线的指令都会产生结构性风险,因为 CPU 将无法并行执行 FETCH 和 MEM 阶段,因为它们都需要访问内存。

如果你有两个端口来访问内存(例如,一个用于指令,另一个用于数据),那么上面提到的结构危险将被避免,因为每个内存访问阶段将使用自己的总线+内存。