摘要:多核处理器已经成为处理器的主流,并发展成为各种通信与媒体应用的主流处理平台。通讯结构是多核系统中的核心技术之一,核间通信的效率是影响多核处理器性能的重要指标。目前有3种主要的通讯架构:总线系统结构、交叉开关网络和片上网络。总线结构设计相对方便、硬件消耗较少、成本较低;交叉开关是适合用于构建大容量系统的交换网络结构;而片上网络是更高层次、更大规模的片上网络系统,目前可以解决多核体系结构问题,是多核系统最有前途的解决方案之一。文中在分析了NoC结构的基本原理、系统结构和功能的同时,也提供了部分单元的设计实现。
关键词:多核处理器;核间通信;总线结构;交叉开关;片上网络
在处理器的发展中,提高处理器主频的实现愈加困难,市场上难以看到芯片主频率高于4 CHz的传统单处理器。以Intel、AMD公司为代表,依靠不断提高处理器频率提升系统性能的时代即将成为过去。究其原因有3点:首先仅依靠提升主频难以大幅度提升CPU的性能,从而减缓了消费者对高频CPU的热衷;其次当CPU主频达到2 GHz以上时,处理器功耗也达到了近100 W,这是目前风冷散热技术的极限;第三,在嵌入式产品领域,传统的单核处理器结构,不能满足呈几何级数增长的计算规模的需求。单核模式下,利用局部性能提升整体性能的发展越来越慢,而基于多核的线程级并行技术却为性能提高提供了动力,为达到更高的处理效能,多核处理器体系结构应运而生。
多核处理器是一个芯片内含有两个或两个以上的“执行内核”。多核处理器在进行体系结构的技术研究时,比单核处理器,要面临更多的挑战,诸如核间通讯、存储器体系、低功耗、软硬件协调等。如何实现多核内核之间相互协作和通信,确保提高处理速度、提高芯片处理器性能,是核间通讯结构研究的主要内容。在多核通讯方式中,目前除继续沿用单核SoC中的总线结构,如AMBA,CoreConnect,Wishbone,OCP,C*BUS等,主要有交叉开关(Crossbar Switch)、片上网络(NoC,Network on-Chip)等结构。其中NoC结构是更高层次、更大规模的片上网络系统,目前可以解决多核体系结构问题,是多核系统有效的解决方案之一。
1 NoC解决的问题及其优点
随着工艺的进步,产品的性能、面积、功耗以及上市时间的限制,使设计开发的要求越来越高。深亚微米设计带来的问题,使得设计中保证时序收敛更加困难。NoC(Network on-Chip)的出现为深亚微米的SoC带来了持续发展的动力。NoC是更高层次、更大规模的片上系统,是片上的网络系统。NoC技术的核心思想是将计算机网络技术移植到芯片设计中,解决多CPU的体系结构问题。由于网络结构本质就是多CPU系统,因此基于网络的体系结构是多CPU系统最有前途的解决方案之一。片上网络继承了分布式系统与计算机网络的概念,互连结构具有各通信模块之间并行通信,数据的通信带宽高,扩展性好,吞吐量大,并可以在一定程度上改善深/超深亚微米条件下信号传输线延迟等优点,有人称NoC会成为下一代多核的主流互连结构。
1.1 NoC解决的问题
NoC解决的问题主要体现在通讯模块的可重用性和通讯性能的可预测性上。
(1)增加通讯模块的可重用性。一般SoC概念中,可重用性是IP模块的复用。基于模块的设计方法,能够增强设计的可重用性,进而减小制造工艺同设计能力之间的差距。可重用技术的优越性在于以基于模块的设计,搭建整个系统,减少单独开发每个部件的设计时间,同时减少人为设计的出错可能,因此降低了系统的设计和验证时间。但是当制造工艺发展到0.13μm以下后,模块间的互连延迟成为限制系统整体性能的瓶颈,仅靠IP模块的复用已远不能满足整体性能的需求,片上网络结构正是利用通信部件的可重用技术,将不同资源单元之间的路由连接通过规则的通信部件进行连接,为深亚微米技术带来的问题提供解决方案。
(2)加强通讯性能的可预测性。片上网络因其规则的物理布局和通信网络结构,通信性能变得可预测。从物理性能的角度分析,片上网络结构决定了其版图物理性能的可预测性。除时钟、电源布线外,交换单元间的互连长度以及带宽都是同定不变的,而设计的不确定性和不规则性都限制在资源单元内部,对于其他资源单元没有造成影响;从设计和验证时间角度分析,片上网络基于模块的可重用性使得设计和验证的时间都可预测,由于片上网络结构的规则性,将任务分配等设计问题划分到了资源单元内部,进而将整体应用划分为独立任务。这样使得片上网络系统的设计在较大程度上独立于具体的实现阶段,更好地进行模块化没计,增加了通讯性能的可预测性。
1.2 NoC的优点
NoC设计采用全局异步局部同步的方式解决了整个芯片全局同步面临的问题,有较好的可重用性和可扩展性,平均通信带宽较高。在NoC中,处理核与网络的通讯是通过简单的握手协议来完成的,因此网络与各处理器的电气参数、时钟信号都可以相对独立处理,容易控制。此外网络与处理器间也可以使用异步通讯,这就不需要系统时钟的全局同步,避免了庞大时钟树所带来的时钟和面积问题,而局部时钟线的大量采用可以大幅降低系统功耗。
NoC的各同步单元在遵守通信协议的前提下协同工作,如有NoC系统有扩展的需要,只需增加一个系统中已经存在的通信开关的副本,同时设计一个通信接口,把扩展的功能单元集成到NoC的网络拓扑中就可完成。NoC有可复用可扩展的通信机制,同时改用全局异步局部同(Glo bal Asynohronized Local Synchronized,GALS)方式工作,没有全局的控制信号的干预,所以NoC的可扩展性好。
衡量NoC性能的主要指标就是通信带宽。NoC采用全局异步局部同步的通信方式,虽然得到了一些好处,但缺点也明显,例如实时通信带宽不能达理想高度。但从整个NoC的平均通信带宽上看,全局的平均通信带宽比基于总线方式的平均通信带宽高。总之随着工艺集成度的逐渐提高,NoC在解决全局时钟同步问题、深亚微米效应、扩展性和设计与生产之间的鸿沟上都优于传统设计方法。
2 NoC的拓扑结构
拓扑结构关心的是节点的布局和互连。NoC拓扑结构的选择对系统性能和芯片面积有明显的影响。NoC可根据应用的需要采用不同的拓扑结构,可分为规则结构、非规则结构等。相对于规则拓扑结构,不规则拓扑结构可以提高性能、降低功耗、减小面积,但同时产生版图设计、不均匀的线长等设计问题。拓扑结构的衡量标准通常是以理论上影响路由成本和性能为基础,除了要考虑普通网络中所关心的节点数量、边的数量、网络维度、网络直径、平均距离、对分宽度之外,还要考虑通信模式的嵌入属性,例如消息吞吐量、传输延迟、功耗、芯片而积等。