一种粗粒度可重构系统中的配置信息缓存装置及压缩方法

xiaoxiao2020-7-22  4

一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
【专利摘要】本发明公开了一种面向粗粒度可重构系统高存储利用率的配置信息缓存装置。其特征在于,包括配置信息输入接口、配置信息输出接口、配置信息存储单元、配置信息查找表和配置信息解析模块。其中,配置信息查找表用于标记所有当前缓存在配置信息缓存中的配置信息内核对应的索引编号;配置信息解析模块用于解析配置信息群组中所包含的配置信息内核的索引编号,并判断该索引编号是否已经存在于当前配置信息缓存的查找表中。配置信息缓存的存储和访问,分别以配置信息内核和配置信息群组为基本操作单位。并提供了相应的压缩存储方法,对于重复的配置信息内核在配置信息缓存中仅保留一份,消除了配置信息的存储冗余,从而提高了配置信息缓存的存储利用率。
【专利说明】一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
【技术领域】
[0001]本发明涉及嵌入式可重构设计领域,具体地,涉及一种粗粒度可重构系统中高存储利用率的配置信息缓存装置及配置信息压缩方法。
【背景技术】
[0002]当今市场对嵌入式终端性能、功耗、灵活性、集成度和成本等的要求越来苛刻。无论是以专用集成电路(ASIC)为代表的硬件执行方式,还是以通用处理器(GPP)为基础的软件执行方式,都很难满足上述要求。ASIC虽然具有很高的能量效率,但其针对某一特定应用或者某一特点算法设计,低下的灵活性很难满足层次不穷的应用需求,无法推广;GPP虽然具有很强的灵活想、但指令流驱动的执行方式使其整体性能和功耗并不理想。可重构处理器正是在这种背景下出现的一种新的体系结构,它通常由一个主处理器加上一组可重构硬件来组成。由于其融合了 ASIC的高效性和GPP的灵活性,故广泛应用于多媒体、通信、人工智能、数字信号处理等方面。
[0003]早期的可重构架构中计算资源较少,配置信息量也不多,简单的配置信息缓存装置已基本能满足要求,不需要对配置信息进行压缩,系统性能的高低主要由计算阵列的数据处理能力决定。然而随着各类应用的性能要求和计算复杂度越来越高,粗粒度可重构架构的计算资源也成倍增加,一些架构使用了多个可重构阵列来完成这些应用。然而,在计算资源增加的同时,重构过程所需的配置信息量也随之进一步增大,导致系统的重构开销进一步增长,严重影响系统的整体性能。如果不采用配置信息压缩方法,则需要很大的配置信息缓存开销。在粗粒度可重构系统的设计中,配置信息缓存的结构及配置信息压缩方法是其中的一项关键技术,决定了系统动态重构的效率。而传统粗粒度可重构系统中的配置信息压缩方法多是针对一套配置信息进行压缩,比如基于配置信息比特流的压缩方法。虽然采用传统的配置信息压缩方法可以降低配置信息缓存的存储开销,但是,在配置信息存储和读取过程中,需要动态的压缩和解压缩配置信息,会引入对配置信息缓存访问额外的访问延迟,从而严重降低可重构系统的动态重构性能。

【发明内容】

[0004]本发明的目的在于,针对上述问题,提出一种面向粗粒度可重构系统中高存储利用率的配置信息缓存装置及配置信息压缩方法,该方法不会引入额外的压缩/解压缩操作,不会影响配置信息缓存的访问性能,还可以提高大规模粗粒度可重构系统的配置信息缓存的存储利用率。
[0005]为实现上述目的,本发明采用的技术方案是:
一种面向粗粒度可重构系统中高存储利用率的配置信息缓存装置,包括配置信息输入接口,配置信息输出接口,配置信息存储单元,配置信息查找表,配置信息解析模块;该配置信息缓存的访问和存储基于两级配置信息组织策略,第一级配置信息为配置信息内核:对应可重构阵列的一套配置映射情况;第二级配置信息为配置信息群组:对应算法中一个完整子算法的配置信息,包括一个以上的配置信息内核;配置信息缓存的存储以配置信息内核为单位区分和存储配置信息,配置信息缓存的访问以配置信息群组为基本操作单位;
所述配置信息输入接口:用于接收外部存储器输入的配置信息群组;
所述配置信息输出接口:用于可重构阵列读取配置信息缓存内的配置信息内核;
所述配置信息存储单元:用于存储可重构阵列使用的配置信息内核;
所述配置信息查找表:用于标记所有当前缓存在配置信息缓存中的配置信息内核对应的索引编号;
所述配置信息解析模块:用于解析配置信息群组中所包含的配置信息内核的索引编号,判断该配置信息内核的索引编号是否已经存在与当前配置信息缓存的查找表中。
[0006]根据本发明的优选实施例,所述配置信息查找表,包括配置信息权重表,配置信息索引表;
所述配置信息权重表:用于记录配置信息内核被使用的次数;
所述配置信息索引表:用于记录当前以及接下来需要访问的配置信息群组的基本信息标识以及配置信息内核有效性标识。
[0007]根据本发明的优选实施例,所述的配置信息索引表,包括两部分内容:配置信息群组的基本信息标识以及配置信息内核的有效性标识;
所述配置信息群组的基本信息标识:用于表明配置信息内核的索引编号;配置信息索引表中每一行(称为表中的一个条目,条目#0表示第一行)用于标识一个配置信息群组,包含N个数据元素(数据元素O表示一行中的第一个元素),依次存储所包含的配置信息内核的索引编号;
所述配置信息内核的有效性标识:用来表明当前这个索引编号是否为一个有效的配置信息内核标识(有效位=0表示有效,有效位=1表示无效)。
[0008]以及一种面向粗粒度可重构系统中高存储利用率的配置信息缓存装置的配置信息压缩方法,其特征在于,配置信息缓存的访问方法由逻辑视图定义,以满足配置信息缓存中配置信息的存取需求;实际配置信息存储方法由物理视图定义,以获得低硬件开销、高存储利用率的片上存储。
[0009]所述逻辑视图(配置信息缓存的访问方法),配置信息缓存以配置信息群组为单位区分和存储配置信息,每个配置信息群组以读入的先后顺序,依次存储在配置信息缓存中的一行中;可重构阵列实际上是以配置信息内核为基本单位,以配置信息群组中配置信息内核的顺序,依次读取配置信息内核并映射到可重构阵列中;
所述物理视图(即实际的存储方法),配置信息缓存以配置信息内核为基本操作单位,以去除同一配置信息群组内部和不同配置信息群组之间的配置信息内核重复。
[0010]一种面向粗粒度可重构系统中高存储利用率的配置信息缓存装置的配置信息压缩方法,其特征在于,所述配置信息压缩的方法如下:当配置信息缓存需要从外部读入一个新的配置信息群组时,首先解析这个配置信息群组中所包含的配置信息内核的索引编号,如果这个配置信息内核的索引编号已经在当前缓存的查找表中,则不需要从外部读取这个配置信息内核,并缓存到配置信息缓存中,将该配置信息内核对应的配置信息权重表中的值加I;如果这个配置信息内核的索引编号不在当前缓存的查找表中,则需要从外部读取这个配置信息内核,替换到配置信息权重表中最小值对应的那套配置信息内核,同时将配置信息内核对应的配置信息权重表中的值置1,并将新的配置信息内核缓存到配置信息缓存中。如果是从配置信息缓存中读取配置信息内核到可重构阵列,则需要将配置信息内核对于的配置信息权重表中的值减I。
[0011]采用配置信息压缩方法可以去除同一配置信息群组内部和不同配置信息群组之间的配置信息内核重复。在配置信息缓存中,同一配置信息群组内部和不同配置信息群组之间所包含的所有相同的配置信息内核,只会在缓存中保存一份。这种配置信息压缩方法可以极大的消除配置信息在缓存中的存储冗余,提高配置信息缓存的存储利用率。
[0012]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0013]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0014]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明事实例所述的一种面向粗粒度可重构系统中高存储利用率的配置信息缓存的结构示意图;
图2为图1所示配置信息查找表的结构示意图;
图3为图1所示的配置信息缓存的逻辑视图和物理视图;
图4为配置信息压缩方法的流程图;
图5为配置信息权重表更新流程图;
图6本发明实施例所述的用于实现可重构系统配置压缩的微处理器应用连接图。【具体实施方式】
[0015]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0016]如图1所示,一种面向粗粒度可重构系统中高存储利用率的配置信息缓存装置,包括配置信息输入接口:用于接收外部存储器输入的配置信息群组;配置信息输出接口:用于可重构阵列读取配置信息缓存内的配置信息内核;配置信息存储单元:用于存储可重构阵列使用的配置信息内核;配置信息查找表:用于标记所有当前缓存在配置信息缓存中的配置信息内核对应的索引编号;配置信息解析模块:用于解析配置信息群组中所包含的配置信息内核的索引编号,判断该配置信息内核的索引编号是否已经存在与当前配置信息缓存的查找表中。其中,用于标记所有当前缓存在配置信息缓存中的配置信息内核对应的索引编号的配置信息查找表,如图2所示,包括配置信息权重表:用于记录配置信息内核被使用的次数;配置信息索引表:用于记录当前以及接下来需要访问的配置信息群组的基本信息标识以及配置信息内核有效性标识。配置信息索引表中每一行(称为表中的一个条目,条目#0表示第一行)用于标识一个配置信息群组,包含N个数据元素(数据元素O表示一行中的第一个元素),依次存储所包含的配置信息内核的索引编号。
[0017]配置信息缓存的访问方法由逻辑视图定义如图3 Ca)所示,以满足配置信息缓存中配置信息的存取需求;实际配置信息存储方法由物理视图定义如图3 (b)所示,以获得低硬件开销、高存储利用率的片上存储。在图3 (a)中,第η次读取的配置信息群组标记为配置信息群组#η,它包括了以下4个顺序执行的配置信息内核:配置信息内核#0、配置信息内核#1、配置信息内核#0、配置信息内核#4。其中配置信息内核#0对应的配置信息需要被执行两次。如图3 (b)所示(即实际的存储方法):配置信息缓存以配置信息内核为基本操作单位,以去除同一配置信息群组内部和不同配置信息群组之间的配置信息内核重复。
[0018]如图4所示,配置信息的压缩流程包括如下2个步骤:
(O从外部存储器读取配置信息群组到配置信息缓存中;
(2)配置信息解析模块解析配置信息群组所包含的配置信息内核的索引编号,判断这些索引编号是否存在于配置信息查找表中,如果索引编号存在于当前配置信息查找表中,则不需要从外部存储器读取索引编号对应的配置信息内核;否则需要从外部存储器读取该套配置信息内核,并缓存在配置信息缓存中。
[0019]如图5所示,配置信息权重表的更新流程包括:
(1)首先判断外部存储器发送配置信息内核到配置信息缓存还是可重构阵列从配置信息缓存中读取配置信息内核;
(2)如果是外部存储器发送配置信息内核到配置信息缓存,则需要判断该配置信息内核是否在配置信息缓存中,如果在,则将配置信息内核对应的权重值加1,更新配置信息权重表;如果不在,则替换掉配置信息权重值最小的那套配置信息内核,并将新配置信息内核对应的权重值置1,更新配置信息权重表。如果是可重构阵列从配置信息缓存中读取配置信息内核,则将被读取的配置信息内核对应的配置信息权重表中的值减1,更新配置信息权重表。
[0020]如图6所示,H.264协议的高清数字视频解码(H.264 1080pi30fps HiPiLevel4)采用了本文所提出的一种面向可重构系统中高存储利用率的配置信息缓存装置及配置信息压缩方法方法,能够实现H.264 1080pi30fps [email protected]的高清视频解码要求。该系统的结构包括:用作主控器的ARM7TDMI处理器、配置信息缓存、可重构阵列、AHB总线、DDR2SDRAM。选择具有小型、快速、低能耗、编译器支持好等优点的ARM7TDMI处理器作为主控CPU,用于控制系统运行的调度;配置信息缓存通过32bit的AHB总线与外部存储器相连接,外部存储器选用最常用的嵌入式外部存储器DDR2 SDRAM,支持64bit的数据访问位宽,具有良好的性价比以及能耗比;配置信息缓存与可重构阵列之间的配置信息传输接口的位宽为512bit。该系统共有8个可重构阵列,每个可重构阵列均含有8X8个可重构计算单元。对于该验证系统,对应的每个配置信息内核的大小为2Kbit,配置信息缓存的容量为32Kbytes。配置信息查找表中有64个条目,每个条目最多包含8个数据元素;索引编号的值由9位来表示,可以支持512套不同的配置信息内核。
[0021]作为对比实验,设直了对比验证系统1、对比验证系统2。其中,对比验证系统I中,基于上述系统,去除配置信息查找表,不采用配置信息压缩方法,配置信息缓存总容量为32Kbytes。对比验证系统2中,基于上述系统,配置信息压缩方法采用传统设计中常用的基于比特流的LZSS-ARC动态压缩方法。实验结果表明,采用本发明提出的面向可重构系统中高存储利用率的配置信息缓存装置及配置信息压缩方法,可以将配置信息缓存的存储开销降低为对比验证系统I的54.4%,同时获得与对比验证系统I相同的配置信息缓存的访问性能;与对比验证系统2相比,配置信息缓存的存储开销增加了 8%,但配置信息缓存的访问性能提升了 47%。
[0022]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种粗粒度可重构系统中的配置信息缓存装置,其特征在于,包括配置信息输入接口、配置信息输出接口、配置信息存储单元、配置信息查找表和配置信息解析模块;该配置信息缓存的访问和存储基于两级配置信息组织策略,第一级配置信息为配置信息内核:对应可重构阵列的一套配置映射情况;第二级配置信息为配置信息群组:对应算法中一个完整子算法的配置信息,包括一个以上的配置信息内核;配置信息缓存的存储以配置信息内核为单位区分和存储配置信息,配置信息缓存的访问以配置信息群组为基本操作单位; 所述配置信息输入接口:用于接收外部存储器输入的配置信息群组; 所述配置信息输出接口:用于可重构阵列读取配置信息缓存内的配置信息内核; 所述配置信息存储单元:用于存储可重构阵列使用的配置信息内核; 所述配置信息查找表:用于标记所有当前缓存在配置信息缓存中的配置信息内核对应的索引编号; 所述配置信息解析模块:用于解析配置信息群组中所包含的配置信息内核的索引编号,判断该配置信息内核的索引编号是否已经存在与当前配置信息缓存的查找表中。
2.根据权利要求1所述的配置信息缓存装置,其特征在于,所述配置信息查找表包括配置信息权重表和配置信息索引表; 所述配置信息权重表:用于记录配置信息内核被使用的次数; 所述配置信息索引表:用于记录当前以及接下来需要访问的配置信息群组的基本信息标识以及配置信息内核 有效性标识。
3.根据权利要求2所述的配置信息缓存装置,其特征在于,所述配置信息索引表包括两部分内容:配置信息群组的基本信息标识以及配置信息内核的有效性标识; 所述配置信息群组的基本信息标识:用于表明配置信息内核的索引编号;配置信息索引表中每一行用于标识一个配置信息群组,包含N个数据元素,依次存储所包含的配置信息内核的索引编号;其中,所述配置信息索引表中的每一行称为表中的一个条目,条目#0表示第一行,所述数据元素O表示一行中的第一个元素; 所述配置信息内核的有效性标识:用来表明当前这个索引编号是否为一个有效的配置信息内核标识(有效位=O表示有效,有效位=1表示无效)。
4.一种利用权利要求1至3中任意一项所述的配置信息缓存装置的配置信息压缩方法,其特征在于,配置信息缓存的访问方法由逻辑视图定义,以满足配置信息缓存中配置信息的存取需求;实际配置信息存储方法由物理视图定义; 所述逻辑视图:配置信息缓存以配置信息群组为单位区分和存储配置信息,每个配置信息群组以读入的先后顺序,依次存储在配置信息缓存中的一行中;可重构阵列实际上是以配置信息内核为基本单位,以配置信息群组中配置信息内核的顺序,依次读取配置信息内核并映射到可重构阵列中; 所述物理视图:配置信息缓存以配置信息内核为基本操作单位,以去除同一配置信息群组内部和不同配置信息群组之间的配置信息内核重复。
5.根据权利要求4所述的配置信息压缩方法,其特征在于,所述配置信息压缩的方法具体包括:当配置信息缓存需要从外部读入一个新的配置信息群组时,首先解析这个配置信息群组中所包含的配置信息内核的索引编号,如果这个配置信息内核的索引编号已经在当前缓存的查找表中,则不需要从外部读取这个配置信息内核,并缓存到配置信息缓存中,将该配置信息内核对应的配置信息权重表中的值加I;如果这个配置信息内核的索引编号不在当前缓存的查找表中,则需要从外部读取这个配置信息内核,替换到配置信息权重表中最小值对应的那套配置信息内核,同时将配置信息内核对应的配置信息权重表中的值置1,并将新的配置信息内核缓存到配置信息缓存中,如果是从配置信息缓存中读取配置信息内核到可重构阵列,则需要将配置信息内核对于的配置信息权重表中的值减I。
【文档编号】G06F17/30GK103914404SQ201410177912
【公开日】2014年7月9日 申请日期:2014年4月29日 优先权日:2014年4月29日
【发明者】曹鹏, 刘波, 张亚, 刘炎, 朱婉瑜, 杜月 申请人:东南大学

最新回复(0)