CPU缓存与主存的数据存取方式是什么?
采用分立Cache技术,即将指令和数据分别存放在独立的指令Cache和数据Cache中,这种架构对CPU采用流水线执行方式大有裨益。在流水线操作中,经常会出现同一个操作周期内,既需要预取下一条指令,又需要执行当前指令的取数据操作。如果使用的是统一的Cache,这种并发需求就会导致取指令和取数据的访存冲突,进而造成流水线断流,严重拖慢效率。而分立Cache允许两者同时独立进行,消除了冲突,极大地有利于流水线的高效实现。
采用分立Cache技术,即将指令和数据分别存放在独立的指令Cache和数据Cache中,这种架构对CPU采用流水线执行方式大有裨益。在流水线操作中,经常会出现同一个操作周期内,既需要预取下一条指令,又需要执行当前指令的取数据操作。如果使用的是统一的Cache,这种并发需求就会导致取指令和取数据的访存冲突,进而造成流水线断流,严重拖慢效率。而分立Cache允许两者同时独立进行,消除了冲突,极大地有利于流水线的高效实现。
确实,哈佛架构在高性能计算中优势明显。不过现在的CPU大多采用伪分离,主存还是统一的,只在L1阶段分开。这主要是为了平衡面积和功耗,毕竟完全分立对芯片设计成本要求太高了。