CN106354480B - 一种mpp型异构高速mcu系统 - Google Patents
一种mpp型异构高速mcu系统 Download PDFInfo
- Publication number
- CN106354480B CN106354480B CN201610711272.1A CN201610711272A CN106354480B CN 106354480 B CN106354480 B CN 106354480B CN 201610711272 A CN201610711272 A CN 201610711272A CN 106354480 B CN106354480 B CN 106354480B
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- address
- node
- register
- 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.)
- Active
Links
- 230000006870 function Effects 0.000 claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 238000009826 distribution Methods 0.000 claims abstract description 3
- 238000003860 storage Methods 0.000 claims description 93
- 239000011159 matrix material Substances 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000007667 floating Methods 0.000 claims description 8
- 238000003491 array Methods 0.000 claims description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种MPP型异构高速MCU系统,其特征在于:包括:node1、node2、node3、node4共4个异构的处理器节点,所述node1为I/O节点,node2为超标量计算节点,node3为超越函数节点,node4为超级计算节点;网络托扑采用四面体结构,节点位于四面体的顶点,所述节点间采用四面体结构互连,网络中任意一节点到其它节点的步长都是1;节点之间采用AXI总线互连;存储器设置为分布共享的方式访问。本发明具有结构简单、传输效率高、有较强的应用针对性等特点。
Description
技术领域
本发明主要涉及到片上MPP型MCU体系结构设计领域,特指一种MPP型异构高速MCU系统。
背景技术
随着高速图像处理技术的应用领域日益扩大,对图像的性能要求也越来越高。单纯依靠减小工艺制造尺寸来提高处理器性能变得越来越乏力,因此单核处理器系统已经难以满足未来图像处理的实时性要求。而此时,随着集成电路产业以及工艺水平的快速发展,单颗芯片可以集成的处理器数目越来越多,多核系统应运而生,多核技术的迅猛发展为高速图像的并行处理提供了一种新的研究方向和解决方法。片上多核系统芯片充分利用了多处理器核的并行执行能力,是解决大规模运算和高实时性复杂应用的一种可行方案,广泛的应用在多媒体、数字信号处理以及网络通信等领域。
研究人员已经将一些应用程序加速了超过100倍,但这只是在增强的算法得到了大量优化和调整后,从而使应用程序超过99.9%的执行时间都花费在并行执行部分上。一般来说,应用程序直接并行化可能会导致存储器(DRAM)带宽达到饱和,使得加速只能达到10倍。解决途径在于如何突破存储器带宽的限制,这需要进行某种转换以便用专门的GPU芯片上存储器显著减少访问DRAM的次数。然而,如果要想突破这些限制,不但需要对代码进行进一步的优化,以限制片上存储器的容量。更需要GPU片上存储器结构打破传统的观念,对大量的数据进行并行读写,以满足大量矩阵运算的需要。
特别是,CPU的芯片面积由缓存决定,而GPU的芯片面积则由数据通路和固定功能逻辑决定。GPU存储器接口更重视带宽而不是延时(大规模并行执行会隐藏延时)。事实上,GPU带宽已经超出CPU带宽许多倍,在最近的设计中已经超过190GB/s,但仍显不足。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简洁、存储带宽高、能极大地提高传输效率的MPP型异构高速MCU。所述MPP(Massively Parallel Processing),意为大规模并行处理系统,这样的系统是由许多松耦合处理单元组成,每个单元内的CPU都有自己私有的资源,如总线、内存、DMA等,在每个单元内都有各自的操作系统和管理数据库的实例复本。所述MCU(SingleChipMicrocomputer)的各个节点都是异构的,能将专业的问题交给专门的节点进行高速处理。
为解决上述技术问题,本发明采用以下技术方案:
一种MPP型异构高速MCU系统,其特征在于:包括:node1、node2、node3、node4共4个异构的处理器节点,所述node1为I/O节点,node2为超标量计算节点,node3为超越函数节点,node4为超级计算节点;网络托扑采用四面体结构,节点位于四面体的顶点,所述节点间采用四面体结构互连,网络中任意一节点到其它节点的步长都是1;节点之间采用AXI总线互连;存储器设置为分布共享的方式访问。
作为本发明的进一步改进:所述节点1包括:指令cache存储体11、加载启动ROM12、数据存储体13、存储总线14、指令寄存器IR15、程序地址计数器PC16、MCU控制器17、JTAG控制逻辑18、时钟控制逻辑19、通用寄存器R0-R7110、32位桶式移位器功能部件111、32位地址运算功能部件ARAU112、地址寄存器AR7-AR0 113、辅助寄存器114、DMA控制器115、外部总线Pbus116、定时器Time117、AXI总线接口控制器118、RapidIO高速串口控制器119、同步栅栏120、32位ALU算数逻辑运算功能部件121;
所述指令cache存储体11,存放node1所要执行的指令;其地址来自存储总线14,单向;其数据来自/去到存储数据总线14,双向;
所述加载启动ROM12,存放node1的初始化程序;12的地址来自存储总线14,单向;其数据来自/去到存储数据总线14,双向;
所述数据存储体13,可存放node1、node2、node3或node4的数据,其地址来自存储总线14,单向;其数据来自/去到存储总线14,双向;
所述指令寄存器IR15,32位,接收来自存储总线14的指令,作为待执行指令的暂存器;
所述程序地址计数器PC16,32位,其值送往存储总线14,作为下一条指令的地址;
所述32位桶式移位器功能部件111,完成对数据的左移和右移;接收来自通用寄存器110 R7-R0 上的数据,移位结果送往通用寄存器110R0-R7;
所述32位ALU算数逻辑运算功能部件111,完成对数据的算数逻辑运算;接收来自通用寄存器110R7-R0上的数据,计算结果送往通用寄存器110R0-R7;
所述32位地址运算功能部件ARAU112,完成地址运算;两路操作数可分别来自地址寄存器AR7-AR0 113和存储总线14,结果送往地址寄存器113 AR7-AR0;
所述辅助寄存器114为12个,提供诸如寻址、堆栈管理、中断及块重复等的系统功能需求;其数据来自存储总线14,输出值送往32位ALU算数逻辑运算功能部件111;
所述存储总线控制信号和数据14,完成对存储总线的传输和控制。信号分别是:
总线类:
数据总线D31-D0 (I/O/Z) 数据总线;
地址总线A31-A0 (O/Z) 地址总线;
总线控制:
Strb# (O/Z) 访问片外的选通信号;
Rady# (I) 访问外设时外设准备好信号,MCU可以结束本次访问;
Hold# (I) 保持信号,迫使MCU置A23-A0,D31-D0,STRB#,R/W#为高阻,使外设取得总线控制权;
Rd/Wt# (O/Z) 高电平表示读,低电平表示写;
MCU控制器17,是实现控制信号的逻辑,信号分别是:
Reset# (I) 复位信号;
Int3-0# (I) 外部中断;
Iack# (O/Z) 由IACK指令产生一个负脉冲;
JTAG控制逻辑18,实现边界扫描、内部扫描的控制,信号是:
Jcon5-0 (I) JTAG控制信号;
时钟控制逻辑19,实现MCU的时钟控制,信号分别是:
EXTCLK (I) 外部时钟;
所述DMA控制器115,以直接存储器访问的方式完成存储器与外部总线Pbus116的数据交换;DMA控制器115的地址总线和数据总线14相连,与116相连,地址、数据宽度为32位;
所述定时器Time117,实现看门狗、定时控制;
所述AXI总线接口控制器118,32位,一端连接node1的外部总线Pbus 116,另一端连接node2、node3、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
所述RapidIO高速串口控制器119,一端连接node1的外部总线Pbus116,32位,另一端连接外部其它设备,4条高速全双工通道,每个通道的波特率可为1.25Gbps、2.5Gbps、3.125Gbps、6.25Gbps;
所述外部总线Pbus116,实现外部设备115、117、118、119与存储器总线14之间的数据交换;
所述同步栅栏120,实现各节点进程之间的同步。
作为本发明的进一步改进:所述节点2包括:指令cache存储体21、加载启动ROM22、存储数据总线23、指令寄存器IR24、程序地址计数器PC25、DMA控制器26、浮点乘加矩阵27、AXI总线接口控制器28、外部总线Pbus29;
所述指令cache存储体21,存放node2所要执行的指令;其地址来自存储总线23,单向;其数据来自/去到存储数据总线23,双向;
所述加载启动ROM22,存放node2的初始化程序;其地址来自存储总线23,单向;其数据来自/去到存储数据总线23,双向;
所述指令寄存器IR24,32位,接收来自存储总线23的指令,作为待执行指令的暂存器;
所述程序地址计数器PC25,32位,其值送往存储总线23,作为下一条指令的地址;
所述DMA控制器26,以直接存储器访问的方式完成存储器与外部总线Pbus29的数据交换;DMA控制器26的地址总线和数据总线23相连,与29相连,地址、数据宽度为32位;
所述AXI总线接口控制器28,32位,一端连接node2的外部总线Pbus 29,另一端连接node1、node3、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
所述外部总线Pbus29,实现外部设备26、28与存储器总线23之间的数据交换;
所述浮点乘加矩阵27,可在1拍内一次并行获得8X8的矩阵结果,每一个矩阵运算单元又可并发流水执行矩阵乘加运算,可1拍获得矩阵的1个元素结果,字长位32位。
作为本发明的进一步改进:所述节点3包括:指令cache存储体31、加载启动ROM32、数据存储体33、存储总线34、指令寄存器IR35、程序地址计数器PC36、通用寄存器38R7-R0、32位桶式移位器功能部件39、32位地址运算功能部件ARAU310、地址寄存器AR7-AR0 311、辅助寄存器312、DMA控制器313、外部总线Pbus314、定时器Time315、AXI总线接口控制器316、32位ALU算数逻辑运算功能部件317;
所述指令cache存储体31,存放node3所要执行的指令;其地址来自存储总线34,单向;其数据来自/去到存储数据总线34,双向;
所述加载启动ROM32,存放node3的初始化程序;其地址来自存储总线34,单向;其数据来自/去到存储数据总线34,双向;
所述数据存储体33,可存放node1、node2、node3或node4的数据,其地址来自存储总线34,单向;其数据来自/去到存储总线34,双向;
所述指令寄存器IR35,32位,接收来自存储总线34的指令,作为待执行指令的暂存器;
所述程序地址计数器PC36,32位,其值送往存储总线34,作为下一条指令的地址;
所述32位桶式移位器功能部件39,完成对数据的左移和右移;接收来自通用寄存器R7-R038上的数据,移位结果送往通用寄存器R7-R038;
所述32位ALU算数逻辑运算功能部件317,完成对数据的算数逻辑运算;接收来自通用寄存器R7-R038上的数据,计算结果送往通用寄存器R7-R038;
所述32位地址运算功能部件ARAU310,完成地址运算。两路操作数可分别来自地址寄存器AR7-AR0 311和存储总线34,结果送往地址寄存器AR7-AR0 311;
所述辅助寄存器312为12个,提供诸如寻址、堆栈管理、中断及块重复等的系统功能需求; 数据来自存储总线34,输出值送往39;
所述存储总线控制信号和数据34,完成对存储总线的传输和控制;
所述DMA控制器313,以直接存储器访问的方式完成存储器与外部总线Pbus314的数据交换;DMA控制器313的地址总线和数据总线与34相连,与314相连,地址、数据宽度为32位;
所述定时器Time315,实现看门狗、定时控制功能;
所述AXI总线接口控制器316,32位,一端连接node3的外部总线Pbus 314,另一端连接node1、node2、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
所述外部总线Pbus314,实现外部设备313、315、316与存储器总线34之间的数据交换。
作为本发明的进一步改进:所述节点4包括:指令Cache和启动ROM41、存储总线MB42、指令控制部件43、DMA控制器44、外部总线AXI45、超算矩阵46;
所述指令Cache和启动ROM41, 指令cache存储体,存放节点4所要执行的指令。其地址来自存储总线MB42,单向,数据来自存储总线MB42,单向。加载启动ROM,存放协处理器的初始化程序。其地址来自存储总线MB42,单向,数据来自存储总线MB42,单向;
存储总线MB42,是节点4中其它部件与存储器交换信息的桥梁;
指令控制部件43,负责指令的流出和执行;
DMA控制器44,以直接存储器访问的方式完成超算矩阵46中存储器之间的数据交换,或与外部总线AXI45进行数据交换;
AXI总线控制器45,32位,完成节点4与节点1、节点2和节点3之间的数据交换;
超算矩阵46,完成矩阵定点数的超高速计算。
作为本发明的进一步改进:所述超算矩阵46,包括:
4套乘加矩阵阵列,4条阵列可在一拍内一次并行获得4个8X8的整数矩阵结果,每一个整数矩阵运算单元又可并发流水执行矩阵乘加运算,可一拍获得1个8X8的矩阵结果,字长为32位。
与现有技术相比,本发明的优点在于:本发明的超速矩阵运算协处理器架构,结构简洁,一个算数矩阵的运算效率是传统算数矩阵运算的n2倍。解决了片内SerDes技术的数据传输问题,极大地节省了工程布线时的走线空间,为图像的高速处理提供了一个高速硬件平台。
附图说明
图1是本发明的顶层拓扑结构示意图;
图2是本发明节点1I/O节点的逻辑结构原理示意图;
图3是本发明节点2高速浮点运算节点的逻辑结构原理示意图;
图4是本发明节点3标量超越函数运算节点的逻辑结构原理示意图;
图5是本发明节点4超级整数矩阵运算节点的逻辑结构原理示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明;
如图1所示,本发明的一种MPP型异构高速MCU系统顶层拓扑结构示意图,包括:4个异构的处理器节点,网络托补采用四面体结构,节点位于四面体的顶点,节点之间采用AXI总线互连,位宽为32位,网络中任一节点到其它节点的步长都是1。其中:node1为I/O节点,node2为高速浮点运算节点,node3为标量超越函数运算节点,node4为超级整数矩阵运算节点。
如图2所示,本发明的节点1,I/O节点的逻辑结构原理示意图;
指令cache存储体11,128×32位,采用LRU淘汰规则,存放node1所要执行的指令。11的地址来自存储总线14,单向;11的数据来自/去到存储数据总线14,双向;
加载启动ROM12,存放node1的初始化程序。12的地址来自存储总线14,单向;12的数据来自/去到存储数据总线14,双向;
数据存储体13,128K×32位,可存放node1、node2、node3或node4的数据,13的地址来自存储总线14,单向;13的数据来自/去到存储总线14,双向;
指令寄存器IR15,32位,接收来自存储总线14的指令,作为待执行指令的暂存器;
程序地址计数器PC16,32位,其值送往存储总线14,作为下一条执行指令的地址;
32位桶式移位器功能部件111,完成对数据的左移和右移。接收来自通用寄存器R7-R0110上的数据,移位结果送往通用寄存器R0-R7110;
32位ALU算数逻辑运算功能部件121,完成对数据的算数逻辑运算。接收来自通用寄存器110 R7-R0上的数据,计算结果送往通用寄存器R7-R0110;
32位地址运算功能部件ARAU112,完成地址运算。两路操作数可分别来自地址寄存器AR7-AR0 113或存储总线14,结果送往地址寄存器113 AR7-AR0;
辅助寄存器114为12个,32位,提供诸如寻址、堆栈管理、中断及块重复等的系统功能需求。 数据来自存储总线14,输出值送往111;
存储总线控制信号和数据14,完成对存储总线的传输和控制。信号分别是:
总线类:
数据总线D31-D0 (I/O/Z) 数据总线;
地址总线A31-A0 (O/Z) 地址总线;
总线控制:
Strb# (O/Z) 访问片外的选通信号;
Rady# (I) 访问外设时外设准备好信号,MCU可以结束本次访问;
Hold# (I) 保持信号,迫使MCU置A23-A0,D31-D0,STRB#,R/W#为高阻,使外设取得总线控制权;
Rd/Wt# (O/Z) 高电平表示读,低电平表示写;
MCU控制器17,是实现控制信号的逻辑,信号分别是:
Reset# (I) 复位信号;
Int3-0# (I) 外部中断;
Iack# (O/Z) 由IACK指令产生一个负脉冲;
JTAG控制逻辑18,实现边界扫描、内部扫描的控制,信号是:
Jcon5-0 (I) JTAG控制信号;
时钟控制逻辑19,实现MCU的时钟控制,信号分别是:
EXTCLK (I) 外部时钟;
DMA控制器115,以直接存储器访问的方式完成存储器与外部总线Pbus116的数据交换。DMA控制器115的地址总线和数据总线14相连,与116相连,地址、数据宽度为32位;
定时器Time117,实现看门狗、定时控制功能;
AXI总线接口控制器118,32位,一端连接node1的外部总线Pbus 116,另一端连接node2、node3、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
RapidIO高速串口控制器119,一端连接node1的外部总线Pbus116,32位,另一端连接外部其它设备,4条高速全双工通道,每个通道的波特率可为1.25Gbps、2.5Gbps、3.125Gbps、6.25Gbps;
外部总线Pbus116,实现外部设备115、117、118、119与存储器总线14之间的数据交换;
同步栅栏120,实现各节点进程之间的同步。
如图3所示,本发明的节点2,高速浮点运算节点的逻辑结构原理示意图;
指令cache存储体21,128×32位,采用LRU淘汰规则,存放node2所要执行的指令。其地址来自存储总线23,单向;其数据来自/去到存储数据总线23,双向;
加载启动ROM22,存放node2的初始化程序。22的地址来自存储总线23,单向;22的数据来自/去到存储数据总线23,双向;
指令寄存器IR24,32位,接收来自存储总线23的指令,作为待执行指令的暂存器;
程序地址计数器PC25,32位,其值送往存储总线23,作为下一条指令的地址;
DMA控制器26,以直接存储器访问的方式完成存储器与外部总线Pbus29的数据交换。DMA控制器26的地址总线和数据总线23相连,与29相连,地址、数据宽度为32位;
AXI总线接口控制器28,32位,一端连接node2的外部总线Pbus 29,另一端连接node1、node3、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
外部总线Pbus29,实现外部设备26、28与存储器总线23之间的数据交换;
浮点乘加矩阵27,可在1拍内一次并行获得8×8×32位的矩阵结果,每一个矩阵运算单元又可并发流水执行矩阵乘加运算,可1拍获得矩阵的1个元素结果,字长位32位。
如图4所示,本发明的节点3,标量超越函数运算节点的逻辑结构原理示意图;
指令cache存储体31,128×32位,采用LRU淘汰规则,存放node3所要执行的指令。31的地址来自存储总线34,单向;31的数据来自/去到存储数据总线34,双向;
加载启动ROM32,存放node3的初始化程序。32的地址来自存储总线34,单向;32的数据来自/去到存储数据总线34,双向;
数据存储体33,128K×32位,可存放node1、node2、node3或node4的数据,33的地址来自存储总线34,单向;33的数据来自/去到存储总线34,双向;
指令寄存器IR35,32位,接收来自存储总线34的指令,作为待执行指令的暂存器;
程序地址计数器PC36,32位,其值送往存储总线34,作为下一条指令的地址;
32位桶式移位器功能部件39,完成对数据的左移和右移。接收来自通用寄存器38R7-R0上的数据,移位结果送往通用寄存器38R7-R0;
32位ALU算数逻辑运算功能部件39,完成对数据的算数逻辑运算。接收来自通用寄存器R7-R038上的数据,计算结果送往通用寄存器38R7-R0;
32位地址运算功能部件ARAU310,完成地址运算。两路操作数可分别来自地址寄存器AR7-AR0 311和存储总线34,结果送往地址寄存器AR7-AR0 311;
辅助寄存器12个312,提供诸如寻址、堆栈管理、中断及块重复等的系统功能需求。数据来自存储总线34,输出值送往39;
存储总线控制信号和数据34,完成对存储总线的传输和控制;
DMA控制器313,以直接存储器访问的方式完成存储器与外部总线Pbus314的数据交换。DMA控制器313的地址总线和数据总线与34相连,与314相连,地址、数据宽度为32位;
定时器Time315,实现看门狗、定时控制功能;
AXI总线接口控制器316,32位,一端连接node3的外部总线Pbus 314,另一端连接node1、node2、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
外部总线Pbus314,实现外部设备313、315、316与存储器总线34之间的数据交换。
如图5所示,本发明的节点4,超级整数矩阵运算节点的逻辑结构原理示意图;
指令Cache和启动ROM41,128×32位,采用LRU淘汰规则,指令cache存储体,存放节点4所要执行的指令。其地址来自存储总线MB42,单向,数据来自存储总线MB42,单向。加载启动ROM,存放协处理器的初始化程序。其地址来自存储总线MB42,单向,数据来自存储总线MB42,单向;
存储总线MB42,是节点4中其它部件与存储器交换信息的桥梁;
指令控制部件43,负责指令的流出和执行;
DMA控制器44,以直接存储器访问的方式完成超算矩阵46中存储器之间的数据交换,或与外部总线AXI45进行数据交换;
AXI总线控制器45,32位,完成节点4与节点1、节点2和节点3之间的数据交换;
超算矩阵46,完成矩阵定点数的超高速计算;
4套整数乘加矩阵阵列,4条阵列可在一拍内一次并行获得4个8×8×32位的整数矩阵结果,每一个整数矩阵运算单元又可并发流水执行矩阵乘加运算,可一拍获得1个8×8×32的矩阵结果,字长为32位。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (1)
1.一种MPP型异构高速MCU系统,其特征在于:包括:node1、node2、node3、node4共4个异构的处理器节点,所述node1为I/O节点,node2为超标量计算节点,node3为超越函数节点,node4为超级计算节点;网络拓扑采用四面体结构,节点位于四面体的顶点,所述节点间采用四面体结构互连,网络中任意一节点到其它节点的步长都是1;节点之间采用AXI总线互连;存储器设置为分布共享的方式访问;
所述node1包括:第一指令cache存储体(11)、第一加载启动ROM(12)、第一数据存储体(13)、存储总线(14)、第一指令寄存器IR(15)、第一程序地址计数器PC(16)、MCU控制器(17)、JTAG逻辑控制器(18)、时钟逻辑控制器(19)、第一通用寄存器R7-R0(110)、第一32位桶式移位器功能部件(111)、第一32位地址运算功能部件ARAU(112)、第一地址寄存器AR7-AR0 (113)、第一辅助寄存器(114)、第一DMA控制器(115)、第一外部总线Pbus(116)、第一定时器Time(117)、第一AXI总线接口控制器(118)、RapidIO高速串口控制器(119)、同步栅栏(120)、第一32位ALU算术逻辑运算功能部件(121);
所述第一指令cache存储体(11),存放node1所要执行的指令;其地址来自存储总线(14),单向;其数据来自/去到存储总线(14),双向;
所述第一加载启动ROM(12),存放node1的初始化程序;其地址来自存储总线(14),单向;其数据来自/去到存储总线(14),双向;
所述第一数据存储体(13),存放node1、node2、node3或node4的数据,其地址来自存储总线(14),单向;其数据来自/去到存储总线(14),双向;
所述第一指令寄存器IR(15),32位,接收来自存储总线(14)的指令,作为待执行指令的暂存器;
所述第一程序地址计数器PC(16),32位,其值送往存储总线(14),作为下一条指令的地址;
所述第一32位桶式移位器功能部件(111),完成对数据的左移和右移;接收来自第一通用寄存器R7-R0(110)上的数据,移位结果送往第一通用寄存器R7-R0(110),
所述第一32位ALU算术逻辑运算功能部件(121),完成对数据的算术逻辑运算;接收来自第一通用寄存器R7-R0(110)上的数据,计算结果送往第一通用寄存器R7-R0(110);
所述第一32位地址运算功能部件ARAU(112),完成地址运算;两路操作数分别来自第一地址寄存器AR7-AR0 (113)和存储总线(14),结果送往第一地址寄存器AR7-AR0 (113);
所述第一辅助寄存器(114)12个,提供寻址、堆栈管理、中断及块重复的系统功能需求,其数据来自存储总线(14),输出值送往第一32位桶式移位器功能部件(111);
所述存储总线(14)控制信号和数据,完成对存储总线的传输和控制;
所述MCU控制器(17),是实现控制信号的逻辑;
所述第一DMA控制器(115),以直接存储器访问的方式完成存储器与第一外部总线Pbus(116)的数据交换,所述第一DMA控制器(115)的地址总线和存储总线(14)相连,与第一外部总线Pbus(116)相连,地址、数据宽度为32位;
所述第一定时器Time(117),实现看门狗、定时控制;
所述第一AXI总线接口控制器(118),32位,一端连接node1的第一外部总线Pbus(116),另一端连接node2、node3、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
所述RapidIO高速串口控制器(119),一端连接node1的第一外部总线Pbus(116),32位,另一端连接外部其它设备,4条高速全双工通道,每个通道的波特率为1.25Gbps、2.5Gbps、3.125Gbps、6.25Gbps;
所述第一外部总线Pbus(116),实现外部设备与存储总线(14)之间的数据交换;
所述同步栅栏(120),实现各节点进程之间的同步;
所述node2包括:第二指令cache存储体(21)、第二加载启动ROM(22)、存储数据总线(23)、第二指令寄存器IR(24)、第二程序地址计数器PC(25)、第二DMA控制器(26)、浮点乘加矩阵(27)、第二AXI总线接口控制器(28)、第二外部总线Pbus(29);
所述第二指令cache存储体(21),存放node2所要执行的指令;其地址来自存储数据总线(23),单向;其数据来自/去到存储数据总线(23),双向;
所述第二加载启动ROM(22),存放node2的初始化程序,其地址来自存储数据总线(23),单向;其数据来自/去到存储数据总线(23),双向;
所述第二指令寄存器IR(24),32位,接收来自存储数据总线(23)的指令,作为待执行指令的暂存器;
所述第二程序地址计数器PC(25),32位,其值送往存储数据总线(23),作为下一条指令的地址;
所述 第二DMA控制器(26),以直接存储器访问的方式完成存储器与第二外部总线Pbus(29)的数据交换;第二DMA控制器(26)的地址总线和存储数据总线(23)相连,与第二外部总线Pbus(29)相连,地址、数据宽度为32位;
所述第二AXI总线接口控制器(28),32位,一端连接node2的第二外部总线Pbus (29),另一端连接node1、node3、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
所述第二外部总线Pbus(29),实现外部设备第二DMA控制器(26)、第二AXI总线接口控制器(28)与存储数据总线(23)之间的数据交换;
所述浮点乘加矩阵(27),在1拍内一次并行获得8X8的矩阵结果,每一个矩阵运算单元又并发流水执行矩阵乘加运算,1拍获得矩阵的1个元素结果,字长为32位;
所述node3包括:第三指令cache存储体(31)、第三加载启动ROM(32)、第二数据存储体(33)、存储总线A(34)、第三指令寄存器IR(35)、第三程序地址计数器PC(36)、第二通用寄存器R7-R0(38)、第二32位桶式移位器功能部件(39)、第二32位地址运算功能部件ARAU(310)、第二地址寄存器AR7-AR0 (311)、第二辅助寄存器(312)、第三DMA控制器(313)、第三外部总线Pbus(314)、第二定时器Time(315)、第三AXI总线接口控制器(316)、第二32位ALU算术逻辑运算功能部件(317);
所述第三指令cache存储体(31),存放node3所要执行的指令,其地址来自存储总线A(34),单向;其数据来自/去到存储总线A(34),双向;
所述第三加载启动ROM(32),存放node3的初始化程序,其地址来自存储总线A(34),单向;其数据来自/去到存储总线A(34),双向;
所述第二数据存储体(33),存放node1、node2、node3或node4的数据,其地址来自存储总线A(34),单向;其数据来自/去到存储总线A(34),双向;
所述第三指令寄存器IR(35),32位,接收来自存储总线A(34)的指令,作为待执行指令的暂存器;
所述第三程序地址计数器PC(36),32位,其值送往存储总线A(34),作为下一条指令的地址;
所述第二32位桶式移位器功能部件(39),完成对数据的左移和右移;接收来自第二通用寄存器R7-R0(38)上的数据,移位结果送往第二通用寄存器R7-R0(38);
第二32位ALU算术逻辑运算功能部件(317),完成对数据的算术逻辑运算;接收来自第二通用寄存器R7-R0(38)上的数据,计算结果送往第二通用寄存器R7-R0(38);
第二32位地址运算功能部件ARAU(310),完成地址运算;两路操作数分别来自第二地址寄存器AR7-AR0(311)和存储总线A(34),结果送往第二地址寄存器AR7-AR0(311);
第二辅助寄存器(312)12个,提供寻址、堆栈管理、中断及块重复的系统功能需求;其数据来自存储总线A(34),输出值送往第二32位桶式移位器功能部件(39);
所述存储总线A(34)控制信号和数据,完成对存储总线的传输和控制;
所述第三DMA控制器(313),以直接存储器访问的方式完成存储器与第三外部总线Pbus(314)的数据交换;第三DMA控制器(313)的地址总线和数据总线与存储总线A(34)相连,与第三外部总线Pbus(314)相连,地址、数据宽度为32位;
所述第二定时器Time(315),实现看门狗、定时控制功能;
所述第三AXI总线接口控制器(316),32位,一端连接node3的第三外部总线Pbus(314),另一端连接node1、node2、node4对应的AXI总线接口,完成MCU内各节点之间的数据交换;
所述第三外部总线Pbus(314),实现外部设备与存储总线A(34)之间的数据交换;
所述node4包括:指令Cache和启动ROM(41)、存储总线MB(42)、指令控制部件(43)、第四DMA控制器(44)、AXI总线控制器(45)、超算矩阵(46);
所述指令Cache和启动ROM(41),128×32位,指令cache存储体,存放节点4所要执行的指令;其地址来自存储总线MB(42),单向,其数据来自存储总线MB(42),单向;加载启动ROM,存放协处理器的初始化程序,其地址来自存储总线MB(42),单向,数据来自存储总线MB(42),单向;
所述存储总线MB(42),是node4中其它部件与存储器交换信息的桥梁;
所述指令控制部件(43),负责指令的流出和执行;
所述第四DMA控制器(44),以直接存储器访问的方式完成超算矩阵(46)中存储器之间的数据交换,或与AXI总线控制器(45)进行数据交换;
所述AXI总线控制器(45),32位,完成节点4与节点1、节点2和节点3之间的数据交换;
所述超算矩阵(46),完成矩阵定点数的超高速计算;
所述超算矩阵(46),包括:4套乘加矩阵阵列,4条阵列在一拍内一次并行获得4个8X8的整数矩阵结果,每一个整数矩阵运算单元又并发流水执行矩阵乘加运算,一拍获得1个8X8的矩阵结果,字长为32位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610711272.1A CN106354480B (zh) | 2016-08-24 | 2016-08-24 | 一种mpp型异构高速mcu系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610711272.1A CN106354480B (zh) | 2016-08-24 | 2016-08-24 | 一种mpp型异构高速mcu系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354480A CN106354480A (zh) | 2017-01-25 |
CN106354480B true CN106354480B (zh) | 2019-01-29 |
Family
ID=57844618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610711272.1A Active CN106354480B (zh) | 2016-08-24 | 2016-08-24 | 一种mpp型异构高速mcu系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354480B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377170A (zh) * | 2012-04-26 | 2013-10-30 | 上海宝信软件股份有限公司 | 异构处理器间spi高速双向对等数据通信系统 |
CN104794194A (zh) * | 2015-04-17 | 2015-07-22 | 同济大学 | 一种面向大规模多媒体检索的分布式异构并行计算系统 |
US9158810B2 (en) * | 2012-10-02 | 2015-10-13 | Oracle International Corporation | Hardware message queues for intra-cluster communication |
-
2016
- 2016-08-24 CN CN201610711272.1A patent/CN106354480B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377170A (zh) * | 2012-04-26 | 2013-10-30 | 上海宝信软件股份有限公司 | 异构处理器间spi高速双向对等数据通信系统 |
US9158810B2 (en) * | 2012-10-02 | 2015-10-13 | Oracle International Corporation | Hardware message queues for intra-cluster communication |
CN104794194A (zh) * | 2015-04-17 | 2015-07-22 | 同济大学 | 一种面向大规模多媒体检索的分布式异构并行计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106354480A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110741356B (zh) | 多处理器系统中的中继一致存储器管理 | |
CN106940815B (zh) | 一种可编程卷积神经网络协处理器ip核 | |
CN102375800B (zh) | 用于机器视觉算法的多处理器片上系统 | |
US8732416B2 (en) | Requester based transaction status reporting in a system with multi-level memory | |
CN109002659B (zh) | 一种基于超级计算机的流体机械仿真程序优化方法 | |
Talpes et al. | Dojo: The microarchitecture of tesla’s exa-scale computer | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN103049241B (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
CN112463719A (zh) | 一种基于粗粒度可重构阵列实现的存内计算方法 | |
CN107590085B (zh) | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 | |
CN108537331A (zh) | 一种基于异步逻辑的可重构卷积神经网络加速电路 | |
EP2808783B1 (en) | Smart cache and smart terminal | |
CN103744644B (zh) | 采用四核结构搭建的四核处理器系统及数据交换方法 | |
US11782760B2 (en) | Time-multiplexed use of reconfigurable hardware | |
Momose et al. | The brand-new vector supercomputer, SX-ACE | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN108874730A (zh) | 一种数据处理器及数据处理方法 | |
JP6679570B2 (ja) | データ処理装置 | |
CN106201931B (zh) | 一种超速矩阵运算协处理器系统 | |
CN103235717B (zh) | 具有多态指令集体系结构的处理器 | |
CN106354480B (zh) | 一种mpp型异构高速mcu系统 | |
Shang et al. | LACS: A high-computational-efficiency accelerator for CNNs | |
CN102023846B (zh) | 基于单片多处理器系统的共享前端流水线结构 | |
Lin et al. | swFLOW: A dataflow deep learning framework on sunway taihulight supercomputer | |
CN114064560B (zh) | 一种面向粗粒度可重构阵列的可配置便笺式缓存设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |