关键词:
片上网络
路由器缓存
低功耗
非易失性存储器
混合型存储
STT-RAM
DWM
摘要:
在半导体工艺技术和计算机体系结构快速发展的推动下,多核处理器(Chip Multiprocessor,CMP)现已广泛应用于不同的计算领域。随着CMP单个芯片上的处理器、硬件内核和存储器的数量不断增加,可扩展、低延迟和高带宽的通信结构变得至关重要,传统基于总线和点对点的通信机制已经无法满足要求。为了有效解决多核处理器的互连效率,一种以通信为中心用于数据传输的片上网络(Network-on-Chip,No C)结构应运而生。No C利用路由交换的方式,为多核处理器数据交换提供了高速、高吞吐量和高拓展的数据交换解决方案。目前No C已成为了多核处理器片上通信的主要方式。然而,随着系统集成规模增大和通信数据密度提高,No C所消耗的功耗越来越高,高功耗也带来了芯片可靠性等一系列问题。随着半导体工艺的缩小,静态功耗已经成为No C功耗的主要组成部分,且占比不断提升。No C路由器缓存在流量控制和服务质量等方面起到重要作用,但也是No C静态功耗的重要组成部分,同时也占据了芯片面积的主要部分。面积和功耗限制了No C未来的发展,低开销的缓存设计在构建高性能和高能效No C方面起着至关重要的作用。与传统的静态随机存取存储器(Static Random Access Memory,SRAM)相比,新型非易失性存储器(Non-volatile Memory,NVM)器件在面积和泄漏功耗方面有着明显的优势。为此,本文主要针对基于NVM的No C路由器缓存功耗优化方面开展研究。主要研究内容有:1.提出了拥塞感知的No C路由器缓存结构。缓存是No C路由器实现数据控制和转发的重要部件。当网络流量负载超过缓存承载能力时就会频繁发生拥塞,严重影响网络的延时和吞吐率。常规虚通道缓存结构存在队头阻塞的问题,而虚拟输出队列结构也会出现缓存分配不均衡的问题。此外,静态缓存分配机制缓存利用率低,而动态缓存分配机制则存在死锁和队列“饿死”的风险。合理的缓存结构和管理机制是防止出现缓存资源分配不均衡和利用率低等情况的关键。因此,本文提出了一种拥塞感知的融合队列缓存结构(Congestion-aware Buffer with Mixed Queues,CBMQ),构建融合虚通道和虚拟输出队列的缓存结构,并采用预留缓存和共享缓存结合的缓存管理机制。CBMQ在网络负载较低的时候使用预留缓存并可以通过增加虚通道队列的深度来降低网络延时,而在出现拥塞的时候使用虚拟输出队列隔离拥塞流量来提高网络的吞吐量,实现缓存资源的动态分配。性能测试表明,CBMQ有效地减缓拥塞的形成和传播,比静态缓存分配和动态缓存分配队列结构的饱和吞吐率分别提高了11.2%以上和3.3%以上。2.提出了基于混合存储器的No C路由器缓存结构。传统的基于SRAM的片上网络路由器缓存因其严重的泄漏功耗已难以满足No C芯片的功耗要求。本文提出了一种的基于SRAM和自旋转移扭矩磁存储器(Spin-Torque Transfer Magnetic RAM,STTRAM)的混合型缓存结构(Hybrid Memory Buffer with Mixed Queue,HMMQ)来降低No C路由器功耗和缓解拥塞。HMMQ采用CBMQ缓存结构,通过拥塞检测和拥塞管理将拥塞流量与非拥塞流量隔离。HMMQ中的预留缓存采用SRAM来缓存非拥塞流量并快速转发数据,而共享缓存则采用具有高集成度和低泄漏功耗的STT-RAM来缓存拥塞流量。HMMQ采用双组结构克服STT-RAM写操作高延时的缺点,在逻辑上实现了与SRAM相同的读写操作。仿真测试结果表明,HMMQ在饱和吞吐率和功耗方面比基于SRAM的设计分别平均提高了14.2%和36%,而面积仅增加了9.1%。3.提出了基于DWM的低功耗No C路由器缓存结构。非易失性存储器畴壁存储器(Domain Wall Memory,DWM)与常用的SRAM和STT-RAM相比具有更高的集成度和更好的能效,但DWM固有的移位特性引入不固定的移位距离和延时。本文首先分析器件结构对DWM面积、功耗和性能的影响,然后对基于不同DWM器件结构的缓存队列进行性能分析,再结合路由器操作流水和DWM器件结构设计基于DWM的No C路由器缓存结构。仿真测试结果表明,与传统的基于SRAM或STT-RAM的缓存设计相比,基于多读端口DWM的缓存设计降低了50.1%或30%的功耗开销,以及36.1%或24.2%的面积开销。其中单读端口DWM缓存设计由于移位的问题遭受到相当大的延时增长和饱和吞吐率下降,但多读端口DWM缓存设计实现了与SRAM缓存相同的性能,获得最优能效。