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

文档序号:9929500阅读:来源:国知局
为零;数据生命周期自衰减控制单元,用于完成数据生命周期查找表的维护更新;更新请求发送单元,用于输出缓存空间数据更新的请求。
[0017]图4、5为算法处理流程图,微处理器根据所要处理的算法类型将相应的数据从外部存储器存储到片上常数存储单元和片内外数据共享交互单元中。重构控制器将数据分配到相应的缓存单元并在各阵列中进行处理。阵列计算过程中,由自衰减更新仲裁控制器判断数据生命是否终止并仲裁缓存更新。处理的最终结果存储于片内外数据共享交互单元中,并通过数据传输控制器输出到片外。
[0018]以一个M阶矩阵的LU分解计算为例,可重构阵列所需要的数据分为M*M个矩阵元素,其管理步骤包括:
(1)如图1所示,判断算法类型,按算法类型的不同载入相应的配置信息;
(2)如图1和图2所示,将操作数通过片内外数据传输控制器分别写入片内外数据共享交互单元和常数存储单元中;
(3)如图2和图4所示,可重构单元共享存储器将常数存储单元和各存储区域中的数据传输至可重构阵列中并进行消元运算,消元运算的结果若为最终输出结果,写入片内外数据共享交互单元;若不是最终输出结果,写入片上中间数据存储单元;
(4)如图3和图5所示,自衰减更新仲裁控制器从片上缓存单元读取数据,对数据生命是否结束进行判断,并将更新请求发送到各个存储单元。
【主权项】
1.一种面向多个粗粒度动态可重构阵列的数据缓存更新系统,其特征在于:基于多阵列可重构系统,增加了一个片上更新仲裁模块;所述多阵列可重构系统,其结构包括:片内外数据传输控制器,用于仲裁数据从外部存储器写入可重构单元共享存储器和数据从可重构单元共享存储器写出外部存储器;可重构单元共享存储器,用于存储可重构阵列运算需要的数据以及可重构阵列的计算结果;可重构计算阵列,用于进行算术逻辑运算;片上缓存模块,用于缓存可重构阵列运算需要的数据,以及可重构阵列计算的中间结果;所述片上缓存模块,其结构包括:片上初始操作数寄存器,用于存储预取的可重构阵列运算初始操作数;片上初始常数寄存器,用于存储预取的可重构阵列运算中所需常数;阵列中间数据存储器,用于存放可重构阵列计算的中间结果;输出寄存器,用于存放可重构阵列的最终输出结果; 所述片上更新仲裁模块,与所述多阵列可重构系统中的片上数据缓存模块耦合,用于对片上数据生命周期进行管理,仲裁缓存更新;其结构包括四个分别与片上初始操作数寄存器、片上初始常数寄存器、阵列中间数据存储器和输出寄存器紧耦合的自衰减更新仲裁控制器,用于对片上初始数据、阵列计算中间数据以及输出数据的生命值进行判决,一旦有数据生命终止,就向相应的缓存单元发出数据更新请求。2.根据权利要求1所述的数据缓存更新系统,其特征在于:所述片上更新仲裁模块中,四个自衰减更新仲裁控制器分别与片上缓存模块中的片上初始操作数寄存器、片上初始常数寄存器、阵列中间数据存储器和输出寄存器紧耦合,通过与片上缓存单元的数据交互,对片上数据的生命周期进行管理,仲裁缓存更新; 所述自衰减更新仲裁控制器,其结构包括:操作数生命解析单元、逻辑控制单元、数据生命周期查找表、仲裁器、数据生命周期自衰减控制单元、更新请求发送单元;所述操作数生命解析单元,用于解析输入数据的生命周期;所述逻辑控制单元,用于仲裁输入输出请求;所述数据生命周期查找表,用于存放寄存器数据生命周期;所述仲裁器,用于仲裁输入数据生命是否为零;所述数据生命周期自衰减控制单元,用于完成数据生命周期查找表的自动更新;所述更新请求发送单元,用于输出对存储单元数据进行更新的请求。3.根据权利要求2所述的数据缓存更新系统,与片上初始操作数寄存器、片上初始常数寄存器紧耦合的自衰减更新仲裁控制器的操作包含以下步骤: 从外存中读取计算阵列所需的数据,并将数据分成操作数和常数两类,其中操作数存放在相应的片上初始操作数寄存器内,常数存放在相应的片上初始常数寄存器内,转至步骤(2); (2)在可重构阵列计算过程中,自衰减更新仲裁控制器读取片上初始缓存单元中的数据,送入操作数生命解析单元,对数据生命进行解析,转至步骤(3); (3 )向逻辑控制单元发送请求,逻辑控制单元仲裁输入输出; 若输入输出请求同时发生,则优先输出,输入等待,转至步骤(6 ); 输出完成后转至步骤(4); (4)搜索数据生命周期查找表获得输入数据生命周期,其中该查找表存放在外存中,表中的数据为软件运行得到的每个数据的生命周期; 同时数据生命周期自衰减控制单元对查找表进行更新,转至步骤(5); (5)仲裁器仲裁输入数据生命是否为零,若生命值不为零,则继续读入寄存器中的数据,转至步骤(2),若生命值为零,则向逻辑控制单元发送输出请求,转至步骤(6); (6)若逻辑控制单元同意输出,则由更新请求发送单元向片上初始缓存单元发送数据更新请求,若有输入请求未响应,转至步骤(4),若无,则继续读入寄存器中的数据,转至步骤(2)。4.根据权利要求2所述的数据缓存更新系统,与阵列中间数据存储器紧耦合的自衰减更新仲裁控制器的操作包含以下步骤: (1)判断可重构阵列的计算结果是否需要共享或再次使用,若需要,则写入阵列中间数据存储器,转至步骤(2); (2)自衰减更新仲裁控制器读取阵列中间数据存储器的数据,送入操作数生命解析单元,对数据的生命进行解析,转至步骤(3); (3 )向逻辑控制单元发送请求,逻辑控制单元仲裁输入输出; 若输入输出请求同时发生,则优先输出,输入等待,转至步骤(6),输出完成后转至步骤(4); (4)搜索数据生命周期查找表获得输入数据生命周期,同时数据生命周期自衰减控制单元对查找表进行更新,转至步骤(5); (5)仲裁器仲裁输入数据生命是否为零,若生命值不为零,则继续读入寄存器中的数据,转至步骤(2),若生命值为零,则向逻辑控制单元发送输出请求,转至步骤(6); (6)若逻辑控制单元同意输出,则由更新请求发送单元向阵列中间数据存储器发送数据更新请求,若有输入请求未响应,转至步骤(4),若无,则继续读入寄存器中的数据,转至步骤(2)。5.根据权利要求2所述的数据缓存更新系统,与输出寄存器紧耦合的自衰减更新仲裁控制器的操作包含以下步骤: (1)判断可重构阵列的计算结果是否为最终输出结果,若为最终输出结果,则写入输出寄存器,转至步骤(2); (2)自衰减更新仲裁控制器读取阵列中间数据存储器的数据,送入操作数生命解析单元,对数据的生命进行解析,转至步骤(3); (3 )向逻辑控制单元发送请求,逻辑控制单元仲裁输入输出; 若输入输出请求同时发生,则优先输出,输入等待,转至步骤(6 ); 输出完成后转至步骤(4); (4)搜索数据生命周期查找表获得输入数据生命周期,同时数据生命周期自衰减控制单元对查找表进行更新,转至步骤(5); (5)仲裁器仲裁输入数据生命是否为零,若生命值不为零,则继续读入寄存器中的数据,转至步骤(2),若生命值为零,则向逻辑控制单元发送输出请求,转至步骤(6); (6)若逻辑控制单元同意输出,则由更新请求发送单元向阵列中间数据存储器发送数据更新请求,若有输入请求未响应,转至步骤(4),若无,则继续读入寄存器中的数据,转至步骤(2)。6.根据权利要求1所述的数据缓存更新系统,其特征在于:所述片上初始常数寄存器中的常数包括:LU分解算法运算中用到的消元系数,FFT算法运算中的旋转因子和FIR算法运算中的滤波系数。
【专利摘要】本申请提供了一种面向多个粗粒度动态可重构阵列的数据缓存更新系统,基于传统的多阵列可重构系统,增加了一个片上更新仲裁模块。该模块与片上数据缓存模块耦合,包括四个分别与片上初始操作数寄存器、片上初始常数寄存器、阵列中间数据存储器和输出寄存器紧耦合的自衰减更新仲裁控制器,用于对片上初始数据、阵列计算中间数据以及输出数据的生命值进行判决,一旦有数据生命终止,就向相应的缓存单元发出数据更新请求。本发明基于对片上数据生命周期进行统一管理,提供了一种片上缓存单元动态复用的实现方法,提高了大规模可重构阵列的存储利用率(其中每个数据的生命周期由软件运行得到,存放在外存中)。
【IPC分类】G06F15/78
【公开号】CN105718421
【申请号】CN201610047593
【发明人】刘波, 徐亭亭, 董薇, 龚宇, 曹鹏, 杨军
【申请人】东南大学
【公开日】2016年6月29日
【申请日】2016年1月25日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1