一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法

xiaoxiao2020-7-22  3

一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
【专利摘要】本发明公开了一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及其控制方法,包括可重构阵列数据缓存控制单元:用于控制可重构阵列与可重构阵列数据缓存单元以及可重构阵列数据缓存单元与外部存储器之间的数据交互;可重构阵列数据缓存单元:用于存储从外部存储器取到的数据;外部存储器数据预取缓存单元:用于从外部存储器预取即将访问的数据到可重构阵列数据缓存单元;数据访存重构单元:用于发送可重构阵列数据缓存单元所需的地址信息以及步长信息。并提供了实现可重构系统中多个粗粒度动态可重构阵列的共享数据的控制方法,减少访问冲突,节省了可重构系统数据处理的时间,提高了大规模粗粒度可重构阵列的计算性能。
【专利说明】一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
【技术领域】
[0001]本发明涉及嵌入式可重构设计领域,具体地,涉及一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法。
【背景技术】
[0002]处理器与专用集成电路(ASIC)是传统的计算机系统结构领域的运算平台,处理器的特点在于通过执行指令集中的相关指令来完成计算,不用去改动底层的硬件环境。但处理器的运算速度要比ASIC慢很多,每个独立的操作具有更高的执行开销。专用集成电路的特点在于用硬件来实现应用的操作具有很高的速度、效率和精度,但其缺陷在于开发周期太长,代价太高,而且硬件电路一旦制作好以后是不能够被随意改动的。
[0003]FPGA可重构技术的出现,大大改变了传统的嵌入式设计的方法,可重构计算作为一种新型时空域的计算模式,获得了越来越广泛的关注,其主要的应用领域包括多媒体处理、移动通信、数字信号处理、数据加解密等。然而,在军事目标匹配、大数运算、声纳波束合成、基因组匹配、图象纹理填充、集成电路的计算机辅助设计等等之中,随应用场合的不同,可重构系统对性能的提高程度也大不相同。一般情况下,系统内FPGA数量越多,总体的性能就越高,按系统中FPGA的芯片数量进行平均,每块FPGA能使运算速度提高7?30倍左右,但平均每块芯片提高的速度倍数越低。
[0004]随着计算性能要求的提高,计算复杂度的越来越高,粗粒度的可重构架构的计算资源也大量增加,使用多个可重构阵列来完成这些应用,在多个可重构阵列同时进行数据访问的时候,会造成访问冲突,产生访问延迟,增加了数据的访问时间,使得计算性能大大降低。如何减少数据的访问时间,提高数据的访问速度,成为了提高可重构系统计算性能研究中的一个重要课题。

【发明内容】

[0005]本发明的目的在于,针对上述问题,提供一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法,以提高大规模粗粒度可重构系统的性能。
[0006]为实现上述目的,本发明采用的技术方案是:
一种面向多个粗粒度动态可重构阵列的共享数据缓存,包括可重构阵列数据缓存控制单元,可重构阵列数据缓存单元,外部存储器数据预取缓存单元,数据访存重构单元;
所述可重构阵列数据缓存单元:用于存储从外部存储器取到的数据;
所述外部存储器数据预取缓存单元:用于从外部存储器预取即将访问的数据到数据缓存单元;
所述可重构阵列数据缓存控制单元:用于控制可重构阵列与可重构阵列数据缓存单元以及可重构阵列数据缓存单元与外部存储器之间的数据交互;
所述数据访存重构单元:用于发送数据缓存单元所需的地址信息以及步长信息。[0007]根据本发明的优选实施例,所述的可重构阵列数据缓存控制单元,其特征在于,硬件结构包括,地址解析器和步长解析器;
所述地址解析器:用于解析从数据访存重构单元接收到的地址信息,根据地址信息判断可重构阵列数据缓存单元此时是与外部存储器进行数据交互,还是与可重构阵列进行数据交互;
所述步长解析器:用于解析从数据访存重构单元接收到的步长信息,对于有N个数据存储片区的数据存储单元,步长取值包N种(N取值范围1-8),0,1,2,……,N-1 ;
根据本发明的优选实施例,所述的用来存储从外部存储器取到的可重构阵列数据缓存单元,包含N个存储片区(N的取值范围是1-8),根据接收到的地址信息判断可重构阵列数据缓存单元是与外部存储器进行数据交互,还是与可重构阵列进行数据交互,根据步长信息确定每一个可重构阵列可以访问的存储片区;
面向多个粗粒度动态可重构阵列的共享数据缓存装置的控制方法,当多个粗粒度可重构阵列同时访问可重构阵列数据缓存单元时,每个可重构阵列在同一时间只能对应可重构阵列数据缓存单元中的一个存储片区,用可重构阵列数据缓存单元的行号M对N进行取模(mod)运算,运算结果为n,即M mod N=n,则把此行号所表示的可重构阵列数据缓存单元定义为存储片区#n。
[0008]每个可重构阵列与存储片区的对应关系由步长决定。对于步长是N-1,可重构阵列#0访问存储片区#N-1,可重构阵列#1访问存储片区#0,可重构阵列棚-1访问存储片区#N-2。例如:如果步长是0,则可重构阵列#0对应存储片区#0,可重构阵列#1对应存储片区#1,可重构阵列測 -1访问存储片区#N-1 ;如果步长是1,则可重构阵列#0访问存储片区#1,可重构阵列#1访问存储片区#2,可重构阵列#N-2访问存储片区測-1,可重构阵列#N-1访问存储片区#0 ;如果步长是2,可重构阵列#0访问存储片区#2,可重构阵列#1访问存储片区#3,可重构阵列棚-1访问存储片区#1。
[0009]本发明的技术方案通过提供一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及其控制方法,使得多个可重构阵列同时访问数据缓存时访问冲突降低、数据访问时间减少,改变了传统的可重构系统中数据缓存的访问方式,从而提高了可重构系统的计算性能。
[0010]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0011]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0012]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施实例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为面向多个粗粒度动态可重构阵列的共享数据缓存装置示意图;
图2为可重构阵列数据缓存控制单元示意图;
图3为可重构阵列数据缓存控制单元工作流程图;
图4为面向多个粗粒度动态可重构阵列的共享数据缓存控制方法的可重构阵列与存储片区的对应关系框图;
图5为本发明实施例所述的面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法的应用连接图。
【具体实施方式】
[0013]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0014]如图1所示,面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法,包括可重构阵列数据缓存控制单元:用于控制可重构阵列与可重构阵列数据缓存单元以及可重构阵列数据缓存单元与外部存储器之间的数据交互;可重构阵列数据缓存单元:用于存储从外部存储器取到的数据;外部存储器数据预取缓存单元:用于从外部存储器预取即将访问的数据到可重构阵列数据缓存单元;数据访存重构单元:用于发送可重构阵列数据缓存单元所需的地址信息以及步长信息。
[0015]如图2所示,可重构阵列数据缓存控制单元,硬件结构包括地址解析器和步长解析器;地址解析器用于解析从数据访存重构单元接收到的地址信息,根据地址信息判断可重构阵列数据缓存单元此时是与外部存储器进行数据交互,还是与可重构阵列进行数据交互;步长解析器用于解析从数据访存重构单元接收到的步长信息,对于有N个数据存储片区的数据存储单元,步长取值包N种(N取值范围1-8),0,1,2,……,N-1 ;
如图3所示,可重构系统中可重构阵列数据缓存控制单元的工作流程,首先,数据访存重构模块发送地址信息和步长信息给可重构阵列数据缓存单元,然后地址解析器根据接收到的地址信息,判断此时是可重构阵列存取数据还是可重构阵列数据缓存单元与外部存储器进行数据交互。如果是可重构阵列存取数据,则步长解析器对接收到的步长信息的进行解析,可重构阵列根据相应的步长值访问对应的存储片区,如果是外部存储器存取数据,则采用连续地址的存取方式对可重构阵列数据缓存单元的数据进行存取。
[0016]如图4所示,面向多个粗粒度动态可重构阵列的共享数据缓存装置的控制方法。当多个粗粒度可重构阵列同时访问数据缓存单元时,每个可重构阵列在同一时间只能对应数据缓存单元中的一个存储片区,用数据存储单元的行号M对N进行取模(mod)运算,运算结果为n,即M mod N=n,则把此行号所表示的数据存储单元定义为存储片区#n。
[0017]每个可重构阵列与存储片区的对应关系由步长决定。对于步长是N-1,可重构阵
列#0访问存储片区#N-1,可重构阵列#1访问存储片区#0,......,可重构阵列棚-1访问存
储片区#N-2。例如:如果步长是0,则可重构阵列#0对应存储片区#0,可重构阵列#1对应
存储片区#1,......,可重构阵列#N-1访问存储片区#N-1 ;如果步长是I,则可重构阵列#0
访问存储片区#1,可重构阵列#1访问存储片区#2,......,可重构阵列測_2访问存储片区
棚-1,可重构阵列棚-1访问存储片区#0如果步长是2,可重构阵列#0访问存储片区#2,可重构阵列#1访问存储片区#3,......,可重构阵列棚-1访问存储片区#1。
[0018]如图5所示,H.264协议的高清数字视频解码(H.264 1080pi30fps HiPiLevel4)采用了本文所提出的面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法,能够实现H.264 1080pi30fps [email protected]的高清视频解码要求。该系统的结构包括:用作主控器的ARM7TDMI处理器、可重构阵列数据缓存、可重构阵列RCA、AHB总线、DDR SDRAM。选择具有小型、快速、低能耗、编译器支持好等优点的ARM7TDMI处理器作为主控CPU,用于控制系统运行的调度;可重构阵列数据缓存通过32bit的AHB总线与ARM7TDMI处理器相连接,外部存储器选用最常用的嵌入式外部存储器DDR SDRAM,支持64bit的数据访问位宽,具有良好的性价比以及能耗比;RCA共有4个,每个RCA均含有8X8个PE,依次标识RCA(TRCA3。可重构阵列数据缓存单元,包含4个存储片区,总共大小为64KB。
[0019]作为对比实验,设置了一个对比验证系统,与上述验证系统的区别在于可重构阵列数据缓存单元中没有采用分模块的方式,可重构阵列数据存储单元的访问方式采用传统设计中常用的连续地址读取数据模式,而可重构阵列数据存储单元的大小和结构相同。实验结果表明,采用本发明提出的多个粗粒度动态可重构阵列的共享数据缓存装置,可重构阵列数据存储单元的平均访问冲突比对比验证系统降低38.9%,数据访问所需时间减少50%以上,即计算性能提高了 2倍以上。
[0020]其中可重构阵列(ReConfigurable Array)简称RCA ;基本运算单兀(ProcessingElement)简称 PE。
[0021]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种面向多个粗粒度动态可重构阵列的共享数据缓存装置,其特征在于,包括可重构阵列数据缓存控制单元、可重构阵列数据缓存单元、外部存储器数据预取缓存单元、数据访存重构单元; 所述可重构阵列数据缓存单元:用于存储从外部存储器取到的数据; 所述外部存储器数据预取缓存单元:用于从外部存储器预取即将访问的数据到数据缓存单元; 所述可重构阵列数据缓存控制单元:用于控制可重构阵列与可重构阵列数据缓存单元以及可重构阵列数据缓存单元与外部存储器之间的数据交互; 所述数据访存重构单元:用于发送数据缓存单元所需的地址信息以及步长信息。
2.根据权利要求1所述的共享数据缓存装置,其特征在于,可重构阵列数据缓存单元包含N个存储片区,N的取值范围是1-8,根据接收到的地址信息判断可重构阵列数据缓存单元是与外部存储器进行交互,还是与可重构阵列进行交互,根据步长信息确定每一个可重构阵列可以访问的存储片区。
3.根据权利要求1所述的共享数据缓存装置,其特征在于,可重构阵列数据缓存控制单元包括地址解析器、步长解析器; 所述地址解析器:用于解析从数据访存重构单元接收到的地址信息,根据地址信息判断可重构阵列数据缓存单元此时是与外部存储器进行数据交互,还是与可重构阵列进行数据交互; 所述步长解析器:用于解析从数据访存重构单元接收到的步长信息,对于有N个数据存储片区的数据存储单元,步长取值包N种(N取值范围1-8),0,1,2,……,N-1。
4.一种利用权利要求1-3中任意一项所述的面向多个粗粒度动态可重构阵列的共享数据缓存装置的控制方法,其特征在于,所述可重构阵列数据缓存控制单元的工作流程为:首先,数据访存重构模块发送地址信息和步长信息给可重构阵列数据缓存单元,然后地址解析器根据接收到的地址信息,判断此时是可重构阵列与可重构阵列数据缓存单元进行数据交互还是可重构阵列数据缓存单元与外部存储器进行数据交互;如果是可重构阵列从可重构阵列数据缓存单元中读取/写入数据,则步长解析器对接收到的步长信息进行解析,可重构阵列根据相应的步长值访问对应的存储片区;如果是可重构阵列数据缓存单元从外部存储器读取/写入数据,则采用连续地址的存取方式对数据进行读取或者写入可重构数据缓存单元。
5.根据权利要求4所述的控制方法,其特征在于,当多个粗粒度可重构阵列同时访问可重构阵列数据缓存单元时,每个可重构阵列在同一时间只能对应可重构阵列数据缓存单元中的一个存储片区,用可重构阵列数据缓存单元的行号M对N进行取模(mod)运算,运算结果为n,即M mod N=n,则把此行号所表示的可重构阵列数据缓存单元定义为存储片区#n ; 每个可重构阵列与存储片区的对应关系由步长信息决定; 对于步长是N-1,可重构阵列#0访问存储片区#N-1,可重构阵列#1访问存储片区#0,......可重构阵列棚-1访问存储片区測-2。
【文档编号】G06F12/08GK103927270SQ201410176151
【公开日】2014年7月16日 申请日期:2014年4月28日 优先权日:2014年2月24日
【发明者】曹鹏, 刘波, 闵婧, 杜月, 肖建, 杨军 申请人:东南大学

最新回复(0)