一种缓存数据流信息的处理器前端设计
A Dataflow Cache Processor Frontend Design作者机构:中国科学院计算技术研究所北京100190 中国科学院大学北京100049
出 版 物:《计算机研究与发展》 (Journal of Computer Research and Development)
年 卷 期:2016年第53卷第6期
页 面:1221-1237页
核心收录:
学科分类:08[工学] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家"九七三"重点基础研究发展计划基金项目(2011CB302501) 国家"八六三"高技术研究发展计划基金项目(2015AA011204 2012AA010901) "核高基"国家科技重大专项基金项目(2013ZX0102-8001-001-001) 国家自然科学基金重点项目(61332009 61173007)~~
主 题:处理器微结构 指令缓存 数据流 指令重命名 数据流局部性
摘 要:为了能够同时发掘程序的线程级并行性和指令级并行性,动态多核技术通过将数个小核重构为一个较强的虚拟核来适应程序多样的需求.通常这种虚拟核性能弱于占有等量芯片资源的原生核,一个重要的原因就是取指、译码和重命名等流水线的前端各阶段具有串行处理的特征较难经重构后协同工作.为解决此问题,提出了新的前端结构——数据流缓存,并给出与之配合的向量重命名机制.数据流缓存利用程序的数据流局部性,存储并重用指令基本块内的数据依赖等信息.处理器核利用数据流缓存能更好地发掘程序的指令级并行性并降低分支预测错误的惩罚,而动态多核技术中的虚拟核通过使用数据流缓存旁路传统的流水线前端各阶段,其前端难协同工作的问题得以解决.对SPEC CPU2006中程序的实验证明了数据流缓存能够以有限代价覆盖大部分程序超过90%的动态指令,然后分析了添加数据流缓存对流水线性能的影响.实验证明,在前端宽度为4条指令、指令窗口容量为512的配置下,采用数据流缓存的虚拟核性能平均提升9.4%,某些程序性能提升高达28%.