CN112181878B - RapidIO接口架构和数据处理方法 - Google Patents
RapidIO接口架构和数据处理方法 Download PDFInfo
- Publication number
- CN112181878B CN112181878B CN202010883101.3A CN202010883101A CN112181878B CN 112181878 B CN112181878 B CN 112181878B CN 202010883101 A CN202010883101 A CN 202010883101A CN 112181878 B CN112181878 B CN 112181878B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- ddr3
- rapidio interface
- processor module
- 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
Images
Classifications
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种RapidIO接口架构和数据处理方法,其中接口架构包括用于接收和发送数据的RapidIO接口模块;DMA模块;DDR3存储器;与所述DDR3存储器和DMA模块连接的DDR3控制器模块;ARM9处理器模块;AI协处理模块;与所述RapidIO接口模块连接的SPARC处理器模块;以及与所述RapidIO接口模块、DMA模块、DDR3控制器模块、SPARC处理器模块、ARM9处理器模块和AI协处理模块连接的AXI4桥接模块。本发明能够解决人工智能芯片对高速数据处理的要求。
Description
技术领域
本发明涉及人工智能芯片技术领域,尤其涉及一种RapidIO接口架构和数据处理方法。
背景技术
人工智能将推动新一轮计算革命。深度学习需要海量数据并行运算,传统计算架构无法支撑深度学习的大规模并行计算需求。为了拓展单芯片的功能性,往往采取异构多核的体系架构。珠海欧比特宇航科技股份有限公司设计的OAI-18异构多核人工智能芯片实现了ARM处理器与SPARC处理器同在一片芯片上的结构。在此芯片中设计并使用基于异构多核人工智能芯片的RapidIO接口架构,以解决人工智能芯片对高速数据处理的要求就很有必要。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提供一种RapidIO接口架构,能够解决人工智能芯片对高速数据处理的要求。
本发明还提出一种用于上述RapidIO接口架构的数据处理方法。
根据本发明的第一方面实施例的RapidIO接口架构,包括:用于接收和发送数据的RapidIO接口模块;DMA模块;DDR3存储器;与所述DDR3存储器和DMA模块连接的DDR3控制器模块;ARM9处理器模块;AI协处理模块;与所述RapidIO接口模块连接的SPARC处理器模块;以及通过AXI4总线接口与所述RapidIO接口模块、DMA模块、DDR3控制器模块、SPARC处理器模块、ARM9处理器模块和AI协处理模块连接的AXI4桥接模块。
根据本发明实施例的RapidIO接口架构,至少具有如下有益效果:本发明实施例的架构可以实现人工智能芯片通过RapidIO高速数据输入输出的应用要求。
根据本发明的一些实施例,所述RapidIO接口模块接收所述SPARC处理器模块发送的控制信号,接收数据时通过所述DMA模块、AXI4桥接模块和DDR3控制器模块将接收的数据写入所述DDR3存储器中,发送数据时通过所述DMA模块和DDR3控制器从DDR3存储器中读取数据。
根据本发明的一些实施例,所述AXI4桥接模块,用于符合AXI4通信协议的数据的桥接。
根据本发明的一些实施例,所述ARM9处理器模块和AI协处理器模块受所述SPARC处理器模块控制,经过所述AXI4桥接模块和DDR3控制器模块从所述DDR3存储器中读出要处理的数据,处理完毕后再写回所述DDR3存储器。
根据本发明的一些实施例,所述AXI4桥接模块包括NIC400异步转换桥IP核。
根据本发明的第二方面实施例的数据处理方法,包括以下步骤:RapidIO接口模块接收数据,将未处理的数据写入DDR3存储器中,并发送中断信号给SPARC处理器模块;所述SPARC处理器模块接收到所述RapidIO接口模块发送的中断信号后,向ARM9模块发送通知信息;所述ARM9处理器模块接收到所述SPARC处理器模块发送的所述通知信息后,与AI协处理器模块共同处理所述未处理的数据;所述ARM9处理器模块和AI协处理器模块处理完所述未处理数据后,将处理完成的信息以中断的形式发送给所述SPARC处理器模块;所述SPARC处理器接收到所述处理完成的信息后,通过控制信号控制所述RapidIO接口模块读出已处理的数据,根据RapidIO通信协议打包发送出去。
根据本发明实施例的数据处理方法,至少具有如下有益效果:本发明实施例的方法可以实现人工智能芯片通过RapidIO高速数据输入输出的应用要求。
根据本发明的一些实施例,所述方法还包括:所述SPARC处理器模块配置所述RapidIO接口模块和AI协处理器模块。
根据本发明的一些实施例,所述方法还包括:RapidIO接口模块接收数据后,根据预设的通信协议进行解包,通过DMA模块、AXI桥接模块和DDR3控制器模块将未处理的数据写入到DDR3存储器中,并发送中断信号给所述SPARC处理器模块。
根据本发明的一些实施例,所述ARM9处理器模块接收到所述SPARC处理器模块发送的所述通知信息后,与AI协处理器模块共同处理所述未处理的数据步骤还包括:所述ARM9处理器模块和AI协处理器模块将所述未处理的数据通过AXI4桥接模块从所述DDR3控制器模块读出;所述AI协处理器模块将已处理的数据通过所述DDR3控制器模块写回所述DDR3存储器中。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明实施例的内部结构框图。
图2是本发明实施例的方法流程图。
图3是本发明另一实施例的方法流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,一种基于异构多核人工智能芯片的RapidIO接口架构,包括RapidIO接口模块,DMA模块,DDR3控制器模块、SPARC处理器模块、ARM9处理器模块、AI协处理器模块、AXI4桥接模块。
SPARC处理器模块通过AXI4总线接口与AXI4桥接模块相连;ARM9处理器模块通过AXI4总线接口与AXI4桥接模块相连;AI协处理器模块通过AXI4总线接口与AXI4桥接模块相连;DDR3控制器通过AXI4接口与AXI4桥接模块相连;DMA模块通过AXI4接口与AXI4桥接模块相连;RapidIO接口模块与DMA模块相连。
在一实施例中,RapidIO接口模块受SPARC处理器模块控制,接收数据时通过DMA模块、AXI4桥接模块和DDR3控制器模块直接将接收的数据写入DDR3存储器中,发送数据时则通过DMA模块和DDR3控制器直接从DDR3存储器中读取数据。
在一实施例中,AXI4桥接模块,用于符合AXI4通信协议的数据的桥接,使用ARM公司的NIC400异步转换桥IP核,连接到此桥接模块的模块有ARM9处理器模块、SPARC处理器模块、AI协处理器模块,实现了各个模块间的信息交互,数据位宽为128位。
在一实施例中,ARM9处理器模块和AI处理器模块受SPARC处理器模块控制,经过AXI4桥接模块和DDR3控制器模块从DDR3存储器中读出要处理的数据,处理完毕后再写回DDR3存储器。
参照图2,本发明实施例的方法流程包括以下步骤。RapidIO接口模块接收数据,将未处理的数据写入DDR3存储器中,并发送中断信号给SPARC处理器模块;SPARC处理器模块接收到RapidIO接口模块发送的中断信号后,向ARM9模块发送通知信息;ARM9处理器模块接收到SPARC处理器模块发送的通知信息后,与AI协处理器模块共同处理未处理的数据;ARM9处理器模块和AI协处理器模块处理完未处理数据后,将处理完成的信息以中断的形式发送给SPARC处理器模块;SPARC处理器接收到处理完成的信息后,通过控制信号控制RapidIO接口模块读出已处理的数据,根据RapidIO通信协议打包发送出去。
参照图3,本发明实施例的基于异构多核人工智能芯片的RapidIO接口架构工作时,SPARC处理器模块,可以配置RapidIO接口模块、AI协处理器模块,RapaidIO接口模块接收到数据后根据设计的通信协议进行解包,通过DMA模块、AXI4桥接模块和DDR3控制器模块将未处理的数据写入到DDR3存储器中,并通过中断信号通知SPARC处理器模块,SPARC处理器模块模块接收到RapidIO接口模块的中断信号后,告知ARM9处理器模块,ARM9处理器模块接收到信息后,将会与AI协处理器共同处理数据,未处理的数据将通过AXI4桥接模块从DDR3控制器模块读出。处理后的结果由AI协处理器模块通过DDR3控制器模块写回DDR3存储器中,并将处理完成的结果以中断的形式告知SPARC处理器模块,SPARC处理器模块得知处理完成结果后,控制RapidIO接口模块通过DMA模块、AXI4桥接模块和DDR3控制器模块从DDR3存储器中读出已处理好的数据结果,根据RapidIO通信协议打包发送出去。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (9)
1.一种RapidIO接口架构,其特征在于,包括:
用于接收和发送数据的RapidIO接口模块;
DMA模块;
DDR3存储器;
与所述DDR3存储器和DMA模块连接的DDR3控制器模块;
ARM9处理器模块;
AI协处理模块;
与所述RapidIO接口模块连接的SPARC处理器模块;以及
通过AXI4总线接口与所述RapidIO接口模块、DMA模块、DDR3控制器模块、SPARC处理器模块、ARM9处理器模块和AI协处理模块连接的AXI4桥接模块。
2.根据权利要求1所述的RapidIO接口架构,其特征在于,
所述RapidIO接口模块接收所述SPARC处理器模块发送的控制信号,接收数据时通过所述DMA模块、AXI4桥接模块和DDR3控制器模块将接收的数据写入所述DDR3存储器中,发送数据时通过所述DMA模块和DDR3控制器从DDR3存储器中读取数据。
3.根据权利要求1所述的RapidIO接口架构,其特征在于,
所述AXI4桥接模块,用于符合AXI4通信协议的数据的桥接。
4.根据权利要求1所述的RapidIO接口架构,其特征在于,
所述ARM9处理器模块和AI协处理器模块受所述SPARC处理器模块控制,经过所述AXI4桥接模块和DDR3控制器模块从所述DDR3存储器中读出要处理的数据,处理完毕后再写回所述DDR3存储器。
5.根据权利要求1所述的RapidIO接口架构,其特征在于,
所述AXI4桥接模块包括NIC400异步转换桥IP核。
6.一种用于如权利要求1至5任一项所述的RapidIO接口架构的数据处理方法,其特征在于,包括以下步骤:
RapidIO接口模块接收数据,将未处理的数据写入DDR3存储器中,并发送中断信号给SPARC处理器模块;
所述SPARC处理器模块接收到所述RapidIO接口模块发送的中断信号后,向ARM9模块发送通知信息;
所述ARM9处理器模块接收到所述SPARC处理器模块发送的所述通知信息后,与AI协处理器模块共同处理所述未处理的数据;
所述ARM9处理器模块和AI协处理器模块处理完所述未处理数据后,将处理完成的信息以中断的形式发送给所述SPARC处理器模块;
所述SPARC处理器接收到所述处理完成的信息后,通过控制信号控制所述RapidIO接口模块读出已处理的数据,根据RapidIO通信协议打包发送出去。
7.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括:
所述SPARC处理器模块配置所述RapidIO接口模块和AI协处理器模块。
8.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括:
RapidIO接口模块接收数据后,根据预设的通信协议进行解包,通过DMA模块、AXI桥接模块和DDR3控制器模块将未处理的数据写入到DDR3存储器中,并发送中断信号给所述SPARC处理器模块。
9.根据权利要求6所述的数据处理方法,其特征在于,所述ARM9处理器模块接收到所述SPARC处理器模块发送的所述通知信息后,与AI协处理器模块共同处理所述未处理的数据步骤还包括:
所述ARM9处理器模块和AI协处理器模块将所述未处理的数据通过AXI4桥接模块从所述DDR3控制器模块读出;
所述AI协处理器模块将已处理的数据通过所述DDR3控制器模块写回所述DDR3存储器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883101.3A CN112181878B (zh) | 2020-08-28 | 2020-08-28 | RapidIO接口架构和数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883101.3A CN112181878B (zh) | 2020-08-28 | 2020-08-28 | RapidIO接口架构和数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181878A CN112181878A (zh) | 2021-01-05 |
CN112181878B true CN112181878B (zh) | 2022-04-08 |
Family
ID=73924832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010883101.3A Active CN112181878B (zh) | 2020-08-28 | 2020-08-28 | RapidIO接口架构和数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181878B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750127A (zh) * | 2012-06-12 | 2012-10-24 | 清华大学 | 一种协处理器 |
CN107203484A (zh) * | 2017-06-27 | 2017-09-26 | 北京计算机技术及应用研究所 | 一种基于FPGA的PCIe与SRIO总线桥接系统 |
CN108153190A (zh) * | 2017-12-20 | 2018-06-12 | 福建新大陆电脑股份有限公司 | 一种人工智能微处理器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060123152A1 (en) * | 2002-07-23 | 2006-06-08 | Koch Stefan M | Inter-processor communication system for communication between processors |
US8713370B2 (en) * | 2011-08-11 | 2014-04-29 | Apple Inc. | Non-intrusive processor tracing |
KR20180043626A (ko) * | 2016-10-20 | 2018-04-30 | 삼성전자주식회사 | 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법 |
CN108345555B (zh) * | 2018-03-13 | 2021-10-08 | 算丰科技(北京)有限公司 | 基于高速串行通信的接口桥接电路及其方法 |
CN109902040B (zh) * | 2019-02-01 | 2021-05-14 | 京微齐力(北京)科技有限公司 | 一种集成fpga和人工智能模块的系统芯片 |
-
2020
- 2020-08-28 CN CN202010883101.3A patent/CN112181878B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750127A (zh) * | 2012-06-12 | 2012-10-24 | 清华大学 | 一种协处理器 |
CN107203484A (zh) * | 2017-06-27 | 2017-09-26 | 北京计算机技术及应用研究所 | 一种基于FPGA的PCIe与SRIO总线桥接系统 |
CN108153190A (zh) * | 2017-12-20 | 2018-06-12 | 福建新大陆电脑股份有限公司 | 一种人工智能微处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN112181878A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228492B (zh) | 一种多通道ddr交织控制方法及装置 | |
CN107908589B (zh) | I3c验证从设备、主从设备的通信验证系统及方法 | |
CN109411007B (zh) | 一种基于fpga的通用闪存测试系统 | |
JPS62206658A (ja) | 記憶管理装置 | |
CN108268414A (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
CN103106164A (zh) | 一种高效dma控制器 | |
CN116226016A (zh) | 一种i2c接口电路及其控制方法 | |
CN115967589A (zh) | 基于arm和fpga的高速缓冲型can总线通信系统及方法 | |
CN112181878B (zh) | RapidIO接口架构和数据处理方法 | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
CN114185830A (zh) | 基于mailbox的多处理器通信方法、设备、系统和存储介质 | |
CN114996184B (zh) | 兼容实现spi或i2c从机的接口模块及数据传输方法 | |
CN111858459A (zh) | 处理器及计算机 | |
EP0872800B1 (en) | Method and device for exchanging data between two processor units | |
CN108228520B (zh) | 一种面向bmc的i2c控制器的快速传输方法 | |
CN115982071A (zh) | 一种面向ddr3控制器的片上网络转换接口 | |
US7443886B1 (en) | Communication protocol system and method | |
CN115312094A (zh) | Sram控制系统、方法、fpga芯片及电子设备 | |
CN113886297A (zh) | 一种基于dma的spi并发通讯se装置及方法 | |
CN208077160U (zh) | 基于spi模式的sd卡驱动器 | |
CN113609067B (zh) | 一种32路rs485接口卡的实现系统 | |
CN114513382B (zh) | 一种基于网卡的实时以太网现场总线网络数据包处理方法 | |
EP0702306A1 (en) | System and method for interfacing risc busses to peripheral circuits using another template of busses in a data communication adapter | |
CN117149680B (zh) | 用于贴片机子模块日志上传的主控板及上传方法 | |
CN114968874B (zh) | 一种适用于多传感器系统快速并行中断检测电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |