二级缓存:不适用于指令执行
《ACM Transactions on Architecture and Code Optimization》:Second-level Caches: Not for Instructions
【字体:
大
中
小
】
时间:2025年11月08日
来源:ACM Transactions on Architecture and Code Optimization
编辑推荐:
指令缓存优化:L2绕过与预取机制协同提升性能
摘要
随着指令数量的不断增加,处理器前端的工作负担日益加重,导致指令获取延迟增加,进而引发流水线停顿。为解决这一问题,传统的做法是将指令存储在缓存体系的各个层级中;但近年来也提出了许多更先进的技术,从指令预取到优先处理指令缓存行等,旨在降低指令获取延迟。
在本研究中,我们发现了一部分基准测试对指令获取延迟具有较高的鲁棒性,因此可以采取相反的策略——直接绕过二级缓存(L2)来获取指令。尽管传统观点认为这样做会损害性能,但通过对2120条数据流的详细分析,我们发现有两个因素可以缓解这一影响。首先,普遍存在的有效指令预取机制(如基于获取需求的指令预取,FDIP)意味着只要指令存在于三级缓存(LLC)中,错过二级缓存的额外延迟通常可以忽略不计。其次,通过将指令排除在二级缓存之外,我们可以显著提高二级缓存中的数据局部性,从而提升整体性能。
基于我们的分析,我们建议在某些应用程序中绕过二级缓存来获取指令,并展示如何通过离线训练一个简单的决策树来在线决定何时进行绕过操作。我们的技术使得敏感基准测试的性能平均提升了3.4%(即在无限大的一级缓存(I-cache)条件下性能至少提升1%);与采用激进指令预取策略的基准测试相比,该技术几乎无需额外开销,就能实现接近完美一级缓存性能的结果,最高可提升至55%。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号