CN111597138B - 一种x型链路结构的多并发ram数据传输方法及结构 - Google Patents
一种x型链路结构的多并发ram数据传输方法及结构 Download PDFInfo
- Publication number
- CN111597138B CN111597138B CN202010345579.0A CN202010345579A CN111597138B CN 111597138 B CN111597138 B CN 111597138B CN 202010345579 A CN202010345579 A CN 202010345579A CN 111597138 B CN111597138 B CN 111597138B
- Authority
- CN
- China
- Prior art keywords
- link
- type structure
- ram
- router
- type
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013507 mapping Methods 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 239000004744 fabric Substances 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- 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/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17312—Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
-
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17362—Indirect interconnection networks hierarchical topologies
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种X型链路结构的多并发RAM数据传输方法及结构,该方法包括:通过多个物理独立的子RAM映射成一个共享存储RAM;获取基于共享存储的片上多核处理器的每个核所对应的接口;在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器;每个所述接口通过所述X型结构路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应。本发明解决现有多并发RAM电路面积过大且仲裁电路过于复杂,造成布局布线困难的问题,无需路由FIFO和仲裁电路,因而硬件资源开销小,只有少量扇入扇出的x型路由器,简化布局布线并有效提升电路主频。
Description
技术领域
本发明涉及数据存储及传输技术领域,尤其涉及一种X型链路结构的多并发RAM数据传输方法及结构。
背景技术
在工艺和应用的双重推动下,片上多核处理器(Chip Multiple Processors;简称:CMP)成为当前高性能处理器的发展趋势,从专用集成电路(Application SpecificIntegrated Circuit;以下简称:ASIC)至现场可编程门阵列(Field Programmable GateArray;以下简称:FPGA),从云端到边缘。CMP中多核之间的高效数据交互一般是基于共享存储(多个处理器可以共用一个存储器)的并行体系结构,也就是多并发RAM实现的,这部分已经成为CMP高运算性能的关键所在。
现有的多并发RAM是基于全连接网络实现的,如图1所示,上面四个接口与下面一个RAM(四个子RAM通过两个最低有效位来映射成这个RAM)可以进行多并发的数据传输。接口数量较少时,这种网络具有高并发和数据流灵活等优点;而接口数量较多(大于4)时,会导致先入先出队列(First Input First Output;以下简称:FIFO)过多,仲裁电路过于复杂、交换电路面积过大等问题。基于全连接网络的多并发RAM在接口数量较多时,存在电路异常复杂的问题。而在实际CMP中,每组共享存储会有四个核,且每个核有多个接口,会造成多并发RAM电路面积过大且仲裁电路过于复杂,最终会给布局布线造成困难,进而导致电路整体性能难以提升。
发明内容
本发明提供一种X型链路结构的多并发RAM数据传输方法及结构,解决现有多并发RAM电路面积过大且仲裁电路过于复杂,造成布局布线困难的问题,相较于现有技术方案,本发明的方案无需路由FIFO和仲裁电路,因而硬件资源开销小,只有少量扇入扇出的x型路由器,简化布局布线并有效提升电路主频。
为实现以上目的,本发明提供以下技术方案:
一种X型链路结构的多并发RAM数据传输方法,包括:
通过多个物理独立的子RAM映射成一个共享存储RAM;
获取基于共享存储的片上多核处理器的每个核所对应的接口;
在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器;
每个所述接口通过所述X型结构路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应。
优选的,还包括:
所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换;
通过对每个所述X型结构路由器的状态切换的时钟周期和当前工作状态设置,使每个所述接口与每个所述子RAM链接的地址时隙均不相同,以形成地址递增或地址递减的地址时隙规则;
按所述地址时隙规则对所述接口与所述子RAM进行链接,以实现数据交互的全并发RAM。
优选的,还包括:
按地址递增或地址递减建立地址存储区域;
获取所述接口的数据流,并将所述数据流传输到所述地址存储区域进行存储;
判断所述数据流是否符合所述地址时隙规则,如果否,则对所述数据流传输的地址时隙进行重新排序,进而根据排序后的地址时隙从所述地址时隙区域中获取数据进行传送或响应。
优选的,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换,包括:
通过设置X型结构路由器的时钟周期和当前时钟值,并对当前时钟值进行递减计数,如果当前时钟值递减计数的值为0,则下个时钟周期的所述X型结构路由器的链接状态将进行切换,否则保持不变;
在进行切换时,所述X型结构路由器由交叉链接状态切换为直接链接状态,或由直接链接状态切换为交叉链接状态。
优选的,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换,还包括:
在所述X型结构路由器中设置有时钟周期寄存器、计数寄存器和链接寄存器;
所述时钟周期寄存器,用于设置所述X型结构路由器的时钟周期;
所述计数寄存器,用于将当前时钟值设置为计数值,并对计数值进行递减计数,且所述计数值表征所述X型结构路由器的当前工作状态,在计数值为0时,重新按所述时钟周期作为计数值,以开始重新计递减计数;
所述链接寄存器,用于存储链接的地址指针,在所述计数寄存器的计数值为0时,通过链接的地址指针变换以对X型结构路由器的链接状态进行切换。
优选的,所述在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器,包括:
在8并发RAM的链路结构中,设置三级链路传输结构,每一级链路传输结构包含4个X型结构路由器;
第一级链路传输结构中的X型结构路由器的时钟周期为4,第二级链路传输结构中的X型结构路由器的时钟周期为2,第三级链路传输结构的X型结构路由器的时钟周期为1;
所述第一级链路传输结构的X型结构路由器与所述第二级链路传输结构的X型结构路由器之间,及所述第二级链路传输结构的X型结构路由器与所述第三级链路传输结构的X型结构路由器之间均设置有8个缓存寄存器,并与相应的X型结构路由器链接。
优选的,所述在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器,还包括:
在8并发RAM的链路结构中,在第一级链路传输结构中,4个X型结构路由器的工作状态按时钟周期的递减顺序或递增顺序设置;
在第二级链路传输结构中,将4个X型结构路由器分成两组,每一组的X型结构路由器的工作状态按时钟周期的递减顺序或递增顺序设置;
在第三级链路传输结构中,将4个X型结构路由器的工作状态以计数值0表征。
本发明还提供一种X型链路结构的多并发RAM数据传输结构,包括:
子RAM层,用于通过多个物理独立的子RAM映射至少一个共享存储的多并发RAM;
接口层,用于获取基于共享存储的片上多核处理器的每个核所对应的接口;
链路传输结构层,用于在所述接口与所述子RAM之间设置多级链路传输结构,且每一级所述链路传输结构设置有多个X型结构路由器,使每个所述接口通过所述X型路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应。
优选的,还包括:
所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换;
地址时隙规则单元,用于通过对每个所述X型结构路由器的状态切换的时钟周期和当前工作状态设置,使每个所述接口与每个所述子RAM链接的地址时隙均不相同,并形成地址递增或地址递减的地址时隙规则;
链接切换则单元,用于按所述地址时隙规则对所述接口与所述子RAM进行链接切换,以实现数据交互的全并发RAM。
优选的,还包括:
存储区域设置单元,用于按地址递增或地址递减建立地址存储区域;
数据存储单元,用于获取所述接口的数据流,并将所述数据流传输到所述地址存储区域进行存储;
重排序模块,用于判断所述数据流是否符合所述地址时隙规则,如果否,则对所述数据流传输的地址时隙进行重新排序,进而根据排序后的地址时隙从所述地址时隙区域中获取数据进行传送或响应。
优选的,所述X型结构路由器包括:时钟周期寄存器、计数寄存器和链接寄存器;
所述时钟周期寄存器,用于设置所述X型结构路由器的时钟周期;
所述计数寄存器,用于将当前时钟值设置为计数值,并对计数值进行递减计数,且所述计数值表征所述X型结构路由器的当前工作状态,在计数值为0时,重新按所述时钟周期作为计数值,以开始重新计递减计数;
所述链接寄存器,用于存储链接的地址指针,在所述计数寄存器的计数值为0时,通过链接的地址指针变换以对X型结构路由器的链接状态进行切换。
优选的,链路传输结构层包括三级链路传输结构,每一级链路传输结构包含4个X型结构路由器;
第一级链路传输结构中的X型结构路由器的时钟周期为4,第二级链路传输结构中的X型结构路由器的时钟周期为2,第三级链路传输结构的X型结构路由器的时钟周期为1;
所述第一级链路传输结构的X型结构路由器与所述第二级链路传输结构的X型结构路由器之间,及所述第二级链路传输结构的X型结构路由器与所述第三级链路传输结构的X型结构路由器之间均设置有8个缓存寄存器,并与相应的X型结构路由器链接。
本发明提供一种X型链路结构的多并发RAM数据传输方法及结构,其互连网络的基本结构是由按一定规律切换传输方向的X型结构路由器组成,并形成多级链路传输结构,使X型结构路由器将接口与逻辑上完整的RAM链接起来,解决现有多并发RAM电路面积过大且仲裁电路过于复杂,造成布局布线困难的问题,相较于现有技术方案,该方案无需路由FIFO和仲裁电路,因而硬件资源开销小,只有少量扇入扇出的x型路由器,简化布局布线并有效提升电路主频。
附图说明
为了更清楚地说明本发明的具体实施例,下面将对实施例中所需要使用的附图作简单地介绍。
图1是现有技术中基于全连接网络的多并发RAM结构示意图。
图2是本发明提供的一种X型链路结构的多并发RAM数据传输方法示意图;
图3是本发明提供的一种X型结构路由器的工作状态示意图;
图4是本发明实施例提供的基于X型结构路由器的8并发RAM结构示意图;
图5(a)~图5(f)是本发明实施例提供的数据流传输示意图;
图6是本发明实施例提供的重排序模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
针对当前片上多核处理器中多核之间的数据交互是基于全连接网络实现,基于全连接网络的多并发RAM在接口数量较多时,存在电路异常复杂的问题。而在实际CMP中,每组共享存储会有四个核,且每个核有多个接口,会造成多并发RAM电路面积过大且仲裁电路过于复杂,最终会给布局布线造成困难,进而导致电路整体性能难以提升的问题。本发明提供一种X型链路结构的多并发RAM数据传输方法及结构,其互连网络的基本结构是由按一定规律切换传输方向的X型结构路由器组成,并形成多级链路传输结构,使X型结构路由器将接口与逻辑上完整的RAM链接起来,解决现有多并发RAM电路面积过大且仲裁电路过于复杂,造成布局布线困难的问题,相较于现有技术方案,本发明的方案无需路由FIFO和仲裁电路,因而硬件资源开销小,只有少量扇入扇出的x型路由器,简化布局布线并有效提升电路主频。
如图2所示,一种X型链路结构的多并发RAM数据传输方法,包括:
S1:通过多个物理独立的子RAM映射成至少一个共享存储RAM。
S2:获取基于共享存储的片上多核处理器的每个核所对应的接口。
S3:在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器。
S4:每个所述接口通过所述X型结构路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应。
具体地,以8并发RAM为例阐述提出的多并发RAM数据传输方法,8并发RAM具有8个接口数,RAM可由8个子RAM基于访问地址的三个最低有效位映射而成,如表1所示。在实际应用中,片上多核处理器,也可以16位、32位或64位的接口数量,多个子RAM可映射一个或多个共享存储的16并发RAM、32并发RAM或64并发RAM。首先是如何根据X型结构路由器组成多并发互连网络,使各个接口与任一个子RAM之间的数据传输按一定时间规律进行固定传送,并由X型结构路由器在不同时钟内对接口与子RAM之间的链接方式进行切换,进而使每个接口对任一个子RAM传输的路径和时间是固定的。需要说明的是,X型结构路由器的导通方向可由其内状态寄存器控制。这种按一定规律切换传输方向的x型结构路由器,使接口与RAM之间通过固定传送路径和时间的数据交互。较于现有方案,并不需要FIFO和仲裁电路,能降低的硬件复杂度,实现了多并发RAM的高带宽数据传输,占用硅片面积小,非常适合在基于ASIC或FPGA的多并发RAM解决方案中应用。
表1
该方法还包括:
S5:所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换。
S6:通过对每个所述X型结构路由器的状态切换的时钟周期和当前工作状态设置,使每个所述接口与每个所述子RAM链接的地址时隙均不相同,以形成地址递增或地址递减的地址时隙规则。
S7:按所述地址时隙规则对所述接口与所述子RAM进行链接,以实现数据交互的全并发RAM。
具体地,如图3所示,x型结构路由有两个输入端口A和B,两个输出端口1和2,它有两种工作状态:图3(a)中表示A端口数据传输到1端口,B端口数据选通到2端口;图3(b)中表示A端口数据传输到2端口,B端口数据传输到1端口。Current是工作状态相关的递减计数器,其周期为Period,当Current为0时,下个时钟周期的X结构路由器的工作状态将会发生改变,否则保持不变。如图5(a)~图5(f)所示,X型结构路由器工作过程以A接口为例进行深入分析,每个时钟周期,它都有目的子RAM,随着时钟变化,目的子RAM会按“0->1->2->3->4->5->6->7->0”发生周期性变化,若此时A接口数据最终传输到RAM_0,则本周期A接口的地址时隙就是0,其它接口的地址时隙也相应设置,使所有接口的地址时隙均不相同,从而有效避免端口之间的链路冲突,通过地址时隙的限定,使得整个网络无需路由FIFO和仲裁电路。如果所有接口的数据流都符合其地址时隙规律(地址连续递增),理论上可以实现全并发RAM。
进一步,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换,包括:通过设置X型结构路由器的时钟周期和当前时钟值,并对当前时钟值进行递减计数,如果当前时钟值递减计数的值为0,则下个时钟周期的所述X型结构路由器的链接状态将进行切换,否则保持不变。在进行切换时,所述X型结构路由器由交叉链接状态切换为直接链接状态,或由直接链接状态切换为交叉链接状态。
所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换,还包括:在所述X型结构路由器中设置有时钟周期寄存器、计数寄存器和链接寄存器。所述时钟周期寄存器,用于设置所述X型结构路由器的时钟周期。所述计数寄存器,用于将当前时钟值设置为计数值,并对计数值进行递减计数,且所述计数值表征所述X型结构路由器的当前工作状态,在计数值为0时,重新按所述时钟周期作为计数值,以开始重新计递减计数。所述链接寄存器,用于存储链接的地址指针,在所述计数寄存器的计数值为0时,通过链接的地址指针变换以对X型结构路由器的链接状态进行切换。
在实际应用中,如图5所示,随着周期迁移,X型结构路由器都会按一定周期规律的脉动,使得8并发RAM中的数据流向按一定规律呈现:若此时时钟周期为T,则最终,A接口数据传输到RAM_0端口,B接口数据传输到RAM_1端口,……,H接口数据传输到RAM_7端口;在时钟周期T+1时的A接口数据将传输到RAM_1端口,B接口数据将传输到RAM_2端口,…,H接口数据将传输到RAM_0端口;在时钟周期T+2时的A接口数据将传输到RAM_2端口,B接口数据将传输到RAM_3端口,……,H接口数据将传输到RAM_1端口。在时钟周期T+3时,一个时钟周期完成,A接口数据传输到RAM_0端口,B接口数据传输到RAM_1端口,……,H接口数据传输到RAM_7端口。此时,将接口A\BCDEFGH中的数据01234567传输到RAM_0、RAM_1、RAM_2、……RAM_7中。同理在T+4和T+5时刻依序传输数据,以实现多并发RAM数据传输。
同时,通过配置所有X型结构路由器的计数寄存器,使得每个时钟周期内,所有端口的地址时隙均不相同,从而有效避免端口之间的链路冲突,通过地址时隙的限定,使得整个网络无需路由FIFO和仲裁电路。如果所有接口的数据流都符合其地址时隙规律(地址连续递增)也可以实现全并发RAM。
该方法还包括:
S8:按地址递增或地址递减建立地址存储区域。
S9:获取所述接口的数据流,并将所述数据流传输到所述地址存储区域进行存储。
S10:判断所述数据流是否符合所述地址时隙规则,如果否,则对所述数据流传输的地址时隙进行重新排序,进而根据排序后的地址时隙从所述地址时隙区域中获取数据进行传送或响应。
在实际应用中,大部分数据流都是符合地址时隙规律的(起始地址不是当前地址时隙,通过增加相应延时即可),因而提出的x型结构路由的多并发RAM获得高的并发性能;然而也存在着不符合地址时隙规律(地址跳变、地址不变和地址递减等)的情况,为此提出接口数据的重排序机制,其目的就是让数据有序地进入相应的地址时隙中,改善并发效率下降的问题,如图6所示,重排序模块,主要分为发送链路重排序和响应链路重排序两个子模块。
发送链路重排序模块中有个RAM,分为8个地址时隙区域,输入数据,依据地址的最低三位,分别传输到地址时隙区域中,然后依据端口当前的地址时隙值,从这8个地址时隙区域中获取数据传输到端口,同时对传输情况进行记录,是为了用来引导后面的响应链路重排序。
响应链路重排序模块有个RAM,分为8个存储区域;首先响应数据依据地址时隙值,暂存到相应的存储区域,然后响应链路重排序模块依据发送链路重排序的数据传输记录,从对应的存储区域按顺序获取数据传输到端口。
进一步,所述在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器,包括:在8并发RAM的链路结构中,设置三级链路传输结构,每一级链路传输结构包含4个X型结构路由器。第一级链路传输结构中的X型结构路由器的时钟周期为4,第二级链路传输结构中的X型结构路由器的时钟周期为2,第三级链路传输结构的X型结构路由器的时钟周期为1。所述第一级链路传输结构的X型结构路由器与所述第二级链路传输结构的X型结构路由器之间,及所述第二级链路传输结构的X型结构路由器与所述第三级链路传输结构的X型结构路由器之间均设置有8个缓存寄存器,并与相应的X型结构路由器链接。
所述在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器,还包括:在8并发RAM的链路结构中,在第一级链路传输结构中,4个X型结构路由器的工作状态按时钟周期的递减顺序或递增顺序设置。在第二级链路传输结构中,将4个X型结构路由器分成两组,每一组的X型结构路由器的工作状态按时钟周期的递减顺序或递增顺序设置。在第三级链路传输结构中,将4个X型结构路由器的工作状态以计数值0表征。
具体地,如图5所示,在第一级链路传输结构中,4个X型结构路由器的时钟周期都为4,计数寄存器中的计数值依次设置为0、3、2和1。A、B、C和D前4个接口分别与对应X型结构路由器的一个输入相连,E、F、G和H后4个接口分别与对应X型结构路由器的另一个输入相连,形成第一级链路传输结构。第二级链路传输结构中4个X型结构路由器的时钟周期为2,计数寄存器中的计数值依次设置为1、0、1和0。第三级链路传输结构中4个X型结构路由器的时钟周期为1,计数寄存器中的计数值依次设置为0、0、0和0。
在一实施例中,基于X型结构路由器以8并发RAM为例,阐述多并发RAM设计方案,如图4所示,每个接口到每个子RAM的传输路径都是固定的,以A接口为例进行深入分析,每个时钟周期,它都有目的子RAM,随着时钟变化,目的子RAM会按“0->1->2->3->4->5->6->7->0”发生周期性变化。A接口经过缓存寄存器10和缓存寄存器20到RAM_0,A接口经过缓存寄存器10和缓存寄存器20到RAM_1,A接口经过缓存寄存器10和缓存寄存器21到RAM_2,A接口经过缓存寄存器10和缓存寄存器21到RAM_3,A接口经过缓存寄存器14和缓存寄存器24到RAM_4,A接口经过缓存寄存器14和缓存寄存器24到RAM_5,A接口经过缓存寄存器14和缓存寄存器25到RAM_6,A接口经过缓存寄存器14和缓存寄存器25到RAM_7,其它接口依次类推,图4给出部分具体的周期脉动数据流。
需要说明的是:(1)该数据传输方法适用于多种接口数量,不仅限于8。(2)X型结构路由器状态和它们之间的连接方式不是唯一的,状态寄存器(导通方向,Current和Period)与连接方式适配即可(图中假定路由器延时为1,端口延时为0)。(3)RAM是由8个子RAM基于访问地址的三个最低有效位映射而成,如表1所示。(4)图中只给出发送链路的X型结构路由器,而没有给出响应链路的X型结构路由器,因为它们逻辑实现上是一致的。
可见,本发明提供一种X型链路结构的多并发RAM数据传输方法,其互连网络的基本结构是由按一定规律切换传输方向的X型结构路由器组成,并形成多级链路传输结构,使X型结构路由器将接口与逻辑上完整的RAM链接起来,解决现有多并发RAM电路面积过大且仲裁电路过于复杂,造成布局布线困难的问题,相较于现有技术方案,该方案无需路由FIFO和仲裁电路,因而硬件资源开销小,只有少量扇入扇出的x型路由器,简化布局布线并有效提升电路主频。
相应地,本发明还提供一种X型链路结构的多并发RAM数据传输结构,包括:子RAM层,用于通过多个物理独立的子RAM映射至少一个共享存储的多并发RAM。接口层,用于获取基于共享存储的片上多核处理器的每个核所对应的接口。链路传输结构层,用于在所述接口与所述子RAM之间设置多级链路传输结构,且每一级所述链路传输结构设置有多个X型结构路由器,使每个所述接口通过所述X型路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应。
该结构还包括:所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换。地址时隙规则单元,用于通过对每个所述X型结构路由器的状态切换的时钟周期和当前工作状态设置,使每个所述接口与每个所述子RAM链接的地址时隙均不相同,并形成地址递增或地址递减的地址时隙规则。链接切换则单元,用于按所述地址时隙规则对所述接口与所述子RAM进行链接切换,以实现数据交互的全并发RAM。
该结构还包括:存储区域设置单元,用于按地址递增或地址递减建立地址存储区域。数据存储单元,用于获取所述接口的数据流,并将所述数据流传输到所述地址存储区域进行存储。重排序模块,用于判断所述数据流是否符合所述地址时隙规则,如果否,则对所述数据流传输的地址时隙进行重新排序,进而根据排序后的地址时隙从所述地址时隙区域中获取数据进行传送或响应。
进一步,所述X型结构路由器包括:时钟周期寄存器、计数寄存器和链接寄存器。所述时钟周期寄存器,用于设置所述X型结构路由器的时钟周期。所述计数寄存器,用于将当前时钟值设置为计数值,并对计数值进行递减计数,且所述计数值表征所述X型结构路由器的当前工作状态,在计数值为0时,重新按所述时钟周期作为计数值,以开始重新计递减计数。所述链接寄存器,用于存储链接的地址指针,在所述计数寄存器的计数值为0时,通过链接的地址指针变换以对X型结构路由器的链接状态进行切换。
更进一步,链路传输结构层包括三级链路传输结构,每一级链路传输结构包含4个X型结构路由器。第一级链路传输结构中的X型结构路由器的时钟周期为4,第二级链路传输结构中的X型结构路由器的时钟周期为2,第三级链路传输结构的X型结构路由器的时钟周期为1。所述第一级链路传输结构的X型结构路由器与所述第二l级链路传输结构的X型结构路由器之间,及所述第二级链路传输结构的X型结构路由器与所述第三级链路传输结构的X型结构路由器之间均设置有8个缓存寄存器,并与相应的X型结构路由器链接。
可见,本发明提供一种X型链路结构的多并发RAM数据传输结构,其互连网络的基本结构是由按一定规律切换传输方向的X型结构路由器组成,并形成多级链路传输结构,使X型结构路由器将接口与逻辑上完整的RAM链接起来,解决现有多并发RAM电路面积过大且仲裁电路过于复杂,造成布局布线困难的问题,相较于现有技术方案,该方案无需路由FIFO和仲裁电路,因而硬件资源开销小,只有少量扇入扇出的x型路由器,简化布局布线并有效提升电路主频。
以上依据图示所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (10)
1.一种X型链路结构的多并发RAM数据传输方法,其特征在于,包括:
通过多个物理独立的子RAM映射成一个共享存储RAM;
获取基于共享存储的片上多核处理器的每个核所对应的接口;
在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器;
每个所述接口通过所述X型结构路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应;
其中,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换;
通过对每个所述X型结构路由器的状态切换的时钟周期和当前工作状态设置,使每个所述接口与每个所述子RAM链接的地址时隙均不相同,以形成地址递增或地址递减的地址时隙规则;
按所述地址时隙规则对所述接口与所述子RAM进行链接,以实现数据交互的全并发RAM。
2.根据权利要求1所述的X型链路结构的多并发RAM数据传输方法,其特征在于,所述方法还包括:
按地址递增或地址递减建立地址存储区域;
获取所述接口的数据流,并将所述数据流传输到所述地址存储区域进行存储;
判断所述数据流是否符合所述地址时隙规则,如果否,则对所述数据流传输的地址时隙进行重新排序,进而根据排序后的地址时隙从所述地址时隙区域中获取数据进行传送或响应。
3.根据权利要求1所述的X型链路结构的多并发RAM数据传输方法,其特征在于,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换包括:
通过设置X型结构路由器的时钟周期和当前时钟值,并对当前时钟值进行递减计数,如果当前时钟值递减计数的值为0,则下个时钟周期的所述X型结构路由器的链接状态将进行切换,否则保持不变;
在进行切换时,所述X型结构路由器由交叉链接状态切换为直接链接状态,或由直接链接状态切换为交叉链接状态。
4.根据权利要求3所述的X型链路结构的多并发RAM数据传输方法,其特征在于,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换还包括:
在所述X型结构路由器中设置有时钟周期寄存器、计数寄存器和链接寄存器;
所述时钟周期寄存器,用于设置所述X型结构路由器的时钟周期;
所述计数寄存器,用于将当前时钟值设置为计数值,并对计数值进行递减计数,且所述计数值表征所述X型结构路由器的当前工作状态,在计数值为0时,重新按所述时钟周期作为计数值,以开始重新计递减计数;
所述链接寄存器,用于存储链接的地址指针,在所述计数寄存器的计数值为0时,通过链接的地址指针变换以对X型结构路由器的链接状态进行切换。
5.根据权利要求1所述的X型链路结构的多并发RAM数据传输方法,其特征在于,所述在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器包括:
在8并发RAM的链路结构中,设置三级链路传输结构,每一级链路传输结构包含4个X型结构路由器;
第一级链路传输结构中的X型结构路由器的时钟周期为4,第二级链路传输结构中的X型结构路由器的时钟周期为2,第三级链路传输结构的X型结构路由器的时钟周期为1;
所述第一级链路传输结构的X型结构路由器与所述第二级链路传输结构的X型结构路由器之间,及所述第二级链路传输结构的X型结构路由器与所述第三级链路传输结构的X型结构路由器之间均设置有8个缓存寄存器,并与相应的X型结构路由器链接。
6.根据权利要求5所述的X型链路结构的多并发RAM数据传输方法,其特征在于,所述在所述接口与所述子RAM之间设置多级链路传输结构,每一级所述链路传输结构设置有多个X型结构路由器还包括:
在8并发RAM的链路结构中,在第一级链路传输结构中,4个X型结构路由器的工作状态按时钟周期的递减顺序或递增顺序设置;
在第二级链路传输结构中,将4个X型结构路由器分成两组,每一组的X型结构路由器的工作状态按时钟周期的递减顺序或递增顺序设置;
在第三级链路传输结构中,将4个X型结构路由器的工作状态以计数值0表征。
7.一种X型链路结构的多并发RAM数据传输结构,其特征在于,包括:
子RAM层,用于通过多个物理独立的子RAM映射至少一个共享存储的多并发RAM;
接口层,用于获取基于共享存储的片上多核处理器的每个核所对应的接口;
链路传输结构层,用于在所述接口与所述子RAM之间设置多级链路传输结构,且每一级所述链路传输结构设置有多个X型结构路由器,使每个所述接口通过所述X型结构路由器与每个所述子RAM之间形成固定的传输路径,以对数据流进行发送或响应;
其中,所述X型结构路由器设置有两路输入和两路输出,以构成交叉链接状态或直接链接状态,并按设定时钟周期进行状态切换;
所述数据传输结构还包括:地址时隙规则单元,用于通过对每个所述X型结构路由器的状态切换的时钟周期和当前工作状态设置,使每个所述接口与每个所述子RAM链接的地址时隙均不相同,并形成地址递增或地址递减的地址时隙规则;
链接切换则单元,用于按所述地址时隙规则对所述接口与所述子RAM进行链接切换,以实现数据交互的全并发RAM。
8.根据权利要求7所述的X型链路结构的多并发RAM数据传输结构,其特征在于,还包括:
存储区域设置单元,用于按地址递增或地址递减建立地址存储区域;
数据存储单元,用于获取所述接口的数据流,并将所述数据流传输到所述地址存储区域进行存储;
重排序模块,用于判断所述数据流是否符合所述地址时隙规则,如果否,则对所述数据流传输的地址时隙进行重新排序,进而根据排序后的地址时隙从所述地址时隙区域中获取数据进行传送或响应。
9.根据权利要求7所述的X型链路结构的多并发RAM数据传输结构,其特征在于,所述X型结构路由器包括:时钟周期寄存器、计数寄存器和链接寄存器;
所述时钟周期寄存器,用于设置所述X型结构路由器的时钟周期;
所述计数寄存器,用于将当前时钟值设置为计数值,并对计数值进行递减计数,且所述计数值表征所述X型结构路由器的当前工作状态,在计数值为0时,重新按所述时钟周期作为计数值,以开始重新计递减计数;
所述链接寄存器,用于存储链接的地址指针,在所述计数寄存器的计数值为0时,通过链接的地址指针变换以对X型结构路由器的链接状态进行切换。
10.根据权利要求7所述的X型链路结构的多并发RAM数据传输结构,其特征在于,链路传输结构层包括三级链路传输结构,每一级链路传输结构包含4个X型结构路由器;
第一级链路传输结构中的X型结构路由器的时钟周期为4,第二级链路传输结构中的X型结构路由器的时钟周期为2,第三级链路传输结构的X型结构路由器的时钟周期为1;
所述第一级链路传输结构的X型结构路由器与所述第二级链路传输结构的X型结构路由器之间,及所述第二级链路传输结构的X型结构路由器与所述第三级链路传输结构的X型结构路由器之间均设置有8个缓存寄存器,并与相应的X型结构路由器链接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345579.0A CN111597138B (zh) | 2020-04-27 | 2020-04-27 | 一种x型链路结构的多并发ram数据传输方法及结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345579.0A CN111597138B (zh) | 2020-04-27 | 2020-04-27 | 一种x型链路结构的多并发ram数据传输方法及结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597138A CN111597138A (zh) | 2020-08-28 |
CN111597138B true CN111597138B (zh) | 2024-02-13 |
Family
ID=72182334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010345579.0A Active CN111597138B (zh) | 2020-04-27 | 2020-04-27 | 一种x型链路结构的多并发ram数据传输方法及结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597138B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622516A (zh) * | 2003-11-27 | 2005-06-01 | 上海贝尔阿尔卡特股份有限公司 | 一种实现sdh业务保护倒换和自动恢复的交叉连接系统 |
CN101477512A (zh) * | 2009-01-16 | 2009-07-08 | 中国科学院计算技术研究所 | 一种处理器系统及其访存方法 |
CN105468568A (zh) * | 2015-11-13 | 2016-04-06 | 上海交通大学 | 高效的粗粒度可重构计算系统 |
CN107852379A (zh) * | 2015-05-22 | 2018-03-27 | 格雷研究有限公司 | 用于现场可编程门阵列的定向二维路由器和互连网络、以及所述路由器和网络的其他电路和应用 |
CN110908929A (zh) * | 2018-09-18 | 2020-03-24 | 辉达公司 | 用于高带宽缩放的一致数据高速缓存 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170220499A1 (en) * | 2016-01-04 | 2017-08-03 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications |
-
2020
- 2020-04-27 CN CN202010345579.0A patent/CN111597138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622516A (zh) * | 2003-11-27 | 2005-06-01 | 上海贝尔阿尔卡特股份有限公司 | 一种实现sdh业务保护倒换和自动恢复的交叉连接系统 |
CN101477512A (zh) * | 2009-01-16 | 2009-07-08 | 中国科学院计算技术研究所 | 一种处理器系统及其访存方法 |
CN107852379A (zh) * | 2015-05-22 | 2018-03-27 | 格雷研究有限公司 | 用于现场可编程门阵列的定向二维路由器和互连网络、以及所述路由器和网络的其他电路和应用 |
CN105468568A (zh) * | 2015-11-13 | 2016-04-06 | 上海交通大学 | 高效的粗粒度可重构计算系统 |
CN110908929A (zh) * | 2018-09-18 | 2020-03-24 | 辉达公司 | 用于高带宽缩放的一致数据高速缓存 |
Non-Patent Citations (2)
Title |
---|
Orestis Liolis.Quantum-dot Cellular Automata RAM design using Crossbar Architecture.《NANOARCH '18: Proceedings of the 14th IEEE/ACM International Symposium on Nanoscale Architectures》.2018,86-90. * |
王一拙 ; 左琦 ; 计卫星 ; 王小军 ; 石峰 ; .访存敏感的增量式MPSoC应用映射.计算机研究与发展.2015,(05),206-217. * |
Also Published As
Publication number | Publication date |
---|---|
CN111597138A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003604B2 (en) | Procedures for improving efficiency of an interconnect fabric on a system on chip | |
US6314487B1 (en) | Adaptive routing controller of a crossbar core module used in a crossbar routing switch | |
Moraes et al. | HERMES: an infrastructure for low area overhead packet-switching networks on chip | |
US4623996A (en) | Packet switched multiple queue NXM switch node and processing method | |
Krishna et al. | Single-cycle collective communication over a shared network fabric | |
Boppana et al. | A framework for designing deadlock-free wormhole routing algorithms | |
CN113114593B (zh) | 一种片上网络中双信道路由器及其路由方法 | |
Wang et al. | An approximate multiplane network-on-chip | |
CN111597138B (zh) | 一种x型链路结构的多并发ram数据传输方法及结构 | |
Salaheldin et al. | Review of NoC-based FPGAs architectures | |
CN107276920A (zh) | 一种应用于混合三维片上网络的分布式流控系统及机制 | |
Jeang et al. | A binary tree architecture for application specific network on chip (ASNOC) design | |
Kim | High-radix interconnection networks | |
Seifi et al. | A clustered NoC in group communication | |
Atagoziyev | Routing algorithms for on chip networks | |
Wah | A comparative study of distributed resource sharing on multiprocessors | |
Aust et al. | Real-time processor interconnection network for fpga-based multiprocessor system-on-chip (mpsoc) | |
Chi et al. | Decomposed arbiters for large crossbars with multi-queue input buffers | |
JPS63257052A (ja) | マルチプロセツサシステム | |
Avani et al. | Efficient Dynamic Virtual Channel Architecture for NoC Systems | |
Chatrath et al. | Design and implementation of high speed reconfigurable NoC router | |
Hsu et al. | Design of a dual-mode noc router integrated with network interface for amba-based ips | |
Qian et al. | A flit-level speedup scheme for network-on-chips using self-reconfigurable bi-directional channels | |
US20230280907A1 (en) | Computer System Having Multiple Computer Devices Each with Routing Logic and Memory Controller and Multiple Computer Devices Each with Processing Circuitry | |
Shermi et al. | A novel architecture of bidirectional NoC router using flexible buffer |
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 |