MIPS/Pipeline 关于独特的数据和指令内存
MIPS/Pipeline regarding unique Data & Instruction memory
拥有独特的数据和指令内存对我们使用标准的 5 级流水线有何影响?有无转发又如何?
每个内存不同有什么好处?
不管有没有转发,如果你只有一个端口来访问内存(例如独特的数据和指令内存总线)并且为了简化假设系统中没有缓存(所以每次内存访问都需要使用内存unit) 那么每条需要 MEM 阶段来使用内存总线的指令都会产生结构性风险,因为 CPU 将无法并行执行 FETCH 和 MEM 阶段,因为它们都需要访问内存。
如果你有两个端口来访问内存(例如,一个用于指令,另一个用于数据),那么上面提到的结构危险将被避免,因为每个内存访问阶段将使用自己的总线+内存。
拥有独特的数据和指令内存对我们使用标准的 5 级流水线有何影响?有无转发又如何?
每个内存不同有什么好处?
不管有没有转发,如果你只有一个端口来访问内存(例如独特的数据和指令内存总线)并且为了简化假设系统中没有缓存(所以每次内存访问都需要使用内存unit) 那么每条需要 MEM 阶段来使用内存总线的指令都会产生结构性风险,因为 CPU 将无法并行执行 FETCH 和 MEM 阶段,因为它们都需要访问内存。
如果你有两个端口来访问内存(例如,一个用于指令,另一个用于数据),那么上面提到的结构危险将被避免,因为每个内存访问阶段将使用自己的总线+内存。