The Load Slice Core Microarchitecture
-
摘要:
- 背景:
- 为了挖掘ILP,处理器从简单的按序流水线发展为超标量乱序流水线。利用超标量乱序流水线在提高ILP的同时,也能够提高cache和memory操作的并行。
- 但是随着片外的存储墙和更复杂多核中的缓存层级结构,cache和memory的访问代价变得更大,因此MHP(memory hierarchy parallelism)的重要性也更加重要。
- 多核处理器经常工作在功耗和能耗受限的环境中,因此能效将会更加重要
- 论文工作
- 目标:提出一种处理器微架构(Load Slice Core),能够提供对存储层次结构的并行访问,同时最大化能效
- Load Slice Core:使用第二条按序流水线扩展了一个按序,stall-on-use(正在使用而停顿)的高效流水线,第二条流水线允许内存访问和地址生成指令绕过原本流水线中停顿的指令
- 在该结构中,利用硬件实现了自动提取包含load和store指令的地址计算指令的向后程序片(backward program slice)
- 论文结果:
- LSC相对于基准的按序处理器,性能提升了53%,面积增加了13%,功耗增加了22%。在能效上(MIPS/Watt),相对于按序和乱序流水线提高了43%和4.7倍
- 对于一个功耗和面积限制的众核设计中,LSC相对于乱序和按序设计,能够提高53%和95%的性能
- 背景:
-
介绍:
- 现状:首先处理器性能的发展和主存的发展不协调,出现了存储墙;其次是ILP提取的饱和和功耗的限制使得多核和众核的出现;随着而来的是众核导致的更加复杂的片上存储层级结构和更复杂的一致性处理,存储的访问延迟也会因此提高
- MHP(memory hierarchy parallelism):论文定义为从核的角度,是发生在缓存的所有层次的重叠的存储存取操作的平均数目
- 乱序处理器:乱序处理器在挖掘ILP的同时也会自动提高MHP,但是这种做法的代价很大,包括芯片设计复杂度,功耗和面积
- 已有的阻止处理器由于长延迟loads而停顿的技术
- runahead execution:提前执行,以发现并且预取独立的数据