一种基于粗粒度动态可重构系统的多模式数据访问装置及办法

文档序号:6538629阅读:134来源:国知局
一种基于粗粒度动态可重构系统的多模式数据访问装置及办法
【专利摘要】本发明公开了一种基于粗粒度动态可重构系统的多模式数据访问结构,包括外部存储器,存储所有需要的数据;外部存储器接口,用于建立通信;片上数据缓存器,暂存可重构阵列最近使用的数据;二维数据转换模块,从片上数据缓存器读取数据,根据微处理器发出的数据地址和控制信号,选择数据转换模式并将转换后的数据传入阵列输入先入先出寄存器堆;阵列输入先入先出寄存器堆,接收模式转换后的数据并传给可重构阵列;微处理器,发出数据转换模式控制信号。并提出了相应的数据访问管理办法,通过多模式访问,先对数据处理、整形,再将数据传给可重构阵列,以减少可重构阵列数据访问延迟,提高可重构系统计算性能。
【专利说明】一种基于粗粒度动态可重构系统的多模式数据访问装置及办法
【技术领域】
[0001]本发明涉及嵌入式可重构设计领域,具体地,涉及一种基于粗粒度动态可重构系统的多模式数据访问装置及其管理办法。
【背景技术】
[0002]随着现场可编程门阵列可重构技术的出现,传统的嵌入式设计方法有了很大的改变。可重构计算作为一种新型时空域的计算模式,在嵌入式和高性能的计算领域具有广泛地应用前景,已经成为当前嵌入式系统发展的趋势。局部动态可重构技术的发展,代表了一种新的可重构设计思想,大多由可重构硬件和管理硬件功能重构的可重构配置控制单元构成。
[0003]近年来,可重构计算已经广泛地应用于各类工程应用领域中,主要包括:视频图像处理、数字信号处理、无线通信、数据加密等。随着各类软件应用的要求越来越高,相应的,对可重构系统的性能要求也越来越高。可重构系统中片上数据最终是需要由可重构阵列内的基本计算阵列进行处理。将片上数据高效的传输至基本计算阵列或者在传输至基本计算阵列之前进行预处理,可有效提高可重构系统的性能。系统对外部存储器的访问,需按照地址对齐进行访问,一般按照32bit或者64bit对齐。而媒体算法中的每个像素为8bit,且媒体算法按照像素进行处理。因此,按照像素处理的媒体算法,从片外存储器访问的数据有可能需要经过处理之后才能作为计算单元的有效输入数据。所有媒体算法中,在进行重建图像时,需要将离散余弦逆变换后的二维数据块和运动补偿或者内部的二维数据块输入到阵列,进行相加得到重建图像;又如媒体算法傅里叶变换中进行蝶形运算时,需要将一些阵列的旋转因子二维数据块通过一定的方式进行组织好,以减少计算前的数据准备时间。
[0004]可重构计算阵列资源的有限也使得任务在映射时需要将计算得到的多个中间数据块同时进行处理。如有些计算阵列大小为为4X4,还有一些计算阵列大小为8X8,大多数任务很难通过一张子图映射到阵列中,需将任务划分为多个子图,因此考虑到阵列资源的利用效率及并行效率,可将任务划分为多个子图,再将数据进行处理。
[0005]综上所述,面向媒体应用的可重构系统中片上存储单元的访问机制设计需要考虑到以下特点:1)有效数据提取;2)同时参与计算的多个二维数据块。

【发明内容】

[0006]本发明的目的在于,针对上述需要考虑的特点,提出一种基于粗粒度动态可重构系统的多模式数据访问装置及其管理办法,通过多模式访问,预先对数据进行处理,并且以一定的方式将数据从片上存储单元传递到可重构阵列中,以减少片上数据到阵列的访问延迟,提高可重构系统的计算性能。
[0007]为实现上述目的,本发明采用的技术方案是:
一种基于粗粒度动态可重构系统的多模式数据访问装置及其管理方法,包括外部存储器,外部存储器接口,片上数据缓存器,二维数据转换模块,阵列输入先入先出寄存器堆,微处理器;
所述外部存储器:用于存储被某个或某几个可重构阵列使用的数据信息;
所述外部存储器接口:提供对外部存储器的读写接口,并且可以配置相关寄存器灵活实现对不同外部存储器的操作;
所述片上缓存器:用于暂存可重构阵列使用的数据;
所述二维数据转换模块:用于读取片上数据缓存器的数据信息,同时根据微处理器发出的控制信号,选择不同的数据转换模式并将转换后的数据传入阵列输入先入先出寄存器堆;
所述阵列输入先入先出寄存器堆:用于暂存二维数据转换模块转换后的数据;
所述微处理器:用于发给二维数据转换模块控制信号,二维数据转换模块利用控制信号选择不同的数据转换模式和解析有效数据块。
[0008]根据本发明的优选实施例,所述二维数据转换模块,包括数据转换模式控制器,转换数据缓存器;
所述数据转换模式控制器:用于根据微处理器发出的数据地址信息及控制信号选择合适的转换模式并进行数据转换;
所述转换数据缓存器:用于缓存二维数据转换模块转换后的数据块。
[0009]根据本发明的优选实施例,所述转换数据缓存器,包括缓存接口,转换数据缓存单元,缓存阵列接口 ;
所述缓存接口:用于片上缓存器与转换数据缓存单元之间的传输数据;
所述转换数据缓存单元:用于暂存规整后的数据块;
所述缓存阵列接口:用于转换数据缓存单元与阵列输入先入先出寄存器堆之间的数据传输。
[0010]根据本发明的优选实施例,所述数据模式转换控制器,包括数据转换模式选择模块,数据地址信息解析模块;
所述数据转换模式选择模块:用于根据微处理器发来的控制信号选择不同的数据转换模式,包括基本转换模式、单源二维数据转换模式、双源二维数据转换模式;其中,基本转换模式:用于根据数据块的起始地址和长度信息直接将一段二维数据块传输到转换数据缓存单元中;单源二维数据转换模式:用于根据数据信息的起始地址、长度、偏移量、高度以及连接参数等特征将一段数据块按照既定的顺序进行规整,并将规整后的数据块传输到转换数据缓存单元中;双源二维数据转换模式:用于根据两段不同数据块的起始地址、长度、高度以及连接参数等特征将两个数据块按照既定的顺序进行规整,并将规整后的数据块传输到转换数据缓存单元中;
所述数据地址信息解析模块:用于根据微处理器发送的控制信号解析出有效数据块的长度、偏移量、高度以及连接参数等特征。
[0011]以及一种基于粗粒度动态可重构系统的多模式数据访问装置及其管理办法,在片上数据缓存器与阵列输入先入先出寄存器堆之间加入了一个二维数据转换模块,二维数据转换模块可根据微处理器发送的控制信号来选择数据转换模式、解析数据块并对数据块进行转换,然后将转换后的数据块发送到阵列输入先入先出寄存器堆中,最后由阵列输入先入先出寄存器堆将数据发送给可重构阵列,具体步骤包括:
(1)可重构阵列向微处理器发出数据请求;
(2)微处理器向二维数据转换模块发出控制信号;
(3)二维数据转换模块根据控制信号选择转换模式,如果是基本转换模式,则根据控制信息将数据块直接传输到转换数据缓存单元,转至步骤(6);否则,继续步骤(4);
(4)如果是单源二维数据转换模式,则根据控制信息将数据整形后传输到转换数据缓存单元,转至步骤(6);否则,继续步骤(5);
(5 )在双源二维数据转换模式下,根据控制信息将两个二维数据块合并、整形后传输到转换数据缓存单元;
(6)将转换后的数据块发给阵列输入先入先出寄存器堆;
(7)阵列输入先入先出寄存器堆将数据发给可重构阵列。
[0012]本发明的技术方案通过提供一种基于粗粒度动态可重构系统的多模式数据访问装置及其管理办法,使得可重构系统能够高效地获取片上数据,克服了传统的可重构系统中获取数据延迟时间长的缺点,从而提高了复杂可重构系统的片上数据访问速度。
[0013]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0014]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0015]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实例所述的基于粗粒度动态可重构系统的多模式数据访问管理方法示意图;
图2为二维数据转换模块结构示意图;
图3为数据转换模式控制器结构示意图;
图4为本发明实施例所述的基本转换模式的示意图;
图5为本发明实施例所述的单源二维数据转换模式的示意图;
图6为本发明实施例所述的双源二维数据转换模式的示意图;
图7为本发明实例所述的基于粗粒度动态可重构系统的多模式数据访问装置示意图。
【具体实施方式】
[0016]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0017]如图1所示,基于粗粒度动态可重构系统的多模式数据访问装置,包括:外部存储器:用于存储可能被某个或某几个可重构阵列使用的数据信息;外部存储器接口:提供对外部存储器的读写接口,并且可以配置相关寄存器灵活实现对不同外部存储器的操作;片上数据缓存器:用于暂存可重构阵列使用的数据信息;二维数据转换模块:用于读取片上数据缓存器的数据信息,同时根据微处理器发出的数据地址信息和控制信号,决定不同的数据转换模式并将转换后的数据传入阵列输入先入先出寄存器堆;阵列输入先入先出寄存器堆:用于接收来自二维数据转换模块转换后的数据信息并将数据信息传送给可重构阵列;微处理器:发出数据转换模式控制信号和数据地址信息。
[0018]其中,二维数据转换模块的硬件结构,如图2所示,包括数据转换模式控制器:用于根据微处理器发出的数据地址信息及控制信号选择合适的转换模式并进行数据转换;转换数据缓存器:用于缓存二维数据转换模块转换后的数据块。
[0019]如图3所示,数据转换模式控制器包括数据转换模式选择模块:根据微处理器发来的控制信号来决定不同的数据转换模式;数据地址信息解析模块:根据微处理器发来的控制信号和数据地址信息,并解析出数据块的长度,偏移量,高度以及连接参数等特征。
[0020]如图4所示,基本转换模式,将一段连续的二维数据块传递到阵列输入先入先出寄存器堆中,在此模式下,主要参数为数据块起始地址和数据块的长度。
[0021]如图5所示,单源二维数据转换模式,此模式主要是在需要读取一个二维数据块中的有效数据块而设置的。需要取得有效数据块的情况在媒体应用中很普遍。例如运动补偿算法中,基于1/4像素点的6抽头滤波技术的采用,造成了插值分像素点时需要取参考帧时比当前宏块大小多5行或者5列数据,如子块8X8,其预测模式为(3,3)时,需要取参考中贞数据大小为13 X 13,而实际总线位览为64bit的系统中,经过64bit对齐之后,在最坏情况下读出的参考帧数据大小可能为3 X (64bit) X 13。因此,运动补偿算法进行运算前需要将以64bit为单位的3 X 13数据进行处理,将其中的有效数据13X 13bytes提取出来,进而对有效数据进行计算。因而,在计算阵列工作前,需要对媒体二维数据进行预处理,提取有效数据。同时可将其按照一定的方式规整,使其最高效的传输至计算阵列,从而最大化提高数据带宽。
[0022]因此,在单源二维数据转换模式中,通过五个参数来控制二维数据块的转换:起始地址、偏移量、长度、高度以及连接参数。通过起始地址和偏移量来标识二维数据块的位置,长度和高度来标识二维数据块的形状,而通过连接参数表明如何将二维数据块中的数据进行规整后发送至阵列输入先入先出寄存器堆中。
[0023]如图6所示,双源二维数据转换模式,与单源二维数据转换模式不同的是,双源二维数据转换模式则是同时将两个二维数据块按照一定的方式排列好,然后发送至阵列输入先入先出寄存器堆中。由于多媒体算法内的数据特点,例如重建图像数据,或者映射原则导致的需要同时将不同的中间结果进行处理,这时利用双源二维数据转换模式就可以将数据高效的传输至阵列输入先入先出寄存器堆中。
[0024]如图7所示,基于粗粒度动态可重构系统的多模式数据访问管理方法,包括6个步骤:
(1)可重构阵列向微处理器发出数据请求;
(2)微处理器向二维数据转换模块发出控制信号;
(3)二维数据转换模块根据控制信号选择转换模式,如果是基本转换模式,则根据控制信息将数据块直接传输到转换数据缓存单元,转至步骤(6);否则,继续步骤(4);
(4)如果是单源二维数据转换模式,则根据控制信息将数据整形后传输到转换数据缓存单元,转至步骤(6);否则,继续步骤(5);
(5 )在双源二维数据转换模式下,根据控制信息将两个二维数据块合并、整形后传输到转换数据缓存单元;
(6)将转换后的数据块发给阵列输入先入先出寄存器堆;
(7)阵列输入先入先出寄存器堆将数据发给可重构阵列。
[0025]如图1所示,H.264协议的高清数字视频解码(H.264 1080pi30fps HiPiLevel4)采用了本文所提出的面向媒体处理的可重构系统中基于粗粒度动态可重构系统的多模式数据访问装置及管理方法,能够快速实现札264 1080pi30fps HiP@LeVel4的高清视频解码要求。该系统的结构包括:用作主控器的ARM7TDMI处理器、外部存储器、外部存储器接口、片上数据缓存器、二维数据转换模块、可重构阵列、阵列输入先入先出寄存器堆。选择具有小型、快速、低能耗、编译器支持好等优点的ARM7TDMI处理器作为主控CPU,用于控制系统运行的调度;片上数据缓存器通过外部存储器接口与外部存储器相连接,外部存储器选用最常用的嵌入式外部存储器DDR SDRAM,支持64bit的数据访问位宽,具有良好的性价比以及能耗比;RCA共有8个,每个RCA均含有8 X 8个PE。二维数据转换模块包含数据转换模式控制器和转换数据缓存器,转换数据缓存器中缓存单元位宽32bit,容量为10KB。阵列输入先入先出寄存器堆包含256个FIFO单元,FIFO单元位宽32bit。
[0026]作为对比实验,设置了一个对比验证系统,与上述验证系统的区别在于去除了在片上数据缓存器与阵列输入先入先出寄存器堆之间的二维数据转换模块。实验结果表明,采用本发明提出的面向媒体处理的可重构系统中基于粗粒度动态可重构系统的多模式数据访问装置及管理方法,对于利用基本转换模式,减少13.20%的数据访问延迟,对于利用单源二维数据转换模式,减少32%的数据访问延迟,对于利用双源二维数据转换模式,减少20.70%的数据访问延迟。上述结果表明,多模式访问机制对于以二维数据处理为基础媒体应用,在数据传输方面起到了很大的作用,在一定程度上保证了可重构阵列对片上数据访问性能的需求。
[0027]综上所述,通过在片上数据缓存器与阵列输入先入先出寄存器堆之间增加一个二维数据转换模块,可以高效的将片上数据加载到可重构阵列,减少片上数据到可重构阵列的访问延迟。
[0028]其中可重构阵列(Reconfigurable Computing Array)简称RCA ;基本运算单兀(Processing Element)简称 PE ;先入先出寄存器堆(First In First Out)简称 FIFO。
[0029]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于粗粒度动态可重构系统的多模式数据访问装置,其特征在于,包括外部存储器,外部存储器接口,片上数据缓存器,二维数据转换模块,阵列输入先入先出寄存器堆,微处理器; 所述外部存储器:用于存储被某个或某几个可重构阵列使用的数据信息; 所述外部存储器接口:提供对外部存储器的读写接口,并且可以配置相关寄存器灵活实现对不同外部存储器的操作; 所述片上缓存器:用于暂存可重构阵列使用的数据; 所述二维数据转换模块:用于读取片上数据缓存器的数据信息,同时根据微处理器发出的控制信号,选择不同的数据转换模式并将转换后的数据传入阵列输入先入先出寄存器堆; 所述阵列输入先入先出寄存器堆:用于暂存二维数据转换模块转换后的数据; 所述微处理器:用于发给二维数据转换模块控制信号,二维数据转换模块利用控制信号选择不同的数据转换模式和解析有效数据块。
2.根据权利要求1所述的多模式数据访问装置,其特征在于,所述二维数据转换模块包括数据转换模式控制器,转换数据缓存器; 所述数据转换模式控制器:用于根据微处理器发出的数据地址信息及控制信号选择合适的转换模式并进行数据转换; 所述转换数据缓存器:用于缓存二维数据转换模块转换后的数据块。
3.根据权利要求2所述的多模式数据访问装置,其特征在于,所述转换数据缓存器包括缓存接口,转换数据缓存单元,缓存阵列接口 ; 所述缓存接口:用于片上缓存器与转换数据缓存单元之间的传输数据; 所述转换数据缓存单元:用于暂存规整后的数据块; 所述缓存阵列接口:用于转换数据缓存单元与阵列输入先入先出寄存器堆之间的数据传输。
4.根据权利要求2所述的多模式数据访问装置,其特征在于,所述数据模式转换控制器包括数据转换模式选择模块,数据地址信息解析模块; 所述数据转换模式选择模块:用于根据微处理器发来的控制信号选择不同的数据转换模式,包括基本转换模式、单源二维数据转换模式、双源二维数据转换模式;其中,基本转换模式:用于根据数据块的起始地址和长度信息直接将一段二维数据块传输到转换数据缓存单元中;单源二维数据转换模式:用于根据数据信息的起始地址、长度、偏移量、高度以及连接参数等特征将一段数据块按照既定的顺序进行规整,并将规整后的数据块传输到转换数据缓存单元中;双源二维数据转换模式:用于根据两段不同数据块的起始地址、长度、高度以及连接参数等特征将两个数据块按照既定的顺序进行规整,并将规整后的数据块传输到转换数据缓存单元中; 所述数据地址信息解析模块:用于根据微处理器发送的控制信号解析出有效数据块的长度、偏移量、高度以及连接参数等特征。
5.一种利用权利要求1-4中任意一项权利要求所述的基于粗粒度动态可重构系统的多模式数据访问装置的多模式数据访问办法,其特征在于,在片上数据缓存器与阵列输入先入先出寄存器堆之间加入了一个二维数据转换模块,二维数据转换模块可根据微处理器发送的控制信号来选择数据转换模式、解析数据块并对数据块进行转换,然后将转换后的数据块发送到阵列输入先入先出寄存器堆中,最后由阵列输入先入先出寄存器堆将数据发送给可重构阵列,具体步骤包括: (1)可重构阵列向微处理器发出数据请求; (2)微处理器向二维数据转换模块发出控制信号; (3)二维数据转换模块根据控制信号选择转换模式,如果是基本转换模式,则根据控制信息将数据块直接传输到转换数据缓存单元,转至步骤(6);否则,继续步骤(4); (4)如果是单源二维数据转换模式,则根据控制信息将数据整形后传输到转换数据缓存单元,转至步骤(6);否则,继续步骤(5); (5 )在双源二维数据转换模式下,根据控制信息将两个二维数据块合并、整形后传输到转换数据缓存单元; (6)将转换后的数据块发给阵列输入先入先出寄存器堆; (7)阵列输入先入先出`寄存器堆将数据发给可重构阵列。
【文档编号】G06F13/16GK103778086SQ201410062769
【公开日】2014年5月7日 申请日期:2014年2月24日 优先权日:2014年2月24日
【发明者】刘波, 曹鹏, 庄德坤, 朱婉瑜, 肖建, 杨军 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1