Boomerang: a Metadata-Free Architecture for Control Flow Delivery

论文提出Boomerang架构,通过利用分支预测器无元数据地预填充I-cache和BTB,减少流水线停顿,提高性能。实验表明,Boomerang在减少元数据开销的同时,性能与最新技术相当,降低了BTB相关的流水线刷新,性能提升约27.5%。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Boomerang(回旋镖): a Metadata-Free Architecture for Control Flow Delivery

  1. 摘要:

    • 问题:现在服务器的工作负载的具有大量的指令,占用更深的分层软件堆栈,整个堆栈的活动指令工作集很容易到MB,已经容易导致指令cache缺失率增加,从而导致前端停顿增加,另一方面这种大规模的指令工作集中的大量的分支也会使得BTB缺失,而导致流水线刷新。之前的解决方法都需要专用的元数据结构,因此需要大量的额外存储,同时更加复杂
    • 论文的目的:希望减少或者不使用之前技术需要的元数据成本,来实现高性能的控制流交付(delivery)
    • 论文的工作:
      • 解释了基于分支预测器的定向预取有效的原因
      • 提出了Boomerang,一种可提供高性能控制流交付的无元数据的结构。通过利用基于分支预测器的定向预取器,发现并且预填充I-cache块和BTB的缺失表项。在这种结构中,识别和填充BTB缺失表项不需要额外的硬件开销
      • 实验表明:Boomerang的性能和最新的控制流交付策略基本匹配,同时不需要后者如此多的元数据开销和复杂性
  2. 介绍:

    • 降低I-cache和BTB缺失率的方法:硬件预取
      • I-cache的预取器主要通过依靠时序,记录和重播长序列指令,来达到降低缺失率,但是为了覆盖更多的指令,这些技术需要非常多的元数据来存储和索引这些记录的序列
      • BTB方面,基于空间和时间局部性的预取器通过采用两级的BTB来解决一级BTB太小的问题,但是第二级的BTB仍旧需要超过100KB的存储开销
      • 同时解决BTB和I-cache:Confluence技术,由于I-cache块携带着
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值