论文部分内容阅读
当代计算芯片在灵活性和能量效率之间的权衡催生了近年来对领域定制架构的研究热潮。可重构处理器融合了通用处理器在时域上指令流的高灵活性,及专用集成电路在空域展开数据通路后的高能效,是当前领域定制架构的研究热点。然而,当前可重构处理器的应用领域集中在规则应用上,对于非规则应用领域适应性差。产生这一现象的原因有二:(1)现有可重构计算的编程方法难以挖掘非规则应用中的并行性;(2)针对非规则应用的可重构架构设计复杂度高,难以与主流编程模型整合,这导致程序员使用新架构特性非常困难。本论文研究适用于非规则应用领域的可重构处理器,通过提出处理非规则性的编程模型和架构设计,提高可重构处理器的灵活性。本文研究工作针对以上两个难点,分别从针对非规则应用领域定制的编程模型、面向非规则应用的架构特性与编程模型的协同设计两方面展开,进行了以下四项研究。第一,论文提出非规则应用的细粒度流水化并行编程模型,通过提供新的编程方法,并在可重构处理器上提供激进流水执行机制,使得可重构处理器在处理非规则应用时性能与最新高性能通用处理器相仿。第二,论文提出面向动态数据结构的事务处理编程模型,通过应用事务处理编程方法,并利用可重构处理器空域资源提供事务执行机制,对于动态数据结构相比细粒度锁算法的吞吐率平均提升了5.18倍。第三,论文设计了混合粒度动态可重构阵列硬件架构与执行机制,为了处理非规则应用的不定长循环,提出主动加载执行机制及相应的硬件架构设计,使得程序员在使用不定长循环时可重构处理单元平均利用率从73.75%提升到92.25%。第四,论文设计了多阵列共享的可编程数据暂存器硬件架构及对应的编程方法,通过在共享暂存器中提供流处理模式和私有模式,使得将1个可重构阵列扩展到4个时,具有流计算特性和具有私有数据的应用性能分别提升4.06倍和4.23倍。结合以上技术,本论文完成了一款高灵活可重构处理器的芯片实现。该芯片使用TSMC 65nm工艺,主频280MHz,平均功耗297mW,相比于Atom N550和Cortex A15处理器,对于13类典型应用组成的基准测试程序集,能量效率分别提升了26.38倍和9.52倍。总之,本论文提出的技术方案可以使可重构处理器的应用领域扩展到非规则应用,从而提升了可重构处理器的灵活性。