CN103345461B - 基于fpga的带有加速器的多核处理器片上网络系统 - Google Patents

基于fpga的带有加速器的多核处理器片上网络系统 Download PDF

Info

Publication number
CN103345461B
CN103345461B CN201310151590.3A CN201310151590A CN103345461B CN 103345461 B CN103345461 B CN 103345461B CN 201310151590 A CN201310151590 A CN 201310151590A CN 103345461 B CN103345461 B CN 103345461B
Authority
CN
China
Prior art keywords
processor
data
network
chip
accelerator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310151590.3A
Other languages
English (en)
Other versions
CN103345461A (zh
Inventor
何春
贺江
王坚
李玉柏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201310151590.3A priority Critical patent/CN103345461B/zh
Publication of CN103345461A publication Critical patent/CN103345461A/zh
Application granted granted Critical
Publication of CN103345461B publication Critical patent/CN103345461B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种基于FPGA的带有加速器的多核处理器片上网络系统,其处理器节点的主控单元中的处理器通过第一AXI总线连接数据存储器BRAM2;所述处理器依次通过自身的Cache接口、第二AXI总线连接所述数据存储器BRAM2,当所述第一AXI总线繁忙或被占用时,所述处理器通过该第二AXI总线读取所述数据存储器BRAM2中的数据进行处理。本发明系统提高了处理器和各个设备的利用率,运算速度快,系统总体性能好。

Description

基于FPGA的带有加速器的多核处理器片上网络系统
技术领域
本发明属于集成电路设计领域,具体涉及一种基于FPGA的带有加速器的多核处理器片上网络系统。
背景技术
随着信息技术的发展,对处理器的运算能力要求越来越高。传统的单核处理器已经无法满足需要,由此出现了多核处理器。多核处理器是指在一个处理器中集成两个或两个以上的处理器内核,通过在各个内核之间划分任务,实现了多个处理器内核的并行运算,从而提高整个处理器的运算处理能力。多核处理器中全局信号线较少,能够较好的克服信号延时。在设计方面也更具优势,可以使用IP复用技术,缩短设计和验证的周期,降低研发成本。
微电子技术的发展,为SoC的实现开辟了新的途径。采用大规模的可编程器件FPGA来实现SoC就是这个十分有效的新途径,称为SOPC技术。传统的通用处理器尽管主频非常的高,但对于特定的处理目标实际处理速度尚不及主频时钟,远低于它的处理器速度。而SOPC技术正使得设计者可根据处理目标随心所欲地为软核处理器设计构建硬件加速器。针对以上仅依靠增加主频速度提高处理器工作频率却收效甚微的难题,基于SOPC技术的可配置型处理器设计的解决方案提供了有效的解决手段。
基于共享总线的多核处理器系统的是目前较为常用的架构之一。所有的核均通过一条总线互连起来,核之间可以通过总线来相互通信,每个核都有独立的一级缓存,核共享总线上的设备。基于共享总线的多核处理器系统缺点是:
第一:单个总线不能提供并发的事务处理,当多个数据流要求同时传输时,他们竞争相同的通信资源--总线。在当前的总线事物处理期间,其他总线请求必须等待,直到当前的总线事物完成。随着系统中集成的IP核数量的增加,总线结构将无法有效地应对多个数据流并发传输时对通信资源的频繁竞争。
第二:随着总线上挂接的设备数量的增加,总线上的寄生电容等参数也变大,从而导致总线的操作频率降低,进而限制了总线的带宽。
第三:随着工艺特征尺寸的缩小,互连线将逐渐成为系统能量的主要消耗者之一。总线传输数据时需要对挂接在总线上的所有设备(表现为负载电容)进行充放电,会浪费大量的能量。
多核处理器片上网络系统架构是作为共享总线的多核处理器系统的改进架构。它采用片上网络的核间通信方式,它的每一个核都是采用的通用处理器,该系统虽然克服了共享总线的多核处理器系统的很多缺点,但是由于采用的是通用处理器,任务分配到每个处理器上直接进行运算,总体性能还是较为低下。
发明内容
本发明的目的在于克服现有技术中所存在的多核处理器片上网络系统总体性能低下的问题,提供一种运算速度快、总体性能高的基于FPGA的带有加速器的多核处理器片上网络系统。
为了解决上述问题,本发明采用的技术方案为:
一种基于FPGA的带有加速器的多核处理器片上网络系统,包括多个路由节点,所述路由节点和相邻路由节点之间的通信链路组成片上网络,所述每个路由节点均挂载一个处理器节点,所述每个处理器节点均包括主控单元、所述主控单元通过可配置接口单元连接所述片上网络;其中,所述主控单元包括处理器,所述处理器通过第一AXI总线连接用于存储数据的数据存储器BRAM2;当所述片上网络上的数据到来时,在所述处理器控制下,所述可配置接口单元将数据通过第一AXI总线送入所述数据存储器BRAM2中,所述处理器再通过所述第一AXI总线从所述数据存储器BRAM2中读取数据进行处理,所述处理器依次通过自身的Cache接口、第二AXI总线连接所述数据存储器BRAM2,当所述第一AXI总线繁忙或被占用时,所述处理器通过该第二AXI总线读取所述数据存储器BRAM2中的数据进行处理。在本发明中,处理器读取数据采用专用的总线(即第二AXI总线),其他设备共享一个总线(第一AXI总线)。这样当共享总线,即第一AXI总线在被占用时,处理器仍能读取数据进行处理,提高了处理器和各个设备的利用率,运算速度快,系统总体性能提高。
优选的,所述主控单元通过可配置接口单元还连接有加速器,当有大量数据从所述片上网络传来需要所述主控单元中的处理器处理时,所述处理器控制所述可配置接口单元将数据直接送入所述加速器中,由所述加速器进行数据处理。本发明中当有大数据需要处理时,数据从片上网络直接到达加速器,然后再由处理器控制加速器对数据进行处理。和现有技术中片上网络上的数据到了之后由处理器控制将数据放入数据存储器BRAM2,然后再依次取数据到加速器处理相比,存取时间要少很多,可以大大减少整个数据的处理时间。
上述基于FPGA的带有加速器的多核处理器片上网络系统中,所述可配置接口单元包括加速器接口模块和网络接口模块;
其中,所述网络接口模块用于所述处理器与片上网络的相互通信,根据所述处理器的指令判断决定将来自所述片上网络的数据通过所述第一AXI总线送入所述处理器,或将来自所述片上网络的数据通过所述加速器接口模块送入所述加速器;所述加速器接口模块用于所述处理器与加速器的相互通信;同时用于所述加速器与片上网络的单向通信,根据所述处理器的指令将所述网络接口模块发送来的来自片上网络的数据送入加速器。
进一步的,所述可配置接口单元还包括用于所述主控单元中的处理器与所述加速器接口模块和网络接口模块进行指令交互的指令接口模块,所述处理器通过AXI_Stream指令总线直接连接所述可配置接口单元中的所述指令接口模块,所述处理器通过所述AXI_Stream指令总线发送指令控制所述可配置接口单元中的各模块运行。
为了方便系统各部分连接,所述可配置接口单元通过互连接口连接所述主控单元;所述互连接口包括第一AXI总线接口和第二AXI总线接口,所述第一AXI总线接口连接所述可配置接口单元中的加速器接口模块,所述第二AXI总线接口连接所述可配置接口单元中的网络接口模块;所述第一AXI总线接口和第二AXI总线接口均连接所述主控单元中的第一AXI总线。
优选的,所述片上网络为采用2D-mesh拓扑结构,虫孔交换方式和维序路由算法设计的片上网络。
优选的,所述处理器通过本地总线LMBBUS还连接有存储应用程序代码的本地存储器BRAM1。
优选的,所述第一AXI总线上挂载有DMA。
优选的,所述第一AXI总线上挂载有AXIUART。
与现有技术相比,本发明的有益效果:
本发明中,处理器读取数据采用专用的总线(即第二AXI总线),其他设备共享一个总线(第一AXI总线),这样当共享总线,即第一AXI总线在被占用时,处理器仍能读取数据进行处理,提高了处理器和各个设备的利用率,运算速度快,系统总体性能好。本发明优选方案中,当有大数据需要处理时,数据从片上网络直接到达加速器,然后再由处理器控制加速器对数据进行处理。和现有技术中片上网络上的数据到了之后由处理器控制将数据放入数据存储器BRAM2,然后再依次取数据到加速器处理相比,存取时间要少很多,可以大大减少整个数据的处理时间。同时本发明中使用AXI_stream指令总线作为专用的指令总线,处理器通过该专用指令总线发送和接收指令控制相应模块运行,系统运行速度快。
附图说明:
图1是本发明具体实施方式中的片上网络拓扑结构示意图。
图2是本发明具体实施方式中的处理器节点的系统结构框图。
图3是本发明具体实施方式中的可配置接口单元的结构框图。
具体实施方式
下面结合具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
本发明系统是在Xilinx的FPGA芯片上实现的。在设计当中,使用的通用处理器核是Microblaze。该系统主要包括片上网络和处理器节点两部分。参看图1和图2,本发明的基于FPGA的带有加速器的多核处理器片上网络系统,包括多个路由节点R,所述路由节点R和相邻路由节点R之间的通信链路(双向箭头表示通信链路)组成片上网络NoC,所述每个路由节点R均挂载一个处理器节点IP,所述每个处理器节点IP均包括主控单元、所述主控单元通过可配置接口单元连接所述片上网络NoC;其中,所述主控单元包括处理器Microblaze,所述处理器Microblaze通过第一AXI总线AXIBUS1连接用于存储数据的数据存储器BRAM2;当所述片上网络NoC上的数据到来时,在所述处理器Microblaze控制下,所述可配置接口单元将数据通过第一AXI总线AXIBUS1送入所述数据存储器BRAM2中,所述处理器再通过所述第一AXI总线AXIBUS1从所述数据存储器BRAM2中读取数据进行处理,所述处理器Microblaze依次通过自身的Cache接口、第二AXI总线AXIBUS2连接所述数据存储器BRAM2,数据存储器BRAM2为双口BRAM2,它的一个端口挂载到AXIBUS1上,另一个端口挂载到AXIBUS2上。当所述第一AXI总线AXIBUS1繁忙或被占用时,所述处理器Microblaze通过该第二AXI总线AXIBUS2读取所述数据存储器BRAM2中的数据进行处理。在本发明中,处理器Microblaze读取数据采用专用的总线(即第二AXI总线AXIBUS2),其他设备共享一个总线(第一AXI总线AXIBUS1)。这样当共享总线,即第一AXI总线AXIBUS1在被占用时,处理器Microblaze仍能读取数据进行处理,提高了处理器Microblaze和各个设备的利用率,运算速度快,系统总体性能好。为了进一步提高处理器Microblaze处理数据的速度,所述处理器Microblaze通过本地总线LMBBUS还连接有存储应用程序代码的本地存储器BRAM1,所述第一AXI总线AXIBUS1上挂载有DMA,在AXIBUS1上加入了DMA,用于此条总线上相关设备的数据搬运,可以大大提高数据的传输效率。
进一步的,所述主控单元通过可配置接口单元还连接有加速器ACC,当有大量数据从所述片上网络NoC传来需要所述主控单元中的处理器Microblaze处理时,所述处理器Microblaze控制所述可配置接口单元将数据直接送入所述加速器ACC中,由所述加速器ACC进行数据处理。本发明中当有大数据需要处理时,数据从片上网络NoC直接到达加速器ACC,然后再由处理器Microblaze控制加速器ACC对数据进行处理。和现有技术中片上网络NoC上的数据到了之后由处理器Microblaze控制将数据放入数据存储器BRAM2,然后再依次取数据到加速器ACC处理相比,存取时间要少很多,可以大大减少整个数据的处理时间。
具体的,所述可配置接口单元包括加速器接口模块ACC_IF和网络接口模块NoC_IF,其中所述网络接口模块NoC_IF用于所述处理器Microblaze与片上网络NoC的相互通信,根据所述处理器Microblaze的指令判断决定将来自所述片上网络NoC的数据通过所述第一AXI总线AXIBUS1送入所述处理器Microblaze,或将来自所述片上网络NoC的数据通过所述加速器接口模块ACC_IF送入所述加速器ACC;所述加速器接口模块ACC_IF用于所述处理器Microblaze与加速器ACC的相互通信;同时用于所述加速器ACC与片上网络NoC的单向通信,根据所述处理器Microblaze的指令将所述网络接口模块NoC_IF发送来的来自片上网络NoC的数据送入加速器ACC。
进一步的,所述可配置接口单元还包括用于所述主控单元中的处理器Microblaze与所述加速器接口模块ACC_IF和网络接口模块NoC_IF进行指令交互的指令接口模块AXI_Stream_IF,所述处理器Microblaze通过AXI_Stream指令总线直接连接所述可配置接口单元中的所述指令接口模块AXI_Stream_IF,,所述处理器Microblaze通过所述AXI_Stream指令总线发送指令控制所述可配置接口单元中的各模块运行,运行速度大大提高。
再参看图3,所述可配置接口单元中的所述网络接口模块NoC_IF包括仲裁模块,当NoC的数据到达以后,经过该仲裁模块的判断,然后决定数据是进入加速器接口模块ACC_IF还是进入处理器Microblaze,还包含有封包模块,用于当处理器发送的数据到来时,封包模块将该数据按照NoC上的数据包格式封装成包,然后发送到NoC。当然所述网络接口模块NoC_IF还包括解包模块(图未示),其与封包模块功能刚好相反,在此不再详述。所述加速器接口模块ACC_IF包括第一合并模块合并1,用于根据处理器的指令将来自所述仲裁模块的数据输入到加速器ACC中,还包括第二合并模块合并2和数据缓存模块FIFO,加速器处理后的数据如果要直接发送到片上网络NoC,则第二合并模块合并2根据处理器的指令将加速器ACC处理后的数据加上数据头(包含路由信息)后输入到数据缓存模块FIFO中,再由数据缓存模块FIFO将加上了数据头的数据通过第一AXI总线AXIBUS1送入网络接口模块NoC_IF中的封包模块。所述处理器也可以控制将数据通过第一合并模块合并1送入加速器ACC中处理,加速器ACC处理后的数据通过第二合并模块合并2输出到数据缓存模块FIFO中,再由数据缓存模块FIFO输出送入所述处理器Microblaze。
所述指令接口模块AXI_Stream_IF连接一指令收集模块,指令收集模块收集可配置接口单元中各模块(ACC_IF、NoC_IF)等的信息,然后将这些信息按照一定的指令格式组合,指令收集模块同时产生中断信号并通过中断控制器通知处理器获取这些组合后的信息。指令接口模块AXI_Stream_IF还连接一指令译码模块,用于将处理器输出的指令译码后输入到可配置接口单元相应的模块(ACC_IF、NoC_IF),控制这些模块的运行。ACC_IF、NoC_IF等模块在运行过程中可产生中断信号(例如数据传输完毕)通过中断控制器通知所述处理器,由处理器根据情况控制系统运行。
为了方便可配置接口单元与主控单元的连接,所述可配置接口单元和所述主控单元之间设有互连接口,所述互连接口包括第一AXI总线接口AXI_IF1和第二AXI总线接口AXI_IF2,所述第一AXI总线接口AXI_IF1连接所述可配置接口单元中的加速器接口模块ACC_IF,所述第二AXI总线接口AXI_IF2连接所述可配置接口单元中的网络接口模块NoC_IF;所述第一AXI总线接口AXI_IF1和第二AXI总线接口AXI_IF2均连接所述主控单元中的第一AXI总线AXIBUS1。互连接口使用了两条数据总线接口,分别是AXI_IF1和AXI_IF2,接口AXI_IF1和AXI_IF2是完全相同的,选用的接口类型是AXI4,并且包含了读和写FIFO。AXI_IF1连接着加速器接口模块ACC_IF,用于处理器Microblaze和加速器ACC相互的通信。AXI_IF2连接着网络接口模块NoC_IF,用于处理器Microblaze和NoC的相互通信。NoC_IF与ACC_IF之间还有一条单向的通道,数据可以在指令的控制下从NoC_IF直接发送到ACC_IF从而进入加速器ACC中。
本发明具体实施方式上述系统中所述片上网络NoC为采用2D-mesh拓扑结构,虫孔交换方式和维序路由算法设计的片上网络。片上网络NoC的设计主要包含拓扑结构、交换方式和路由算法的选择。在拓扑结构上,考虑到实现的复杂度,选用了2D-mesh拓扑结构,交换方式上,考虑到硬件开销以及传输延迟,选用虫孔交换,在路由算法上考虑到死锁问题以及硬件开销,选用了维序路由,这些均为现有成熟技术,在此不再详述片上网络NoC的具体设计。
为了使该系统和电脑通信,便于系统调试使用,所述第一AXI总线AXIBUS1上挂载有AXIUART。
本发明的主控单元中所有的设计都是采用的标准IP核,包括了处理器Microblaze、LMB、AXIBUS1、AXIBUS2、DMA、中断控制器等。使用这些标准IP核的时候,只需要对其进行例化,并对其参数进行配置。可配置接口单元和片上网络路由节点采用verilog硬件编程语言设计。
本发明中处理器节点在其主控单元中使用了一条LMBBUS总线、一条AXI_Stream总线和两条AXI总线。LMBBUS用于连接处理器和本地存储器BRAM1,BRAM1用于存放应用程序和代码。AXI_Stream用于连接AXI_stream_IF,AXI_stream_IF是可配置接口单元的指令接口模块,用于处理器和可配置接口单元的指令交互。数据存储器BRAM2有两条AXI总线与之相连,分别是AXIBUS1和AXIBUS2。处理器Microblaze可以通过专用的AXIBUS2访问BRAM2的数据,这样可以大大减轻AXIBUS1的数据传输压力。
下面以在FPGA上实现并采用2*2的2-Dmesh结构的多核处理器片上网络系统作为实例对本发明进行说明。
可以看出,该架构包含了片上网络和处理器节点两部分。片上网络由通信链路和路由节点(R00、R01、R10、R11)组成,为了准确地让各个路由节点相互通信,每个路由节点R都必须有自己的唯一地址。在本设计中,用XY坐标来标识路由节点的地址,如R11表示该路由节点的坐标为(1,1)。每个路由节点都挂载了一个处理器节点,所有的处理器节点完全相同,是同构的多核处理器。处理器节点的坐标和路由节点的坐标相同。要将数据从一个路由节点发往另一个路由节点上的处理器节点,只需要指定目的路由节点的坐标即可。
选用基于矩阵乘法定义的64*64矩阵相乘,适当分配任务到每个核(即处理器节点中的处理器Microblaze)。假定两个矩阵分别为A和B,A*B=C。容易得知C是一个64*64的矩阵,指定核01(即路由节点R01挂载的处理器节点中处理器Microblaze)计算C的第1行到第22行共1408个数据,核10(即路由节点R10挂载的处理器节点中处理器Microblaze)计算第23行到第44行共1408个数据,核11(即路由节点R11挂载的处理器节点中处理器Microblaze)计算第45行到第64行共1280个数据。
然后进行数据分配:按照矩阵乘法的定义可知,所有的辅核(即核01、核10和核11)都需要矩阵B的全部数据,只需要部分的矩阵A数据,核01需要A的第1行到22行,核10需要A的第23行到第44行,核11需要A的第45行到第64行。
第一步:数据产生。在核00(即路由节点R00挂载的处理器节点中处理器Microblaze)中产生上述两个64*64的矩阵A和B。
第二步:数据发送。将矩阵A的相应数据和矩阵B的全部数据发送到对应的核01、核10和核11。即将矩阵A的第1行到22行的数据发送到核01,矩阵A的第23行到第44行的数据发送到核10,矩阵A的第45行到第64行的数据发送到核11。矩阵B的全部数据发送到核01、核10和核11。
第三步:核01、核10和核11接收完数据后分别启动加速器进行计算处理。
第四步:数据汇总。核01、核10和核11将加速器计算的结果发送到核00。
第五步:结果对比。核00将汇总的结果和直接用A和B计算的结果进行对比。
第六步:结果分析和性能对比。分析结果的正确性和处理时间。
在上述案中,程序的存储需要BRAM1,数据的存储需要BRAM2,数据搬运需要DMA、总线AXIBUS1以及可配置接口单元,处理器Microblaze获取数据需要用到总线AXIBUS2。当数据由NoC传送到达时,需要用来中断通知处理器Microblaze。为了得到的多核处理器片上网络系统的性能,测试了64*64矩阵乘法在单个的处理器Microblaze系统、多核处理器Microblaze系统消耗的时钟个数。表1为按定义的64*64矩阵相乘在各种处理器上的运行情况。
表164*64矩阵相乘在不同种类处理器上运行的时钟个数
处理器种类 主频 消耗时钟个数
单个Microblaze 150Mhz 18256966
多核Microblaze计算 150Mhz 6292529
多核加速器计算 150Mhz 63672
由下面公式(1)和(2)可以计算出对应处理器的时钟周期、计算时间。
计算时间=时钟周期×时钟个数(2)
为了进一步比较性能,再对得到的数据进行加工处理。以本发明上述带有加速器的4核处理器系统的计算时间为1个时间单位,可以分别计算出现有其他方式所用的时间单位,这样就得到了时间归一化数据,时间归一化可以方便地看出不同系统的数据处理时间差别。容易知道,计算时间的倒数与处理速度成正比,若以单个处理器Microblaze系统计算时间的倒数作为1个速度单位,可以计算出其他处理方式的速度归一化数据,从该数据中可以方便的看出不同方式处理的快慢。表2为按照上述方式对不同种类处理器系统的运行情况分析:
处理器种类 4核加速器计算 4核Microblaze 单个Microblaze
消耗时钟数 63672 6292529 18256966
时钟周期(ns) 6.6667 6.6667 6.6667
计算时间(us) 424.48 41950.19 121713.11
时间归一化 1 98.83 286.73
速度归一化 286.73 2.90 1
时钟数归一化 1 2.90 286.73
从表2中可以看出,不带有加速器的4核处理器Microblaze系统是单个处理器Microblaze系统速度的2.9倍。可以初步体现出多核处理器相对于单核的优势。而带有加速器的多核处理器系统速度提升更为明显,达到单个核速度的286.73倍。由此看出采用本发明方案,提高了处理器和各个设备的利用率,运算速度快,系统总体性能好。
上面结合附图对本发明的具体实施方式进行了详细说明,但本发明并不限制于上述实施方式,在不脱离本申请的权利要求的精神和范围情况下,本领域的技术人员可以作出各种修改或改型。

Claims (9)

1.一种基于FPGA的带有加速器的多核处理器片上网络系统,包括多个路由节点,所述路由节点和相邻路由节点之间的通信链路组成片上网络,每个所述路由节点均挂载一个处理器节点,每个所述处理器节点均包括主控单元、所述主控单元通过可配置接口单元连接所述片上网络;其中,所述主控单元包括处理器,所述处理器通过第一AXI总线连接用于存储数据的数据存储器BRAM2;当所述片上网络上的数据到来时,在所述处理器控制下,所述可配置接口单元将数据通过第一AXI总线送入所述数据存储器BRAM2中,所述处理器再通过所述第一AXI总线从所述数据存储器BRAM2中读取数据进行处理,其特征在于,所述处理器依次通过自身的Cache接口、第二AXI总线连接所述数据存储器BRAM2,当所述第一AXI总线繁忙或被占用时,所述处理器通过该第二AXI总线读取所述数据存储器BRAM2中的数据进行处理。
2.根据权利要求1所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述主控单元通过可配置接口单元还连接有加速器,当有大量数据从所述片上网络传来需要所述主控单元中的处理器处理时,所述处理器控制所述可配置接口单元将数据直接送入所述加速器中,由所述加速器进行数据处理。
3.根据权利要求2所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述可配置接口单元包括加速器接口模块和网络接口模块;
其中,所述网络接口模块用于所述处理器与片上网络的相互通信,根据所述处理器的指令判断决定将来自所述片上网络的数据通过所述第一AXI总线送入所述处理器,或将来自所述片上网络的数据通过所述加速器接口模块送入所述加速器;
所述加速器接口模块用于所述处理器与加速器的相互通信;同时用于所述加速器与片上网络的单向通信,根据所述处理器的指令将所述网络接口模块发送来的来自片上网络的数据送入加速器。
4.根据权利要求3所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述可配置接口单元还包括用于所述主控单元中的处理器与所述加速器接口模块和网络接口模块进行指令交互的指令接口模块,所述处理器通过AXI_Stream指令总线直接连接所述可配置接口单元中的所述指令接口模块,所述处理器通过所述AXI_Stream指令总线发送指令控制所述可配置接口单元中的各模块运行。
5.根据权利要求4所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述可配置接口单元通过互连接口连接所述主控单元;所述互连接口包括第一AXI总线接口和第二AXI总线接口,所述第一AXI总线接口连接所述可配置接口单元中的加速器接口模块,所述第二AXI总线接口连接所述可配置接口单元中的网络接口模块;所述第一AXI总线接口和第二AXI总线接口均连接所述主控单元中的第一AXI总线。
6.根据权利要求1至5任一项所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述片上网络为采用2D-mesh拓扑结构,虫孔交换方式和维序路由算法设计的片上网络。
7.根据权利要求1至5任一项所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述处理器通过本地总线LMBBUS还连接有存储应用程序代码的本地存储器BRAM1。
8.根据权利要求1至5任一项所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述第一AXI总线上挂载有DMA。
9.根据权利要求1至5任一项所述的基于FPGA的带有加速器的多核处理器片上网络系统,其特征在于,所述第一AXI总线上挂载有AXIUART。
CN201310151590.3A 2013-04-27 2013-04-27 基于fpga的带有加速器的多核处理器片上网络系统 Expired - Fee Related CN103345461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310151590.3A CN103345461B (zh) 2013-04-27 2013-04-27 基于fpga的带有加速器的多核处理器片上网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310151590.3A CN103345461B (zh) 2013-04-27 2013-04-27 基于fpga的带有加速器的多核处理器片上网络系统

Publications (2)

Publication Number Publication Date
CN103345461A CN103345461A (zh) 2013-10-09
CN103345461B true CN103345461B (zh) 2016-01-20

Family

ID=49280259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310151590.3A Expired - Fee Related CN103345461B (zh) 2013-04-27 2013-04-27 基于fpga的带有加速器的多核处理器片上网络系统

Country Status (1)

Country Link
CN (1) CN103345461B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753830B (zh) * 2013-12-25 2017-10-24 展讯通信(上海)有限公司 基带芯片及其数据处理方法
CN105095147B (zh) * 2014-05-21 2018-03-13 华为技术有限公司 片上网络的Flit传输方法及装置
CN104008084B (zh) * 2014-06-02 2017-01-18 复旦大学 一种可拓展的2.5d多核处理器架构
CN105786741B (zh) * 2014-12-25 2023-05-23 锐迪科(重庆)微电子科技有限公司 一种soc高速低功耗总线及转换方法
CN104820652B (zh) * 2015-04-28 2018-02-13 电子科技大学 一种使用axi总线的图像模板匹配装置
US9965428B2 (en) 2015-07-17 2018-05-08 Raytheon Company Logic utilization with AXI4 augmented address
CN105242594A (zh) * 2015-09-23 2016-01-13 成都乐维斯科技有限公司 基于Microblaze软核处理器的逻辑控制系统
EP3479402B1 (en) * 2016-06-30 2021-10-27 INTEL Corporation Method and apparatus for remote field programmable gate array processing
CN106407522B (zh) * 2016-08-31 2019-09-10 德为显示科技股份有限公司 基于fpga的逻辑ip总线互联实现装置
CN106776403A (zh) * 2016-11-11 2017-05-31 济南浪潮高新科技投资发展有限公司 一种基于fpga的高速大容量存储系统及其实现方法
CN106650411A (zh) * 2016-11-24 2017-05-10 天津津航计算技术研究所 密码算法验证系统
CN106648896B (zh) * 2016-12-26 2020-06-02 北京四方继保自动化股份有限公司 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
US11249808B2 (en) * 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
CN107682655A (zh) * 2017-08-31 2018-02-09 中国航空工业集团公司洛阳电光设备研究所 一种视频数据到AXI_Stream总线数据流的快速转换方法
CN110134640B (zh) * 2018-02-09 2024-03-01 上海中研久弋科技有限公司 多核心传感器数据处理芯片及运行方法
CN108427584B (zh) * 2018-03-19 2021-07-30 清华大学 快速启动的具有并行计算核的芯片及该芯片的配置方法
CN109634900B (zh) * 2018-11-13 2020-12-08 北京时代民芯科技有限公司 一种基于axi协议的多层次低延迟互连结构
CN109614359B (zh) * 2018-12-28 2020-09-18 中科院计算技术研究所南京移动通信与计算创新研究院 一种基于axi总线的数据发送方法、装置和存储介质
CN111258574B (zh) * 2020-01-14 2021-01-15 中科驭数(北京)科技有限公司 加速器体系结构的编程方法和系统
CN111324558B (zh) * 2020-02-05 2021-08-10 苏州浪潮智能科技有限公司 数据处理方法、装置、分布式数据流编程框架及相关组件
CN113485953A (zh) * 2021-05-26 2021-10-08 加弘科技咨询(上海)有限公司 多核嵌入式系统及其基于串口虚拟化实现通信的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW588243B (en) * 2002-07-31 2004-05-21 Trek 2000 Int Ltd System and method for authentication
US8438578B2 (en) * 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
CN102880762A (zh) * 2012-10-18 2013-01-16 电子科技大学 基于NoC架构的多核处理器平台及其设计方法

Also Published As

Publication number Publication date
CN103345461A (zh) 2013-10-09

Similar Documents

Publication Publication Date Title
CN103345461B (zh) 基于fpga的带有加速器的多核处理器片上网络系统
Moraes et al. HERMES: an infrastructure for low area overhead packet-switching networks on chip
CN101901200B (zh) 一种基于双AHB Master接口的片上DMA控制器实现方法
CN109656861A (zh) 一种基于srio总线的多核并行信号处理系统及方法
CN105207957B (zh) 一种基于片上网络多核架构的系统
CN110347635A (zh) 一种基于多层总线的异构多核微处理器
CN205038556U (zh) 一种基于双dsp双fpga的vpx多核智能计算硬件平台
CN109447241A (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
CN104765701B (zh) 数据访问方法及设备
CN105045566B (zh) 一种嵌入式并行计算系统及采用其的并行计算方法
CN106372029A (zh) 一种基于中断的点对点片内通信模块
Liu et al. A dynamic adaptive arbiter for Network-on-Chip
CN209055883U (zh) 一种基于多核powerpc处理器的非对称数据处理装置
CN103166863A (zh) 集总式8x8低延迟高带宽交叉点缓存队列片上路由器
CN103678202B (zh) 一种多核处理器的dma控制器
CN103412849A (zh) ARM处理器的NoC资源网络接口及其驱动方法
CN109995679A (zh) 基于任务驱动的芯片级多异构通讯核的NoC系统
CN206907016U (zh) 一种高速实时数据采集系统
WO2021213075A1 (zh) 一种基于多处理节点来进行节点间通信的方法和设备
CN102761578B (zh) 集群计算系统
Mamidala et al. Optimizing mpi collectives using efficient intra-node communication techniques over the blue gene/p supercomputer
CN105049377B (zh) 基于Crossbar架构的AFDX交换机数据总线结构及数据交换方法
CN104794087B (zh) 一种多核处理器中处理单元接口电路
Duan et al. Research on double-layer networks-on-chip for inter-chiplet data switching on active interposers
CN113672549A (zh) 一种基于非共享存储多核处理器的微系统架构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120

Termination date: 20190427