基于片上网络的异构多核处理系统的制作方法

文档序号:8472936阅读:379来源:国知局
基于片上网络的异构多核处理系统的制作方法
【技术领域】
[0001]本发明属于微电子技术领域,更进一步涉及一种异构多核处理器,可用于为不同的大规模并行科学计算案例提供灵活、高性能的处理器平台。
【背景技术】
[0002]当前科学研宄的主要手段包括:高性能计算、传统理论推演以及实验研宄。其中,高性能计算已广泛应用于众多领域,如图形视觉、信号处理以及科学计算领域等。随着科技的进步,高性能科学计算对大规模并行计算提出了迫切需求。同时,随着集成电路制造工艺的不断进步,片上多核处理器作为摩尔定律的一种新的延续形式,已经成为处理器性能持续增长的必然途径。目前,多核片上系统MPSoC集成的核芯数目越来越多,核间通信机制成为了决定多核系统性能的重要因素。对于一种多核处理平台的通信结构的设计主要面临以下两个问题:(I)对于百千级别的超大规模多核处理器平台如何实现核与核间高效的互连,同时降低因为通信结构而引入的额外开销;(2)如何提升多核片上系统的并行计算能力,以更加有效利用多核计算资源,使得用户能够最终享受到硬件资源增加带来的性能体验。共享总线核间互联结构是传统多核处理器常见的核间互连技术之一,各个处理器核和系统外设通过共享总线互连,处理器核和外设可以通过总线进行数据通信。但基于共享总线的多核处理器具有以下缺点:1)共享总线结构只能提供点对点的数据通信,并不支持多条数据分组并行传输,使得在大规模数据分组传输情况下通信效率低下;2)共享总线结构中,随着多核处理器核心数目的不断增大,总线的负载也越来越大,导致总线的工作频率降低,使得共享总线结构的总线数据带宽变窄;3)共享总线结构中,由于总线的负载增加,导致总线的能量消耗急速增加,进而引起了一系列系统散热、可靠性等问题,使得共享总线结构的核间通信机制可靠性差。
[0003]片上网络NoC从首次提出,到目前已成为处理器架构以及片上通信架构的主要研宄方向,并被证明完全可以胜任作为未来多核系统的片上通信网络。
[0004]华为技术有限公司拥有的专利技术“一种多核处理器系统”(申请号201280000273.5,授权公告号CN 102713852B,公开日为2014.06.04),公开了一种多核处理器系统,其包括多个中央处理器单元以和多组第一级硬件消息队列,每一个中央处理单元分别连接一组第一级硬件消息列队,用于处理第一级硬件消息队列中的消息。其中每一组第一级硬件队列包括多个第一级硬件消息队列,在消息列队中,优先级高的第一级硬件消息队列优先被调度,相同优先级的第一级硬件消息队列根据轮转调度权重被轮转调度。该专利技术存在的不足是,虽然实现了各个核之间的数据共享与传递,但是系统的各个核需要频繁的进行大量数据分组交互时,该系统的通信结构不能实现并行传输,导致数据分组传输拥塞,通信效率较低;同时该系统系统采用同构设计不利于系统计算资源的有效利用。
[0005]电子科技大学申请的专利“基于FPGA的带有加速器的多核处理器片上网络系统”(申请号 201310151590.3,公开号 CN 103345461A,公开日为 2013.10.09)中公开了一种带有加速器的多核处理器片上网络系统。该系统中处理器节点的主控单元的处理器通过第一 AXI总线连接数据存储器BRAM2,处理器依次通过自身的Cache接口、第二 AXI总线连接数据存储器BRAM2。当第一 AXI总线繁忙或被占用时,处理器通过该第二 AXI总线读取数据存储器BRAM2中的数据进行处理。该系统存在的不足是,虽然采用两级AXI总线进行数据分组的独立传输,可以缓解数据分组通信时的拥塞问题。但是整个硬件系统的硬件资源利用率不高,负载传输不均衡,容易造成整个系统局部过热,通信可靠性降低。
[0006]复旦大学申请的专利“ 一种可拓展的2.多核处理器架构”(申请号201410237881.9,公开号CN 104008084A,公开日为2014.08.27)中公开了一种可拓展的2.多核处理器架构。该系统由两维网格结构的片上网络互连的多核处理器芯片,通过SerDes接口提供的高速数据传输通道和拓展的芯片通信。纵向上,处理器通过片外存储接口和片外存储器进行单字读写和直接数据访存操作;横向上,处理器通过片外加速接口和片外加速器进行控制和数据交互。该系统存在的不足之处是,虽然该系统解决了共享总线架构的总线带宽问题,但是该系统的存储单元,加速器单元是通过SerDes接口、选择器间接挂载在路由器上,使得该设计的通信结构复杂,增加了系统的设计开销,降低了系统的能效比。

【发明内容】

[0007]本发明的目的在于提出一种基于片上网络的异构多核处理系统,以解决上述现有技术的如下问题:
[0008]一是因通信数据传输拥塞而导致系统通信效率低的问题;
[0009]二是因通信传输不均衡而导致系统局部过热的问题;
[0010]三是因系统非异构设计而导致系统计算性能和灵活性差的问题。
[0011]本发明的技术方案是这样实现的:
[0012]本发明通过基于片上网络技术并采用异构处理器架构组成一个nXm的多核处理器系统,同时通过一种与之相适应的软件系统编程模型,实现对多核间协同计算进行处理;本发明通过采用异构多核处理器的组合,提高大规模并行科学计算的性能。整个系统包括:一个nXm的片上网络、X个处理子系统和y个存储子系统,每个网络节点通过网络接口与一个处理单元或者存储单元相连,其中,η多l,m l,x,y根据科学算数案例规模的大小设置,其中X彡1,y彡I ;
[0013]所述片上网络,支持不同拓扑结构的网络接口协议标准;
[0014]每个处理子系统,由通用处理单元或专用硬件加速单元构成;该通用处理单元,用于对无特殊要求的科学案例的进行计算;该专用硬件加速单元,用于对指定功能的科学案例进行计算;
[0015]每个存储子系统,由片内存储单元或片外存储单元构成;该片内存储单元,用于存储在处理子系统计算中需要及时读写的数据;该片外存储单元用于存储在处理子系统计算中不需要及时读写的数据。
[0016]本发明与现有技术相比,具有以下优点:
[0017]第一,由于本发明采用片上网络技术作为多核处理器的核间通信技术,克服了现有技术中基于共享总线的多核处理器系统核间通信效率低下、不支持并行通信等问题,使得本发明支持高效高性能并行的核间通信方式,可以适用于较大规模的多核处理器系统。
[0018]第二,由于本发明采用了异构多核处理器架构,克服了同构多核处理器架构对科学算数案例的算法处理效率较低下、加速性能较差的缺陷,使得本发明提高了并行加速处理性能,并且异构的处理器架构可以针对不同的科学算数案例设计多种硬件加速器,使得系统可以同时并行执行多个科学算数案例的计算,提高了系统运算能效比。
[0019]第三,由于本发明采用分模块的软件结构,克服了现有技术软硬件设计不协同,软件设计冗余的问题,使得本发明具有完备的功能函数库及稳定的系统调度方案。
【附图说明】
[0020]图1为本发明的结构示意图;
[0021]图2为本发明中通用处理单元的方框图;
[0022]图3为本发明中专用硬件加速单元的方框图;
[0023]图4为本发明中片内存储单元的方框图;
[0024]图5为本发明中片外存储单元的方框图;
【具体实施方式】
:
[0025]下面结合附图对本发明做进一步的描述。
[0026]参照图1,本发明的系统包括一个nXm的片上网络l、x个处理子系统2和y个存储子系统3,其中,η彡l,m彡l;x彡I。每个处理子系统2,由通用处理单元21或专用硬件加速单元22构成;每个存储子系统3,由片内存储单元31或片外存储单元32构成。
[0027]本实例以3X3的系统为例,即η = 3,m= 3。系统中有5个处理子系统,图中虚线框中的部分;4个存储子系统,在图中实线框中部分,即X = 5,y = 4。这5个处理子系统中包括3个通用处理单21元和2个专用硬件加速单元22,4个存储子系统中包括2个片内存储单元和2个片外存储单元32。其中,第一处理子系统由第一个通用处理单元组成,第二处理子系统由第一个专用硬件加速单元组成,第三处理子系统由第二个通用处理单元组成,第四处理子系统由第二个专用硬件加速单元组成,第五处理子系统由第三个通用处理单元组成;第一存储子系统由第一个片内存储单元组成,第二存储子系统由第一个片外存储单元组成,第三存储子系统由第二个片内存储单元组成,第四存储子系统由第二个片外存储单元组成。
[0028]图1中省略号表示该系统根据科学计算案例规模的大小,nXm的片上网络I可以做相应要求的增加或者减少。在片上网络中的通用处理单元21、专用硬件加速单元22、片内存储单元31、片外存储单元32可以根据案例的要求确定相应的数目。
[0029]每个网络节点R通过网络接口 NI与一个处理单元2或者存储单元3相连,图1中带有NI标识的方框表示片上网络I的网络接口,带有R的圆形标识表示片上网络I的路由器节点,各路由器之间的箭头连接表示片上网络的路由器拓扑连接关系。
[0030]本发明中的每个通用处理单元21结构相同,用于对无特殊要求的科学计算案例的进行计算。每个专用硬件加速单元22结构相同,用于对指定功能的科学计算案例进行计算。每个片内存储单元31结构相同,用于存储在处理子系统计算中需要及时读写的数据,每个片外存储单元32结构相同,用于存储在处理子系统计算中不需要及时读写的数据。
[0031]所述科学计算案例,是指对实际问题进行数学模型抽象后采用一定的计算方法完成的数学问题。
[0032]参照图2,本发明的每个通用处理单元21,包括通用处理器211、数据存储器212、仲裁器213和第一网络接口 214 ;该仲裁器213通过指令总线、数据总线与通用处理器211相连,用于负责处理器和外设备通信;该第一网络接口 214通过数据总线与数据存储器212相连,并通过控制总线与仲裁器213相连,用于将数据分组封装、解析、以及收发;该数据存储器212与仲裁器213相连,用于存储通用处理器211运行的程序和数据。
[0033]所述通用处理器211包括:封装抽象模块、硬件驱动模块、函数应用模块和系统应用模块,其中
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1