本发明涉及嵌入式可重构设计领域,具体地,涉及一种用于动态可重构阵列计算系统的自适硬件预配置控制器。
背景技术:
随着微电子技术的迅速发展,各个应用领域对计算平台的要求也不断提高。传统的专用集成电路计算虽然具有很高的能效比,但高度的定制性使得其灵活性不足。DSP处理器虽然具有很强的灵活性,但由于有限的运算单元个数使其性能无法满足要求。可重构计算作为一种新型的计算模式,获得了越来越广泛的关注,其主要的应用领域包括多媒体处理、移动通信、数字信号处理、数据加解密等。可重构计算实质上是通过利用对硬件资源进行多次重复配置的特性,在运行时动态地改变系统的电路结构,再加之大量的计算资源,使其兼顾高性能、灵活、硬件资源可复用等优点。可重构系统大多由可重构计算资源、存储资源和具有硬件管理功能的配置控制单元构成的。配置控制单元可通过动态调度和更新配置信息,将不同应用领域上的不同计算任务映射到可重构计算单元上。
由于可重构阵列内部具有多个计算单元,只有充分挖掘算法的并行度,在有限的阵列规模和路由结构上完成算法的映射才能不影响硬件的加速比。由于不同算法计算特征的差异,单一的可重构计算结构不能满足不同算法的需求,从而导致阵列内部计算单元的执行效率较低,其主要原因是阵列路由及规模等方面,无法满足算法的特征,导致阵列利用率低。
技术实现要素:
发明目的:针对现有技术中存在的问题与不足,本发明提供一种用于动态可重构阵列计算系统的自适硬件预配置控制器,通过对阵列的规模和路由结构进行预配置,选择最优阵列架构,大大提高系统的灵活性和性能。
技术方案:一种用于动态可重构阵列计算系统的自适硬件预配置控制器,通过多个计算逻辑共同组成一个完整的最优架构选择器,并向阵列发送相应的预配置信息,对阵列的规模和路由结构进行预配置,使得可重构阵列计算架构在灵活度和专用性能上达到更好的平衡。
基于传统动态可重构阵列计算系统中的动态可重构计算阵列和阵列配置信息控制器,增加了一个用于预先配置阵列规模和路由结构的自适硬件预配置控制器。所述的自适硬件预配置控制器可以根据主控控制器输入的应用类型和参数,通过阵列规模计算逻辑将动态可重构计算阵列配置为四种不同的规模模式,通过路由结构计算逻辑将动态可重构计算阵列配置为四种不同的路由模式。通过不同的预配置,使动态可重构阵列计算系统在不同应用场景下均可以高效运行。
所述的自适硬件预配置控制器,其结构包括:阵列规模计算逻辑,路由结构计算逻辑,预配置信息缓存单元,预配置信息发送控制单元和预配置信息输出接口;
所述的阵列规模计算逻辑:用于计算特定应用场景在不同阵列规模模式下的计算周期数,并选取性能最优的阵列规模;
所述的路由结构计算逻辑:用于计算特定应用场景在不同阵列路由模式下的流水线气泡周期数,并选取性能最优的路由结构;
所述的预配置信息缓存单元:用于存储不同阵列规模模式和路由模式组合下的阵列架构对应的预配置信息;
所述的预配置信息发送控制单元:用于根据阵列规模计算逻辑和路由结构计算逻辑的选择结果控制预配置信息输出接口将预配置信息缓存单元中最优阵列规模模式和最优路由模式组合而成的最优阵列架构所对应的预配置信息发送到某个或某几个动态可重构计算阵列;
所述的预配置信息输出接口:用于输出所选取的预配置信息缓存单元中的预配置信息。
所述的自适硬件预配置控制器应用于可重构阵列计算系统中,可重构阵列计算系统包括主控控制器、片上存储器、系统总线、N(N>=1,N为正整数)个动态可重构计算阵列、阵列配置信息控制器和自适硬件预配置控制器。
所述的主控控制器,用作系统的主控核,通过系统总线分别与动态可重构计算阵列、阵列配置信息控制器和自适硬件预配置控制器相连,发送指令控制动态可重构阵列计算系统的运行;
所述的片上存储器,用于存储可重构阵列计算系统所需要的计算数据以及配置信息;
所述的自适硬件预配置控制器,用于根据主控控制器输入的应用类型和参数对动态可重构计算阵列的阵列规模模式和路由模式进行选择,同时将组合后最优架构所对应的配置信息发送至某个或某几个动态可重构计算阵列,完成对阵列规模和路由结构的预配置;
根据应用类型和参数,通过阵列规模计算逻辑计算特定应用场景在不同阵列规模模式下的计算周期数,并选取性能最优的阵列规模;通过路由结构计算逻辑计算特定应用场景在不同阵列路由模式下的流水线气泡周期数,并选取性能最优的路由结构;预配置信息发送控制单元根据阵列规模计算逻辑和路由结构计算逻辑的选择结果控制预配置信息输出接口将预配置信息缓存单元中最优阵列规模模式和最优路由模式组合而成的最优阵列架构所对应的预配置信息发送到某个或某几个动态可重构计算阵列,完成对阵列规模和路由结构的预配置;
所述的动态可重构计算阵列,用作可重构系统的计算核心,可通过自适硬件预配置控制器的预配置信息输出接口将配置信息加载至动态可重构计算阵列内部,完成对阵列自身结构和内部计算单元计算功能的配置;
所述的阵列配置信息控制器,用于针对具体应用场景对已经预配置过的某个或某几个动态可重构计算阵列的每个计算单元的数据输入、计算操作、数据输出等进行配置,完成算子映射。
进一步的,所述的动态可重构计算阵列,可由自适硬件预配置控制器将其配置成4种阵列规模模式:模式一:每个阵列内包含8*8个计算单元,模式二:每个阵列内包含4*8个计算单元,模式三:每个阵列内包含2*8个计算单元,模式四:每个阵列内包含4*4个计算单元,以完成不同算法数据流图的切割及映射,提高计算资源利用率。
阵列规模计算逻辑的预配置方式的调用选择主要基于以下公式实现:
计算周期数=核心迭代计算单元计算周期数×迭代计算次数+循环前缀后缀
在判断中,将四种不同规模下的计算周期数进行对比,选择周期数最小的阵列规模并发送相应的阵列规模硬件参数给预配置信息发送控制单元,以调用相应预配置信息,对阵列规模进行预配置。
路由结构模式包含以下四种:路由模式一:总线互联结构;路由模式二:邻近互联结构;路由模式三:行列跨步互联结构;路由模式四:层次网状互联结构。
其中,路由结构计算逻辑的预配置方式调用选择主要基于以下公式实现:
在判断中,将四种不同路由结构的流水气泡周期数进行对比,选择周期数最小的路由结构并发送相应的阵列路由结构硬件参数给自适硬件预配置控制器的预配置信息发送控制单元,以调用相应的预配置信息,对阵列路由进行预配置。
进一步的,所述的主控控制器输入的应用类型包括快速傅里叶变换、有限冲激响应滤波和矩阵运算;所述的主控控制器输入的参数包括应用类型的计算规格、流水线关键路径计算类型和计算单元间数据传输需求。
附图说明
图1为动态可重构阵列计算系统的结构框架图;
图2为自适硬件预配置控制器的结构框架图;
图3为动态可重构计算阵列4种阵列规模的模式图;
图4为动态可重构计算阵列4种路由结构的模式图;
图5为自适硬件预配置控制器的工作流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,动态可重构阵列计算系统的框架结构,优选的,以4个动态可重构计算阵列为例,包括:主控控制器,用作系统的主控核,通过系统总线分别与4个动态可重构计算阵列、阵列配置信息控制器和自适硬件预配置控制器相连,发送指令控制动态可重构阵列计算系统的运行;
动态可重构计算阵列,用作可重构系统的计算核心,可通过自适硬件预配置控制器的预配置信息输出接口将预配置信息加载至内部,进行对阵列自身规模、计算单元间的路由结构进行预配置,继而对每个计算单元功能进行配置;自适硬件预配置控制器,用于对动态可重构计算阵列的阵列规模和路由结构进行动态组合,选择并发送最优阵列架构对应的预配置信息至动态可重构计算阵列;阵列配置信息控制器,用于针对特定应用场景的具体算子对动态可重构计算阵列的每个计算单元的数据来源、计算功能及计算结果的输出进行配置,完成算子映射。
其中,自适硬件预配置控制器的硬件结构,如图2所示,由阵列规模计算逻辑,路由结构计算逻辑,预配置信息缓存单元、预配置信息发送控制单元和预配置信息输出接口紧耦合组成;
阵列规模计算逻辑:用于计算特定算子在4种阵列规模下的计算周期数,比较后选择性能最优的阵列规模,并发送相应的阵列规模选择信号给预配置信息发送控制单元;路由结构计算逻辑:用于计算特定算子在4种路由结构下的无法传输的数据个数和暂存寄存器并发数据个数之商,即流水线气泡周期数,比较后选择性能最优路由结构,并发送相应的路由结构选择信号给预配置信息发送控制单元;预配置信息缓存单元:用于存储所有阵列规模和路由结构组合下的阵列架构的预配置信息;预配置信息发送控制单元:用于根据阵列规模计算逻辑和路由结构计算逻辑的选择结果控制预配置信息输出接口将预配置信息缓存单元中阵列规模和路由结构的最优组合所对应的预配置信息发送到某个或某几个动态可重构计算阵列;预配置信息输出接口用于输出所选取的预配置信息。
阵列规模计算逻辑可针对具体的应用场景及计算性能需求调用4种不同模式阵列规模所对应的预配置信息,以将某个或某几个动态可重构计算阵列预配置为相应的阵列规模。如图3和图4所示,图3和图4分别为动态可重构计算阵列规模及路由结构的模式图,其中阵列规模包括:8*8、4*8、2*8和4*4四种模式,路由结构包括总线互联结构,邻近互联结构,行列跨步互联结构和层次网状互联结构四种模式。其中,阵列规模计算逻辑的预配置方式调用选择主要基于以下公式实现:
计算周期数=核心迭代计算单元计算周期数×迭代计算次数+循环前缀后缀
在判断中,将四种不同规模下的计算周期数进行对比,选择周期数最小的阵列规模并发送相应的阵列规模硬件参数给预配置信息发送控制单元,以调用相应预配置信息,对阵列规模进行预配置。
路由结构计算逻辑可针对具体的应用场景及计算性能需求调用4种不同的计算单元互联结构所对应的预配置信息,以将某个或者某几个动态可重构计算阵列预配置为相应的路由结构模式。
其中,路由结构模式包含以下四种:路由模式一:总线互联结构;路由模式二:邻近互联结构;路由模式三:行列跨步互联结构;路由模式四:层次网状互联结构。
其中,路由结构计算逻辑的预配置方式调用选择主要基于以下公式实现:
在判断中,将四种不同路由结构的流水气泡周期数进行对比,选择周期数最小的路由结构并发送相应的阵列路由结构硬件参数给预配置信息发送控制单元,以调用相应预配置信息,对阵列路由进行预配置。
如图5所示,自适硬件预配置控制器的工作流程图,主控控制器初始化动态可重构阵列计算系统并根据所要处理的算法类型发送控制信号给自适硬件预配置控制器,自适硬件预配置控制器的计算逻辑选择出最优阵列架构(即,计算周期数最小的阵列规模,流水气泡周期数最小的路由结构),并由预配置信息输出接口发送相应的预配置信息至某个或某几个动态可重构计算阵列完成阵列硬件架构的预配置,继而阵列配置信息控制器对已有阵列架构的每个计算单元进行配置,将具体算法映射到现有的阵列硬件结构上完成计算。