一种面向多个粗粒度动态可重构阵列的数据缓存更新系统的制作方法

文档序号:9929500阅读:366来源:国知局
一种面向多个粗粒度动态可重构阵列的数据缓存更新系统的制作方法
【技术领域】
[0001]本发明涉及嵌入式可重构系统领域,具体地,涉及一种面向多个粗粒度动态可重构阵列的数据缓存更新系统的实现方法。
【背景技术】
[0002]处理器与专用集成电路是传统的计算机系统结构的运算平台,处理器的特点在于通过执行指令集中的相关指令来完成计算,不去改动底层的硬件环境。但处理器的运算速度要比专用集成电路慢很多,每个独立的操作具有更高的执行开销。专用集成电路的特点在于用硬件来实现应用的操作具有很高的速度、效率和精度,但其缺陷在于开发周期太长,代价太高,而且硬件电路一旦制作好以后是不能被随意改动的。
[0003]FPGA可重构技术的出现,大大改变了传统的嵌入式设计的方法,可重构计算作为一种新型时空域的计算模式,获得了越来越广泛的关注,其主要的应用领域包括多媒体处理、移动通信、数字信号处理、数据加解密等。然而,在军事目标匹配、大数运算、声呐波束合成、基因组匹配、图像纹理填充、集成电路的计算机辅助设计等等之中,随应用场合的不同,可重构系统对性能的提高程度也大不相同。一般情况下,系统内FPGA数量越多,总体的性能就越好,按系统中FPGA的芯片数量进行平均,每块FPGA能使运算速度提高7?30倍,但平均每块芯片提高的速度倍数很低。
[0004]随着计算性能要求的提高,计算复杂度的越来越高,粗粒度可重构架构的计算资源也大量增加,使用多个可重构阵列来完成这些应用,对存储空间的需求量更是大量增加。然而有些数据在一两个计算周期过后便永不再被访问,却依然占用着存储空间,导致存储空间利用率降低。因此如何动态释放更新存储空间,提高存储空间复用率,成为了提高可重构系统计算性能研究中的一个重要课题。

【发明内容】

[0005]本发明的目的在于解决上述现有技术中存在的问题,提供一种面向多个粗粒度动态可重构阵列的数据缓存更新系统,基于传统的可重构单元片上缓存模块,增加了片上更新仲裁模块,对片上数据的生命周期进行统一管理,提供了一种片上缓存结构的动态复用方法,提高了大规模可重构阵列的存储利用率。
[0006]为解决上述技术问题,本发明采用的技术方案是:对传统的片上初始操作数寄存器、片上初始常数寄存器、阵列中间数据存储器和输出寄存器,分别紧耦合一个自衰减更新仲裁控制器。通过数据交互,判断每一个数据的生命是否终止,若终止,则将数据更新请求发送给各个片上缓存单元,完成缓存空间的动态更新。
[0007]本发明提供了提供一种面向多个粗粒度动态可重构阵列的数据缓存更新系统的实现方法,其结构包括:片内外数据传输控制器,用于仲裁数据从外部存储器写入可重构单元共享存储器和数据从可重构单元共享存储器写出外部存储器;可重构单元共享存储器,用于存储可重构阵列运算需要的数据,以及可重构阵列的计算结果;可重构处理器,包括:可重构计算阵列,用于进行算术逻辑运算。片上缓存模块,用于存储可重构阵列运算需要的数据,以及可重构阵列的计算结果;片上更新仲裁模块,用于对片上数据生命周期进行管理,仲裁缓存更新。
[0008]所述片上缓存模块,其结构包括:片上初始操作数寄存器、片上初始常数寄存器、阵列中间数据存储器和输出寄存器。所述片上初始操作数寄存器:用于存储预取的可重构阵列运算初始操作数;所述片上初始常数寄存器:用于存储预取的可重构阵列运算中所需常数。如LU分解算法运算中用到的消元系数,FFT算法运算中的旋转因子和FIR算法运算中的滤波系数等;所述阵列中间数据存储器:用于存放可重构阵列计算的中间结果;所述输出寄存器,用于存放可重构阵列的最终输出结果。
[0009]所述片上更新仲裁模块,其特征在于:四个自衰减更新仲裁控制器分别与片上缓存模块中的片上初始操作数寄存器、片上初始常数寄存器、阵列中间数据存储器和输出寄存器紧耦合,通过与片上缓存模块的数据交互,对片上数据生命周期进行统一管理,仲裁缓存更新。
[0010]所述自衰减更新仲裁控制器,其结构包括:操作数生命解析单元、逻辑控制单元、数据生命周期查找表、仲裁器、数据生命周期自衰减控制单元、更新请求发送单元。所述操作数生命解析单元:用于解析输入数据的生命周期;所述逻辑控制单元:用于仲裁输入输出请求;所述数据生命周期查找表:用于存放寄存器数据生命周期;所述仲裁器:用于仲裁输入数据生命是否为零;所述数据生命周期自衰减控制单元:用于完成数据生命周期查找表的自动更新;所述更新请求发送单元:用于输出对存储单元数据进行更新的请求。
[0011]—种面向多个粗粒度动态可重构阵列的数据缓存更新系统的实现方法,其特征在于包含以下步骤:
(I)从外存中读取计算阵列所需的数据,并将数据分成操作数和常数两类,其中操作数写入相应的片上初始操作数寄存器内,常数写入相应的片上初始常数寄存器内;
(2 )自衰减更新仲裁控制器读取片上初始缓存单元数据,判断数据生命是否结束,仲裁缓存更新;
(3)可重构阵列进行逻辑运算操作,若计算结果非最终输出结果,且需要进行共享或多次使用,则写入阵列中间数据存储单元;
(4)自衰减更新仲裁控制器读取阵列中间数据存储单元的数据,判断数据生命是否结束,仲裁缓存更新;
(5)若可重构阵列的计算结果为最终输出,则写入输出寄存器;
(6)自衰减更新仲裁控制器读取输出寄存器的数据,判断数据生命是否结束,仲裁缓存更新;
可重构系统中自衰减更新仲裁控制器的结构,其特征在于:它为可重构系统片上缓存单元的动态复用提供了一种实现方法。对片上各缓存单元分别紧耦合一个自衰减更新仲裁控制器,从而对数据生命周期进行统一管理。阵列所需的每一个操作数、常数以及计算结果的生命周期都由软件运行得到,形成一张数据生命周期查找表,存放在外存中,通过自衰减更新仲裁控制器访问和维护更新该表。控制器中的数据生命周期自衰减控制单元每经过一个计算周期都自动更新查找表,将相应的数据生命值减I。这种动态生命周期管理模式在相当程度上提高了存储空间的利用率。
【附图说明】
[0012]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本人发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为多阵列可重构系统的结构框架图;
图2—种面向多个粗粒度动态可重构阵列的数据缓存更新系统框图,以4阵列可重构系统为例;
图3为自衰减更新仲裁控制器内部结构框图;
图4为多阵列可重构系统的算法处理流程图;
图5为自衰减更新仲裁控制器内部的数据流图。
【具体实施方式】
[0013]以下结合附图对本发明一种面向多个粗粒度动态可重构阵列的数据缓存更新系统进行说明,应当理解,此处所描述的数据缓存更新系统实施例仅用于说明和解释本发明,并不用于限定本发明。
[0014]图1为嵌入式多阵列可重构的框架结构。其包括片内外数据传输控制器,用于仲裁数据从外部存储器写入可重构单元共享存储器和数据从可重构单元共享存储器写出外部存储器;可重构单元共享存储器,用于存储可重构阵列运算需要的数据,以及可重构阵列的计算结果;可重构处理器,包含多个可重构阵列和片上缓存单元,用于进行算术逻辑运算。
[0015]图2为面向多个粗粒度动态可重构阵列的数据缓存更新系统框图,以4阵列可重构系统为例。如图2所示,该缓存结构包括:片上常数存储单元一一片上初始常数寄存器,该寄存器从外部存储器中读取常数数据,并写入可重构阵列中;片上操作数存储单元一一片上初始操作数寄存器,该寄存器从外部存储器中读取操作数数据,并写入可重构阵列中;阵列中间数据存储器,用于存放阵列计算的中间结果;输出寄存器:用于存放最终的的输出结果;自衰减更新仲裁控制器,该仲裁器通过与片上缓存单元的数据交互,动态管理缓存单元数据的生命周期,仲裁该数据更新。
[0016]图3为自衰减更新仲裁控制器内部结构框图。如图3所示,该自衰减更新仲裁控制器包括:操作数生命解析单元,逻辑控制单元,数据生命周期查找表,仲裁器,数据生命周期自衰减控制单元,更新请求发送单元。操作数生命解析单元,用于解析输入数据的生命周期;逻辑控制单元,用于仲裁输入输出请求;数据生命周期查找表,用于存放存储单元数据生命周期;仲裁器,用于仲裁输入数据生命是否
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1