论文部分内容阅读
随着智能手机与平板电脑等移动智能终端设备的迅猛发展,交互式应用逐渐替代传统计算密集型应用,成为决定用户体验的关键因素。交互式应用,如高清视频,高保真音频,高分辨率3D动画,动态网页渲染等,强调人机交互,重视用户体验,其行为特性与传统桌面机存在较大差异。对面向交互式应用的嵌入式CPU性能进行量化分析与评估,有助于掌握交互式应用的程序特性及其对处理器的需求,为设计高性能嵌入式处理器提供参考。 本文选用学界广泛使用的时钟周期精确Gem5仿真模型作为研究平台,其仿真数据具有真实可靠性。本文详细分析了乱序超标量处理器的流水线设计及其所使用的关键技术,通过在Gem5 ARMDetailed模型上运行具有代表性的交互式网页渲染测试集Bbench,分析基线流水线配置下交互式应用的程序特性;同时根据数学解析模型定量分析各类缺失事件引入的开销,并以此构建其CPI(每条指令占用时钟周期数)栈,以分析运行交互式应用时处理器的性能瓶颈。论文发现,交互式应用测试程序Bbench的动态指令流中,简单整型计算和存储操作占到了总指令的97%,而基线处理器设计中有限的功能单元数目会直接导致结构冒险,从而限制稳定状态下程序的CPI。此外,由于结构冒险与缺失事件的影响,Bbench的CPI高达2.46,其中由L1 D-Cache引入的缺失开销对CPI的贡献率达到25.74%。 本文还评估了物理寄存器堆、ROB(重排序缓冲区)以及功能单元等微结构的结构冲突事件对交互式应用性能的影响。通过对处理器微结构的探索与评估,本文发现物理寄存器堆和ROB资源不足会频繁引起Rename级阻塞,采用过饱和的处理器微架构设计可以显著提升交互式应用的性能。当内部物理寄存器的数目从96增加到256时,CPI从3.16下降为1.91。ROB窗口容量从10增加到120的过程中,CPI逐渐下降,最终稳定在2.27左右:随ROB窗口的增大,指令的发射效率成平方根增长,成为限制CPU性能进一步提升的主要因素。