论文部分内容阅读
硅工艺朝着物理极限的不断迈进,导致了由摩尔定律和登纳德定律组成的集成电路传统缩放模型失效。在芯片功耗墙的限制下,人们发现在后登纳德定律时代,芯片设计中存在使用墙问题以及由此所观察到的暗硅现象。更进一步地,随着工艺的持续进步,暗硅现象会不可避免地急剧恶化,使得芯片设计进入暗硅时代。 在暗硅时代,芯片上可以在极限时钟频率下翻转的晶体管的比例急剧下降,这使芯片上出现大量无法有效利用的晶体管。这些不断增加的无法使用的晶体管,导致在设计芯片时功耗和能耗与芯片的面积相比更为重要。这种设计思路的转变导致了利用暗硅来换取高能量效率的新型体系结构不断涌现,大量集成异构专用协处理器就是其中之一。 单个专用协处理器与通用处理器相比可以提高10倍以上的能量效率,使得集成少量专用协处理器的系统能量效率大大提高。但常见的系统具有大量不同的应用负载,为了提高这样系统的能量效率,架构师需要集成大量的异构专用协处理器并调度软件到专用协处理器上执行。这使得最终系统架构成为CoDA(Coprocessor-Dominated Architecture)。 本文紧紧围绕作者作为GreenDroid和暗硅团队成员在加州大学圣迭戈分校工作期间,所进行的论证CoDA架构设计合理性、可扩展性、能量效率、发现解决未来CoDA架构实现所遇到的潜在问题展开,进行了以下几个方面的创新性工作: (1)研宄了CoDA对应用的适用性,并以此说明CoDA适合暗硅时代。本文分析了安卓移动软件栈,发现大部分应用是基于共享原生库和虚拟机的,硬件化这部分软件就可以使得应用的大部分运行在专用协处理器上。之后重点分析了安卓浏览器,并使用硅构造专用协处理器实现了这个浏览器。实验结果表明在22 n m工艺下7mm2的硅面积用于构造专用处理器就可以覆盖浏览器90%的运行。使用可接受的硅面积就可以覆盖应用执行,证明了CoDA架构适合暗硅时代。 (2)针对快速探索CoDA设计空间的需求,提出了CoDA架构分析模型,并对本文提出的多维度可扩展CoDA架构进行建模。该架构可以由不同数量的瓦片组成,每一个瓦片可以包含不同数量的函数粒度专用协处理器,并且每一个专用协处理器都可以是异构的。分析模型用来评估每一种特定CoDA架构的能量、面积和性能;模型参数既包含了高层次的体系结构参数,也包含低层次的电路实现参数。 (3)探索了CoDA架构在不同Cache配置、瓦片大小、粗粒度能耗管理策略以及晶体管实现等参数下的能量效率问题。在最优化的参数条件下,与通用架构相比小规模CoDA设计可以带来5.3倍的能量效率优化和5倍的能量延时积(energy-delay product,EDP)优化;而对于支持上百个应用的大规模CoDA设计,可以带来3.7倍的能量效率优化和3.5倍的EDP优化。这说明为大规模应用而设计的大规模CoDA扩展是有效的。此外,本文发现CoDA设计即使采用了激进的能耗管理策略,漏电功耗所占总功耗的比例仍然随CoDA规模增大而增大。 (4)探索了并发执行对CoDA能量效率的影响。积极的影响是这些同时运行的程序或线程可以分摊漏电功耗等固定的开销,这样可以提高系统的能量效率。消极的影响是,当驱动CoDA生成的目标应用集合和实际运行的应用集合不匹配时,会造成大量程序竞争某些专用协处理器,系统的平均能量效率将大大降低。本文提出CoDA架构集成覆盖多个函数功能的融合QsCore来减少竞争冲突。实验表明使用融合QsCore的方式,仅仅增加41%的面积就可以提供2倍数量的专用协处理器,并使得非均匀分布负载的能量效率提高11.1%~22.1%。 (5)针对使用当前工艺实现的FPGA模拟下一代工艺实现的CoDA芯片时,单个F P G A芯片资源不足的问题,提出了跨多芯片可扩展的2D-mesh片上网络。该网络由跨芯片的环形网络连接,并为跨芯片的每一个2D-mesh物理通道分别提供跨芯片的流控机制。跨芯片的环形网络提供了ASIC芯片到FPGA以及FPGA之间两种可选连接方案。通过使用该设计方案,本文使用两块Virtex6 FPGA芯片首次实现了CoDA架构原型系统。