CN102880762A - 基于NoC架构的多核处理器平台及其设计方法 - Google Patents

基于NoC架构的多核处理器平台及其设计方法 Download PDF

Info

Publication number
CN102880762A
CN102880762A CN2012103963100A CN201210396310A CN102880762A CN 102880762 A CN102880762 A CN 102880762A CN 2012103963100 A CN2012103963100 A CN 2012103963100A CN 201210396310 A CN201210396310 A CN 201210396310A CN 102880762 A CN102880762 A CN 102880762A
Authority
CN
China
Prior art keywords
noc
processor
routing node
ram
platform
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.)
Pending
Application number
CN2012103963100A
Other languages
English (en)
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 CN2012103963100A priority Critical patent/CN102880762A/zh
Publication of CN102880762A publication Critical patent/CN102880762A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供了一种基于NoC架构的多核处理平台及其设计方法,属于通信领域,本发明克服了现有技术中采用的处理器平台并行算法和并行任务处理能力低且开发周期长、运行非常不可靠的缺陷。本发明通过NoC方式接入至少两个处理器,所述NoC采用M×N的MESH拓扑结构构建而成,从而实现了提高平台可靠性的功能;同时本发明还能够通过仿真对并行算法的延时、功耗、处理精度等进行评估,提高了平台并行算法和并行任务处理的精度,且有利于缩短多核平台的开发周期。

Description

基于NoC架构的多核处理器平台及其设计方法
技术领域
本发明属于计算机领域,具体的说,涉及一种基于NoC架构的多核处理器平台及其设计方法。
背景技术
随着集成电路技术的发展,单个芯片上的集成度在逐渐增加,单核处理器的性能得到了很大的提高。但是由于OSI七层协议中的应用层对实时性和运算量的需求继续增加,已经很难通过提高单核处理器工作频率和扩大芯片面积来满足实时性和运算量的要求,因此多核处理器并行执行任务的解决方式便被提出来。
然而在多核处理器的条件下,传统的总线结构并没有被改变,现有技术中DSP是目前流行的一种处理器平台,可以将多个64+TM集成在一个芯片上,为密集处理型产品提供高达4.2GHz的性能,能够应用到通信基础设施、高端产业、任务关键型应用、高端图像和视频等领域,通过数据总线和配置总线,实现处理器间以及处理器和外围设备间的通信。然而DSP采用的是总线架构,同一时刻只能有一个处理器占用总线,对多核处理器平台的性能造成一定影响,使其并行算法和并行任务处理能力低,而且开发周期长同时运行非常不可靠。
发明内容
本发明的目的在于克服现有技术中采用的处理器平台并行算法和并行任务处理能力低且开发周期长、运行非常不可靠的缺陷,提供一种点对点并行传输,可以在多核平台设计前期对平台进行评估,因此提高平台可靠性的一种基于NoC结构的多核处理器平台及其设计方法。
本发明采用的技术方案如下:
基于NoC架构的多核处理器平台,包括通过NoC方式接入的至少两个处理器,所述NoC采用M×N的MESH拓扑结构构建而成,其中M和N均为正整数。
为了实现本发明,所述处理器上创建有实现处理器数据输入和输出的网络接口,其中NoC包括与网络接口一一对应的路由节点,且相邻的路由节点之间连接有两条以实现数据相反流向的数据线。
为了更好的存储、读写数据,所述处理器内设置有用于配合网络接口完成数据传输的RAM读缓存区和RAM写缓存区。
为了实现功率评估功能,所述NoC上还分别搭载了Orion2.0和Mcpat工具。
基于NoC架构的多核处理器平台,本发明还提供了其设计方法:
(1)设置路由节点的结构,使该路由节点通过XY路由算法寻找目的节点,采用虫洞技术进行数据转发,且通过时间片轮算法对输出竞争进行仲裁;
(2)根据单个路由节点的结构配置Orion2.0功率消耗参数;
(3)输入参数M和N,配置NoC的规模,将路由节点进行互联,即可获得M×N的MESH拓扑结构的NoC;
(4)在处理器上创建网络接口,并在处理器中创建RAM读缓冲区和RAM写缓冲区,将网络接口与路由节点一一连接,得到路由节点排列为M×N的矩阵型结构,并且相邻的路由节点通过两条以实现数据相反流向的数据线连接;
(5)为处理器创建Wrapper程序,并将其和网络接口进行连接,使处理器和网络接口之间进行通信;
(6)根据处理器结构配置Mcpat参数。
为了方便扩建网络,所述步骤(1)中单个路由节点包括东、西、南、北和本地五个方向,东、西、南、北中的每一个方向均设置有用于和其他路由接口相连的输出端口和输入端口,其中本地方向还设置有与网络接口相连的输出端口和输入端口。
进一步的,所述步骤(4)中在处理器中创建RAM读缓冲区和RAM写缓冲区的具体步骤如下:
(4a)创建RAM读缓冲区,并把路由节点本地输出端输出的数据解包后缓存到网络接口;
(4b)当处理器读信号有效时,将数据搬移到RAM读缓冲区中,再根据配置创建RAM写缓冲区,当处理器写信号有效时,将数据搬移到RAM写缓冲区。
再进一步的,所述步骤(6)结束后,还能够进行该平台进行仿真,其中仿真步骤如下:
(I)将各个处理器上需要并行处理的任务和并行算法用C代码实现;
(II)使用OpenRISC工具链生成在OpenRISC上执行的程序;
(III)运行仿真平台,并为各个OpenRISC加载需要执行的程序。
与现有技术相比,本发明具有以下有益效果:
(1)本发明采用了NoC即片上网络进行数据传输,片上网络很好的克服了总线结构的各种局限,实现整个网络多条点到点的连接,相互间不会产生干扰,解决了处理器出现通信冲突问题的同时容易实现全局同步;进一步的,整个平台由于采用的是非总线结构,因此即使随着NoC半径的增大,也不会有任何延迟的情况产生;
(2)本发明的多核处理平台还利用其搭载的Orion2.0和Mcpat工具对各个处理器的功率消耗进行估计,Orion2.0和Mcpat分别根据路由节点结构和处理器的结构进行参数配置,使之与该平台的架构以及处理器和路由节点内部结构更匹配从而提高估计值的精确度;
(3)本发明的路由节点在东、西、南、北的任意一个方向均设置有一个输出端和一个输入端,因此在已经架构好NoC后,依然可以在NoC边缘处的路由节点上再继续连接路由节点,即对该平台扩充,实现对NoC架构的弹性需求;
(4)本发明路由节点的输入缓存大小可以根据需要配置,因此路由节点可以很好的满足不同处理器或者平台适用于不同情况时或者其他任何状况,同时该路由节点还采用了XY路由算法和虫洞技术进行数据转发,更加有效的提高了平台的数据计算和传输速度,节约了时间;同时该路由节点还采用时间片轮转算法对输出竞争进行仲裁,防止了拥堵、死锁情况的发生;
(5)整个平台在设计完毕后,还可以使用OpenRISC工具链编译并行算法源代码,生成在OpenRISC上执行的程序,便可以实现对该平台的仿真,在仿真结束后可以得到并行算法的运算结果、执行时间,还能够得到NoC和OR1200上消耗的功率,因此可以利用该仿真结果对并行算法和并行任务的处理能力和处理精度进行评估,包括并行算法的延时、功耗、处理精度等都能够进行评估,有利于缩短多核平台的开发周期,提高平台的可靠性,其中OpenRISC基于GPL协议的开放源代码的RISC处理器,具有完整的工具链,包括:开源的软件开发工具,C语言实现的CPU仿真模型,操作系统,以及软件应用所需的函数库,使这种处理器非常适用于本发明。
附图说明
图1为本发明—实施例中4×4的MESH拓扑结构的NoC。
图2为本发明中开源处理器OR1200原理框图。
图3为本发明中路由节点的原理框图。
图4为本发明中网络接口的原理框图。
图5为本发明中网络接口的工作流程图。
图6为本发明的设计流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
如图1所示的基于MESH拓扑结构的片上网络,片上网络简称NoC,所述MESH为无线网格网络。该NoC拓扑配置为M×N=4×4,共有16个OR1200开源处理器,且R为路由节点,其中16个处理器OR1200通过片上网络的方式互联,实现了整个网络点到点的线路连接,相互间不会产生干扰,所有OR1200之间不会产生通信冲突的问题。
其中图2为本发明中开源处理器OR1200原理框图。
OR1200作为本实施例中的多核仿真平台的处理单元,是一款标量RISC处理器,采用哈佛结构,拥有5级整数流水线,支持MMU和基本的DSP能力。
图3为R即路由节点的原理框图,该路由节点采用XY路由算法和虫洞进行数据转发,采用时间片轮转算法对输出竞争进行仲裁,同时配置路由节点的输入缓存大小。其中时间片轮算法即每个进程被分配字一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则处理器将被剥夺并分配给另一个进程,如果进程在时间片结束前阻塞或结束,处理器当即进行切换,调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。
图4为本发明中网络接口,即NI的原理框图。OR1200和NoC之间是通过网络接口进行连接的,即NI连接到NoC路由节点的本地输出端口。其中如图5所示,NI工作流程如下:
(1)在OR1200中创建RAM读缓冲区,当有数据包从NoC本地端口输出时,NI对数据包进行解包,即除去包头包尾,提取数据部分并进行缓存;
(2)在NI与OR1200连接端,NI将路由节点本地输出端输出的数据解包后缓存,NI提示OR1200有数据到达,并根据OR1200的读信号,将数据搬移到OR1200的RAM即随机存储器的读缓冲区去,RAM读缓冲区是RAM预先留出的一段区域,用于专门存放从NI中读出的数据;
(3)当NI完成数据搬移之后则向OR1200发出信号,让OR1200从RAM读缓冲区中读取数据进行操作。同时,根据配置创建RAM写缓冲区,NI还会检测OR1200发出的写信号,并根据写信号的职能将数据从OR1200的RAM读缓冲区搬移到RAM写缓冲区;
(4)RAM写缓冲区也是RAM中预先留出的一段区域,用于专门存放需要写到NI的数据,因此NI为数据添加包头包尾,并通过路由节点的本地输入端口,发送到NoC网络中进行传输;
(5)当NI完成数据发送任务之后同样会向OR1200发送信号,通知OR1200可以进行下一次的写操作。
通过如图6所示设计流程图,能够实现该设计平台的仿真,其仿真结果可以在多核平台设计前期对平台进行评估,有利于缩短多核平台的开发周期,提高平台的可靠性,其中具体实现步骤如下:
第一步:实现NoC路由节点结构的配置。
路由节点由5条输入端口和输出端口组成,分别代表东、西、南、北和本地5个连接方向,因此路由节点采用XY路由算法寻找目的节点,采用虫洞技术进行数据转发,并采用时间片伦算法对输出竞争进行仲裁,其中还可以根据需要对路由节点的缓存深度以及数据位宽进行配置。
第二步:根据如图1所示的路由节点结构,配置Orion2.0功率消耗参数。
其中Orion2.0为平台上的搭载工具,能够在处理过程中对NoC以及各个处理器的功率消耗进行估计,从而评估该平台并行算法和并行任务的处理能力和处理精度进行评估;并且根据路由节点结构配置Orion2.0能够使该平台搭载工具根据不同的结构进行相应的处理,使其适用于不同网络拓扑结构。
第三步:配置NoC的规模,根据输入的参数M=4和N=4,将路由节点按照对应端口进行互联,即可获得4×4的MESH拓扑结构NoC。
该拓扑结构共有16个路由节点R,16个开源处理器OR1200。
第四步:配置NoC和OR1200间的通信接口NI使NoC、OR1200通过NI实现相应功能。
根据图5所示的NI工作流程,首先需根据配置创建RAM读缓冲区,当OR1200读信号有效时,将数据搬移到OR1200的RAM中;
接着根据配置创建RAM写缓冲区,当OR1200写信号有效时,将数据从RAM读缓冲区搬移到RAM写缓冲区,将数据封装后通过本地输入端口发送到NoC中进行传输。
第五步:为OR1200创建Wrapper,使之能够被平台调用,并将Wrapper和NI进行连接,使OR1200和NI之间能够进行通信。
Wrapper为OR1200和NI之间的媒介,用于实现OR1200和NI之间的通信。
第六步:根据OR1200的结构,配置Mcpat的参数;
其中Mcpat也为该平台上搭载的工具,用于对并行算法和并行任务的处理能力、处理精度以及功率消耗进行估计。并且根据OR1200结构配置Mcpat能够使该平台搭载工具根据不同的结构进行相应的处理,使其适用于不同网络拓扑结构。
第七步:将各个处理器上需要并行处理的任务和并行算法用C代码实现。
第八步:使用OpenRISC工具链生成在OpenRISC处理器上执行的程序。
其中OpenRISC为开放源代码的精简指令集计算机处理器,为现有技术,其采用免费开放的32/64bit RISC/DSP架构,并且用Verilog HDL实现了基于该RISC/DSP架构的RTL描述,这里的RTL为寄存器传输级,并且OpenRISC还具有完整的工具链,该工具链包括:开源的软件开发工具,C语言实现的CPU仿真模型,操作系统,以及软件应用所需的函数库,使这种处理器非常适用于本发明。
第九步:运行该多核处理器平台,并为各个OpenRISC处理器加载需要执行的程序。
按照上述实施例,便可很好的实现本发明。

Claims (8)

1.基于NoC架构的多核处理器平台,其特征在于,包括通过NoC方式接入的至少两个处理器,所述NoC采用M×N的MESH拓扑结构构建而成,其中M和N均为正整数。
2.根据权利要求1所述的基于NoC架构的多核处理器平台,其特征在于,所述处理器上创建有实现处理器数据输入和输出的网络接口,其中NoC包括与网络接口一一对应的路由节点,且相邻的路由节点之间连接有两条以实现数据相反流向的数据线。
3.根据权利要求2所述的基于NoC架构的多核处理器平台,其特征在于,所述处理器内设置有用于配合网络接口完成数据传输的RAM读缓存区和RAM写缓存区。
4.根据权利要求1~3任意一项所述的基于NoC架构的多核处理器平台,其特征在于,所述NoC上还分别搭载了Orion2.0和Mcpat工具。
5.基于NoC架构的多核处理器平台设计方法,其特征在于,通过以下步骤实现:
(1)设置路由节点的结构,使该路由节点通过XY路由算法寻找目的节点,采用虫洞技术进行数据转发,且通过时间片轮算法对输出竞争进行仲裁;
(2)根据单个路由节点的结构配置Orion2.0功率消耗参数;
(3)输入参数M和N,配置NoC的规模,将路由节点进行互联,即可获得M×N的MESH拓扑结构的NoC;
(4)在处理器上创建网络接口,并在处理器中创建RAM读缓冲区和RAM写缓冲区,将网络接口与路由节点一一连接,得到路由节点排列为M×N的矩阵型结构,并且相邻的路由节点通过两条以实现数据相反流向的数据线连接;
(5)为处理器创建Wrapper程序,并将其和网络接口进行连接,使处理器和网络接口之间进行通信;
(6)根据处理器结构配置Mcpat参数。
6.根据权利要求5所述的基于NoC架构的多核处理器平台设计方法,其特征在于,所述步骤(1)中单个路由节点包括东、西、南、北和本地五个方向,东、西、南、北中的每一个方向均设置有用于和其他路由接口相连的输出端口和输入端口,其中本地方向还设置有与网络接口相连的输出端口和输入端口。
7.根据权利要求6所述的基于NoC架构的多核处理器平台设计方法,其特征在于,所述步骤(4)中在处理器中创建RAM读缓冲区和RAM写缓冲区的具体步骤如下:
(4a)创建RAM读缓冲区,并把路由节点本地输出端输出的数据解包后缓存到网络接口;
(4b)当处理器读信号有效时,将数据搬移到RAM读缓冲区中,再根据配置创建RAM写缓冲区,当处理器写信号有效时,将数据搬移到RAM写缓冲区。
8.根据权利要求5~7任意一项所述的基于NoC架构的多核处理器平台设计方法,其特征在于,所述步骤(6)结束后,还能够对该平台进行仿真,其中仿真步骤如下:
(I)将各个处理器上需要并行处理的任务和并行算法用C代码实现;
(II)使用OpenRISC工具链生成在OpenRISC上执行的程序;
(III)运行仿真平台,并为各个OpenRISC加载需要执行的程序。
CN2012103963100A 2012-10-18 2012-10-18 基于NoC架构的多核处理器平台及其设计方法 Pending CN102880762A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103963100A CN102880762A (zh) 2012-10-18 2012-10-18 基于NoC架构的多核处理器平台及其设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103963100A CN102880762A (zh) 2012-10-18 2012-10-18 基于NoC架构的多核处理器平台及其设计方法

Publications (1)

Publication Number Publication Date
CN102880762A true CN102880762A (zh) 2013-01-16

Family

ID=47482085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103963100A Pending CN102880762A (zh) 2012-10-18 2012-10-18 基于NoC架构的多核处理器平台及其设计方法

Country Status (1)

Country Link
CN (1) CN102880762A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345461A (zh) * 2013-04-27 2013-10-09 电子科技大学 基于fpga的带有加速器的多核处理器片上网络系统
CN106375153A (zh) * 2016-09-05 2017-02-01 华中科技大学 一种片上网络中实时通信的可调度性分析方法
CN108427584A (zh) * 2018-03-19 2018-08-21 清华大学 快速启动的具有并行计算核的芯片及该芯片的配置方法
EP3040873B1 (fr) * 2014-12-17 2019-09-11 Thales Système électronique configurable de transfert de données et procédé de configuration associé

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383712A (zh) * 2008-10-16 2009-03-11 电子科技大学 一种片上网络的路由节点微结构
US20120166764A1 (en) * 2010-12-22 2012-06-28 Via Technologies, Inc. Dynamic and selective core disablement and reconfiguration in a multi-core processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383712A (zh) * 2008-10-16 2009-03-11 电子科技大学 一种片上网络的路由节点微结构
US20120166764A1 (en) * 2010-12-22 2012-06-28 Via Technologies, Inc. Dynamic and selective core disablement and reconfiguration in a multi-core processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汪健等: "多核系统中NoC通讯架构的关键技术", 《电子科技》, vol. 25, no. 6, 15 June 2012 (2012-06-15) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345461A (zh) * 2013-04-27 2013-10-09 电子科技大学 基于fpga的带有加速器的多核处理器片上网络系统
EP3040873B1 (fr) * 2014-12-17 2019-09-11 Thales Système électronique configurable de transfert de données et procédé de configuration associé
CN106375153A (zh) * 2016-09-05 2017-02-01 华中科技大学 一种片上网络中实时通信的可调度性分析方法
CN106375153B (zh) * 2016-09-05 2019-02-05 华中科技大学 一种片上网络中实时通信的可调度性分析方法
CN108427584A (zh) * 2018-03-19 2018-08-21 清华大学 快速启动的具有并行计算核的芯片及该芯片的配置方法

Similar Documents

Publication Publication Date Title
Benini et al. Network-on-chip architectures and design methods
Beigné et al. An asynchronous NOC architecture providing low latency service and its multi-level design framework
Horak et al. A low-overhead asynchronous interconnection network for GALS chip multiprocessors
CN103744644B (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
CN110991626B (zh) 一种多cpu类脑模拟系统
CN102880762A (zh) 基于NoC架构的多核处理器平台及其设计方法
CN102929329B (zh) 片上系统间互连网络的动态重构方法
Ax et al. Comparing synchronous, mesochronous and asynchronous NoCs for GALS based MPSoCs
Yu et al. A low-area multi-link interconnect architecture for GALS chip multiprocessors
Sinha et al. Data-flow aware CNN accelerator with hybrid wireless interconnection
CN103412849A (zh) ARM处理器的NoC资源网络接口及其驱动方法
Gharan et al. Flexible simulation and modeling for 2D topology NoC system design
Mandal et al. NoCBench: a benchmarking platform for network on chip
Zhu et al. BiLink: A high performance NoC router architecture using bi-directional link with double data rate
Lafi et al. An efficient hierarchical router for large 3D NoCs
Grecu et al. A flexible network-on-chip simulator for early design space exploration
CN113203940B (zh) 3D NoC测试规划中的并行测试方法
Castells-Rufas et al. A validation and performance evaluation tool for ProtoNoC
Wu et al. A programmable adaptive router for a GALS parallel system
CN102158380A (zh) 一种基于统计时分复用技术的多簇片上网络架构
Oukaira et al. New architecture for real-time image computing using parallel processing based on DSP/FPGA
Alagarsamy et al. FRDS: An efficient unique on-Chip interconnection network architecture
Pande et al. Performance optimization for system-on-chip using network-on-chip and data compression
Gugulothu et al. Design and Implementation of various topologies for Networks on Chip and its performance evolution
Bertozzi et al. Cost-effective and flexible asynchronous interconnect technology for GALS networks-on-chip

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130116