论文部分内容阅读
随着半导体制造工艺不断提升,单个芯片上可以集成的晶体管越来越多。为了芯片性能的继续提升,设计者开始将越来越多的处理器核心和专用知识产权核集成到一块芯片里。然而多核系统在带来了性能提升的同时,还引入了新的问题,其中就包括多个核心之间的数据传输问题和缓存一致性问题。在片上数据传输领域,传统的单核芯片一般采用总线结构。但总线难以支持多核芯片所需的大规模、高并行度、低延迟的数据传输,因此片上网络应运而生。片上网络主要由两种模块组成:网络接口和路由器。一个网络接口一般连接一个本地单元和一个路由器,负责在两者之间进行数据格式的转换。而路由器除了连接网络接口外,多个路由器还会彼此连接,从而实现核心间的数据传输。片上网络的性能指标主要包括传输延迟和最大吞吐率。另一方面,多核芯片还存在缓存一致性的问题。各个私有缓存对同一地址可能保存不同的数据,引起访存错误,因此需要用缓存一致性协议对其进行约束。一致性协议中,一个节点要向多个节点发送相同的内容,因此对多核互联有多播通信的需求。片上网络若不对多播提供硬件支持,多播通信的传输延迟会大大增加,同时增加网络的拥塞,降低网络性能。通过硬件支持多播,片上网络能避免重复发送相同的数据包,避免互联资源的浪费,提升网络性能。面向缓存一致性协议提出的多播需求,本文提出了一种针对片上网络路由器的无死锁缓存单元,并且基于此缓存单元实现了两种支持数据包复制的路由器,用于支持无死锁的片上网络多播。第一种高性能复制路由器能在一个时钟周期将微片从一个缓存单元向多个方向复制,提升了路由器内部的带宽,能有效提升网络性能。第二种低开销复制路由器的缓存单元在一个时钟周期只向一个方向输出,只需很小的电路开销即可实现数据包的复制。本文提出的路由器使用Verilog语言实现,其仿真环境使用SystemVerilog搭建。实验在多种负载激励下进行,其结果表明本文提出的路由器能有效地支持数据包复制,其片上网络能支持低延迟高吞吐率的多播负载。在raytrace测试程序中,与基准路由器相比,两种路由器分别达到了53.34%和39.31%的网络延迟下降。路由器电路使用TSMC45纳米工艺进行了综合,结果表明本文提出的两种路由器相比于基准设计消耗的额外电路面积分别为30.38%和6.71%。