Freeway:Maximizing MLP for Slice-Out-of-Order Execution

Freeway: Maximizing MLP for Slice-Out-of-Order Execution

  1. 摘要:

    • 问题:
      • 为了能够掩盖内存和LLC的长访问延迟,充分的利用MLP将非常重要。尽管当前OOO处理器中能够有效的利用MLP,但是硬件复杂,能效低,能耗大
      • 之前的工作:sOOO(slice-out-of-out)是一种相对于OOO核能效更高的,能够利用MLP的微架构。这种结构将存储指令和相关指令构建成为代码片段,并且相对于剩余的指令,乱序的执行(slice内部和剩余指令都是按序,两者相对乱序)
      • sOOO的问题:在存储指令代码片中的指令由于是按序执行,会出现不相关的的指令阻塞后面的代码片中后面的指令执行(不同的slice之间,由于按序执行,导致slice之间的阻塞)
    • 论文工作:Freeway,一种新的sOOO微结构,设计了一种新的可感知相关(dependence-aware)的slice执行策略,这种策略可以跟踪相关的slices,并使它们不受MLP提取的影响
    • 结果:Freeway相对于之前的sOOO的性能提升了12%
  2. 介绍:

    • 乱序执行可以提取MLP,因为可以同时将不相关的ready的多个存储操作同时发射执行,但是这种架构的能耗也非常大。例如OOO中的指令队列的结构通常是CAM结构(content addressable memory),这种结构的功耗随着队列长度和发射宽度成超线性(super-linearly)增长
    • Runahead execution:当OOO停顿时,能够继续提取MLP,但是需要额外的资源用于checkpointing,恢复状态,追踪有效和无效的结果,伪提交和一个runahead cache,即也会增加更多的能耗
    • slice out-of-order:LSC(load slice core)
      • 构建

你可能感兴趣的:(computer,architecture)