首页> 中国专利> 面向密集运算的层次化异构多核片上网络架构

面向密集运算的层次化异构多核片上网络架构

摘要

本发明公开了一种面向密集运算的层次化异构多核片上网络架构,该架构顶层采用二维网格片上网络集成若干个运算簇、转置簇、通信接口以及全局共享存储单元;底层在运算簇和转置簇内部采用总线架构;运算簇内部总线上集成多种运算单元,此外还集成直接内存存取、网络接口和簇内共享存储单元;转置簇内部总线上集成处理器核、直接内存存取、网络接口和簇内共享存储单元。本发明可支持多组全局共享存储单元,彼此之间相互独立,且每个全局共享存储单元可通过多个网络接口集成到片上网络;簇内共享存储单元分布在运算簇和转置簇中,运算簇内的共享存储单元划分为若干个相互独立的组。本发明通过层次化多级架构和多通道访存能够有效提高系统的通信性能、数据处理能力和访存带宽。

著录项

  • 公开/公告号CN102497411A

    专利类型发明专利

  • 公开/公告日2012-06-13

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201110405806.5

  • 申请日2011-12-08

  • 分类号H04L29/08(20060101);

  • 代理机构南京汇盛专利商标事务所(普通合伙);

  • 代理人陈扬

  • 地址 210093 江苏省南京市汉口路22号南京大学蒙民伟楼612室

  • 入库时间 2023-12-18 05:25:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-01-15

    授权

    授权

  • 2012-07-18

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20111208

    实质审查的生效

  • 2012-06-13

    公开

    公开

说明书

技术领域

本发明涉及一种面向密集运算的层次化异构多核片上网络(Network on chip,NoC)架构及其层次化存储方案,具体地说是一种能够改善NoC的通信能力、并提高其整体数据处理能力和访存带宽的异构多核系统架构及层次化存储方案。

背景技术

随着半导体工艺技术的快速发展,单芯片的集成度越来越高,多核已经成为近期芯片产业研究的热点和未来主要的发展方向。按照不同的片上互连方式,多核的体系架构可以分为基于总线的互连和基于网络的互连。前者是现有的总线体系架构的扩展,通过多总线和层次化总线等技术集成多个处理器核;而后者是近年来提出来的崭新概念,采用分组路由的方式进行多处理器核之间的通讯,克服了基于总线的体系架构的各种瓶颈问题,这种片内多处理器核通讯的体系称为片上网络(Network on Chip,NoC)。

NoC的核心思想是数据处理单元与通信架构相互分离,而其通信部分则借鉴了计算机网络技术,并将其移植到集成电路设计中来,这样便可以从体系结构上解决片上通信的瓶颈问题。图1为NoC结构示意图。以二维网格架构为例,NoC的基本结构由资源节点(Resource)、路由节点(Router)、通道(Channel)、网络接口(Network Interface,NI)和本地功能单元组成,而路由节点本身则由若干对输入/输出通道组成。近年来,各研究小组先后提出了各种NoC拓扑架构,如蜂窝架构、二维折叠环架构等等。

由NoC拓扑结构的几何特点,不难看出,在处理器核数众多且通信较为频繁的情况下,NoC架构相较于传统总线架构,优势极为明显,它能够提供一种多点并发通信的机制,各核之间通信能力得以大幅提高;除了通信能力上的需求,实际的应用也对系统的数据处理能力和访存带宽有很高的需求,例如一些运算密集的应用,它们往往要处理大批量数据的高精度复杂运算并进行频繁的数据传输,为了适应这种需求,不仅要在系统中集成多种高性能的专用计算单元,还要设计实现高效通讯网络和存储架构。基于以上的分析可知,现有的片上网络架构并不能很好地满足实际应用的需求。

发明内容

本发明的目的是提供一种面向密集运算的层次化异构多核片上网络架构,该架构可以有效地提高系统的通信性能、数据处理能力和访存带宽,更好地满足实际应用的需求。

本发明的目的是通过以下技术方案来实现的:

一种面向密集运算的层次化异构多核片上网络架构,其特征在于:该架构顶层采用二维网格片上网络集成一组运算簇、转置簇、通信接口以及全局共享存储单元;底层在运算簇和转置簇内部采用总线架构;在运算簇内部总线上集成一组运算单元、运算簇内直接内存存取、运算簇内网络接口和运算簇内共享存储单元,所述运算单元包括运算簇内处理器核、协处理器和FFT加速单元,运算簇内处理器核通过运算簇内总线与运算簇内共享存储单元连接,FFT加速单元和运算簇内直接内存存取均与运算簇内共享存储单元连接,运算簇内网络接口与运算簇内直接内存存取连接;在转置簇内部总线上集成转置簇内处理器核、转置簇内直接内存存取、转置簇内网络接口和转置簇内共享存储单元,转置簇内直接内存存取与转置簇内共享存储单元连接,转置簇内网络接口与转置簇内直接内存存取连接;在每个网络节点上挂接有一个转置簇或运算簇;片上网络与外部的通信通过通信接口完成。

本发明中,与层次化架构相应地存储子系统也分为两级:簇内共享存储单元和全局共享存储单元。一组全局共享存储单元彼此之间相互独立,且每个全局共享存储单元通过多个网络接口集成到片上网络;运算簇内共享存储单元划分为相互独立的存储组,单个存储组通过簇内共享存储器地址转换与运算簇内部总线、协处理器、FFT加速单元和运算簇内直接内存存取连接。片上网络上可以挂接不定数量的转置簇和运算簇,而每个网络节点最多挂接一个转置簇或运算簇。

运算簇内共享存储单元被该簇内的处理器核、协处理器和FFT加速单元和直接内存存取访问;转置簇内共享存储单元被该簇内直接内存存取访问;全局共享存储单元被集成在片上网络上的所有运算簇和转置簇访问。在运算簇内部总线和转置簇内部总线上均集成有程序存储器、堆栈存储器、中断控制器和寄存器组。

片上网络使用网络包交换协议,运算簇和转置簇内部采用总线协议;网络包交换协议与总线协议之间通过网络接口相互转换。

本发明的顶层是片上网络架构,采用二维网格的拓扑结构。在二维网格的每个节点放置一个路由器(Router,R)模块,每个路由器模块拥有五个方向的通道,四个用来与其他路由器模块互连构成片上网络,一个用于与本地功能单元通讯。本发明中的本地功能单元包含四种类型,分别是运算簇、转置簇、全局共享存储单元和通信接口。

在实际应用中常常涉及到矩阵运算,因此本发明设计了运算簇和转置簇,分别承担数据运算和矩阵转置任务。这两类簇由若干运算单元、通信单元及簇内总线组成。运算簇内的主要单元包括运算簇内处理器核、协处理器、FFT加速单元、运算簇内直接内存存取、运算簇内网络接口和运算簇内共享存储单元。其中运算簇内处理器核用于簇内各个单元的协同控制,同时也具有一定的数据计算能力;协处理器专用于大批量数据的浮点运算,运算类型包含加法、减法、乘法、除法、三角函数运算等;FFT加速单元采用配置寄存器的方式,可以完成多种数据长度的FFT和反FFT运算;为了方便进行批量数据的计算,运算簇内共享存储单元划分为若干个独立的存储组,运算簇内的功能单元可以同时访问运算簇内共享存储单元的多个存储组,访问的途径包括运算簇内总线和专用的存储接口;运算簇内网络接口用于本簇与片上网络之间的通信,并通过运算簇内直接内存存取访问运算簇内共享存储单元。转置簇结构与运算簇基本一致,簇内的主要功能单元包括转置簇内处理器核、转置簇内直接内存存取、转置簇内网络接口和转置簇内共享存储单元,各个单元与运算簇的对应单元功能相同。

为了提高系统的访存带宽,本发明采用层次化的存储方案,将存储单元分为全局共享存储单元和簇内共享存储单元。在系统中集成多个全局共享存储单元可以提高系统的存储空间,由于这些存储单元彼此之间互相独立,可以单独访问,访存速度也大幅度提高。每个全局共享存储单元通过多个路由器和网络接口挂载到片上网络,可以被系统内所有的簇通过其中任意一个路由器和网络接口访问,从而进一步提高访存带宽。簇内共享存储单元能被本簇内的单元访问,其他簇没有访问权限。簇内共享存储单元和全局共享存储单元可以通过簇内的网络接口进行数据交换,数据交换的过程由簇内的处理器核控制。

本发明的有益效果是: 

第一,将通信最为密集的各种功能单元集合为一个簇,采用簇内总线以及专用的存储接口可保证簇内数据传输的速度;将互相通信比较密集的各个簇和全局共享存储单元挂载到片上网络上,利用网络进行通信;簇或单元访问该全局共享存储单元时可以选取距离较近的接口,这样可以充分发挥片上网络的并行通信性能。

第二,运算簇和转置簇作为各种运算单元和通信单元的集合体,具有很强的数据处理能力;每个片上网络上集成簇的数量可以根据实际需求来配置,而且簇本身的功能也是可以配置的,通过增加或减少相应的数据处理单元,可以实现具有不同数据处理能力的簇,这样既能保证满足实际应用的需求,也具有一定的灵活性。

综上所述,本发明可以有效地提高系统的通信性能、数据处理能力和访存带宽,有着良好的实际应用价值。

附图说明

图1为现有的二维网格片上网络结构示意图; 

图2是本发明的层次化异构多核架构示意图;

图3是本发明的运算簇架构示意图;

图4是本发明的转置簇架构示意图;

图5是应用演示系统示意图;

图6是应用演示系统中三级流水任务映射示意图。

具体实施方式

下面结合附图和具体实施方式,对本发明进行详细的说明。

如图2所示的层次化异构多核架构是本发明的一种实例,该片上网络的大小为4×4,顶层二维网格片上网络集成了4个运算簇、1个转置簇、3组全局共享存储单元和3个通信接口。底层在运算簇和转置簇内部采用总线架构。

运算簇的具体结构如图3所示,除了总线、处理器核、协处理器核、FFT加速单元、直接内存存取(DMA)、网络接口和簇内共享存储单元,4个存储组(Memory1、Memory2、Memory3和Memory4),还包括了程序存储器、堆栈存储器、中断控制器、寄存器组和簇内共享存储器地址转换单元。程序存储器、堆栈存储器和中断控制器作为处理器核的重要外设组件,分别用于存储嵌入式程序、程序运行时的堆栈和中断控制;寄存器组用于暂时存放配置数据,配置数据由处理器核写入,用于控制FFT加速单元、直接内存存取单元和网络接口;直接内存存取为网络接口提供簇内共享存储单元的访问通道;Memory1、Memory2、Memory3和Memory4分别代表簇内共享存储单元的一个组,4组存储器组共用一个存储器地址转换单元,对这些存储单元的访问必须经过该地址转换单元。

转置簇的具体结构如图4所示,主要包含总线、处理器核、直接内存存取(DMA)、网络接口、簇内共享存储单元、程序存储器、堆栈存储器、中断控制器和寄存器组。由于转置簇并不进行复杂的数据运算,簇内运算单元仅有一个处理器核,该核主要的工作是控制转置的流程,相应地簇内共享存储单元也仅有一组。其余单元的的功能与运算簇类似。

为验证系统的通信能力以及数据处理能力,设计了一款集成了四个4×4片上网络的NoC原型演示系统,该系统由2台带1G网络接口的PC、集成4片FPGA以及数组片外存储芯片的开发板组成,其整体结构如图5所示。

该演示系统的主要功能是:在每片FPGA内实现一个二维网格片上网络,4个片上网络组成全互连的网络系统,该网络系统通过两个千兆网口分别与两台PC相连。在实际的运行中,演示系统中的一台PC作为数据发送端,以以太网包的形式发送批量数据至其中一个片上网络,片上网络系统将这些数据进行流水化处理,并将结果重新封装成以太网包,发送至另一台PC。

上述演示系统采用全互连架构集成四片异构多核FPGA,为保证每两片FPGA之间都能快速的通信,每个FPGA配置3个通信接口,分别与其他的FPGA芯片相连,其连接方式如图5所示。这样共计实现了6个网络间的通道,保证了多核系统片间通信的能力。

该异构多核FPGA芯片内部采用本发明所述架构,如图2所示顶层采用4×4二维网格结构,各网络节点采用专门针对片上网络通信特点而设计的包-电路交换路由器,可以保证各簇之间大量数据的快速传输。为保证系统的数据处理能力,片上网络上集成了4个运算簇和1个转置簇;同时为了能够缓存足够多的数据,片上网络上还集成了3组全局共享存储单元(采用DDR                                                实现,每个存储单元通过4个接口链接到片上网络上);另外还有1个Flash接口,用于存放嵌入式程序。

该网络系统的底层为采用总线架构的簇,依照其功能分为运算簇和转置簇,其结构分别如图3和图4所示。两种簇都采用AHB总线架构,处理器核采用ARM核,其余单元依照其功能为本系统专门设计。运算簇内共享存储单元深度为50K,划分为3个16K和1个2K的组,该存储单元利用FPGA内部的存储资源来实现;转置簇内共享存储单元深度为1M,采用片外的SRAM芯片实现。簇内共享存储单元配置了专用直接内存存取通道,通过网络接口直接与网络互连,不需要通过总线就可以与网络进行数据交换,进一步提高了簇内数据的共享能力。

该层次化异构多核NoC系统最终在Xilinx公司的XC6VLX550T FPGA上实现。为验证该系统的通信能力和数据处理能力,采用汇编语言和C语言分别对系统内的所有处理器核编程,设计实现了一种RD实时成像算法。该算法包含多个子任务,分别涉及到大规模矩阵的转置、矩阵中一行或一列元素的FFT运算、矩阵元素的累加、所有矩阵元素与常数相乘、求矩阵元素的正弦或余弦等运算。具体的并行编程方式为,将算法中多个子任务划分为3个流水级,然后做并行化拆分,分别映射到4个FPGA中的各个运算簇内,最后根据映射的任务对簇内的ARM核和协处理器进行编程,不同簇的任务通过簇间控制包进行同步。3级流水的任务映射方式如图6所示。这些预先编写好的程序通过编译生成相应的可执行文件,存放在片外的Flash芯片,在系统上电运行时通过Flash接口加载到对应的簇内。

演示系统的PC1中存放着原始数据,每16M数据为一组,在系统运行时该PC将数据划分为等长的以太网包发送到片上网络中,然后片上网络以3级流水线的形式顺次处理16M的原始数据,以每幅间隔22s的速度输出大小为2048*4096的图像,图像在演示系统中的PC2上显示。

本发明将通信最为密集的各种功能单元集合为一个簇,采用簇内总线以及专用的存储接口可保证簇内数据传输的速度;将互相通信比较密集的各个簇和全局共享存储单元挂载到片上网络上,利用网络进行通信;簇或单元访问该全局共享存储单元时可以选取距离较近的接口,可以充分发挥片上网络的通信性能。运算簇和转置上簇作为各种运算单元和通信单元的集合体,具有很强的数据处理能力;每个片上网络上集成簇的数量可以根据实际需求来配置,而且簇本身的功能也是可以配置的,通过增加或减少相应的数据处理单元,可以实现具有不同数据处理能力的簇,这样既能保证满足实际应用的需求,也具有一定的灵活性。本发明通过层次化多级架构和多通道访存有效地提高了系统的通信性能、数据处理能力和访存带宽。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号