本申请提供了一种动态可重构阵列时序配置信息的生成方法,包括:获取可重构阵列中每个可重构单元的输入信息和输出信息;依据所述输入信息和输出信息生成可重构阵列的连通图;依据所述连通图生成可重构阵列的时序配置信息。根据上述方法获得的连通图之间的数据没有相关性,因此利用该连通图生成的时序配置信息,即阵列的输入次数、输出次数、输出开始时间和循环间隔更加准确,从而避免在循环利用阵列计算数据时产生的数据污染问题,并且能够提高可重构阵列的运算效率。
【技术实现步骤摘要】
本申请涉及嵌入式系统
,特别是涉及。
技术介绍
动态可重构处理器是一种新生的处理器构架,其较之以往的单核处理器、专用芯片、现场可编程逻辑阵列有着显著的优势,是未来电路结构发展的一个方向。首先,动态可重构处理器内往往含有多个算数逻辑单元,且数量巨大,称之为众核阵列。阵列内部配以灵活度高的路由单元,实现算数逻辑单元之间多样化的互联。因此,经路由单元连接后的众核阵列可实现对数据流的高速处理,较传统的单核以及少核处理器在性能上有着巨大的优势。同时,较固化的专用电路在灵活性上也有着巨大的优势。其次,较传统的静态可重构电路——现场可编程逻辑阵列而言,动态可重构处理器有动态的特点,即在电路运行过程中可动态的切换电路的功能,而非以往静态可重构电路一成不变的不改变电路功能,只是在电路运行之前烧写电路功能,对电路进行初始化。这样做的好处在于通过时分复用的方式减少了电路的规模,原因在于之前的电路结构的全映射现在变为分块映射,而块与块之间恰好采取了动态切换的方式。动态可重构处理器的核心一般为一个二维的可重构算术逻辑单元(ALU)阵列,该结构是并行计算以提高处理能力的基础。同时,可重构算术逻辑单元间必须拥有较为灵活的互联结构以保证运算通用性,这种可配置的互联结构使得动态可重构处理器可以改变数据流,实现了对数据流的高速并行处理,相对于传统单核、少核处理器大大的提升了计算性能。可重构计算将每个核的计算单元抽离出来组成阵列结构,再通过控制单元动态改变每个计算单元的功能来实现可重构的数据通路,这种方式简化了每个核心中取值、译码、执行的过程,而且重构后的计算阵列可以实现与专用电路相似的计算方式。这样就需要高效的控制模块来实现对可重构计算阵列的动态配置,动态可重构阵列的配置信息主要包括可重构单元互联信息、可重构单元逻辑运算信息以及阵列的粒度配置信息和时序配置信肩、ο动态可重构阵列的时序配置信息主要指阵列数据流的控制信息,包括输入次数、运算的次数、输出开始时间、输出次数、阵列循环计算时的循环间隔以及循环的次数等信息。如果这些时序信息配置不合理,就会影响数据流的处理过程,降低运算效率。例如,在循环运算过程中,如果循环间隔过小,会出现数据污染,导致数据出错;如果循环间隔过大,则会导致运算时间增大,影响可重构阵列的执行效率。因此,生成合理的时序配置信息是非常有必要的。
技术实现思路
本申请所要解决的技术问题是提供,能够根据可重构阵列单元的运算和互联的信息,自动生成时序参数控制信息,以使可重构阵列的数据通路能够准确、高效地处理数据流。为了解决上述问题,本申请公开了,包括获取可重构阵列中每个可重构单元的输入信息和输出信息;依据所述输入信息和输出信息生成可重构阵列的连通图;依据所述连通图生成可重构阵列的时序配置信息。优选的,所述可重构单元的输入信息包括输入数据的来源和输入数据的地址。优选的,所述输入数据的来源是输入数据缓存器,或者是当前可重构单元上一行的路由单元,或者是可重构阵列中的常数寄存器。优选的,所述可重构单元的输出信息包括输出数据的目标和输出数据的地址。优选的,所述输出数据的目标是输出数据缓存器,或者是当前可重构单元下一行的路由单元。优选的,所述依据输入信息和输出信息生成可重构阵列的连通图,包括依据所述输出信息获取可重构阵列中输出数据的目标为输出数据缓存器的可重构单元,将所述可重构单元作为连通图的根节点;从每个根节点出发,依据所述输入信息获取与所述根节点相连的所有可重构单元,将每个可重构单元作为连通图中的一个节点;将可重构阵列从输入数据缓存器,或者是常数寄存器获取的输入数据作为连通图的叶子节点。优选的,所述依据连通图生成可重构阵列的时序配置信息包括获取所有叶子节点从输入数据缓存器,或者常数寄存器中取数的次数;将所述取数次数的最大值作为可重构阵列的输入次数。优选的,所述依据连通图生成可重构阵列的时序配置信息还包括获取所有根节点向输出数据缓存器中存数的次数;将所述存数次数的最大值作为可重构阵列的输出次数。优选的,所述依据连通图生成可重构阵列的时序配置信息还包括获取从每个叶子节点到根节点的路径y,每条路径长度为c;计算每条路径的输出开始时间path,path = in +c -out 其中,in为该条路径中每个叶子节点从输入数据缓存器,或者常数寄存器中取数的次数,out为该条路径中的根节点向输出数据缓存器中存数的次数;计算可重构阵列的输出开始时间W,W = max (path ) -I其中,I为可重构阵列的输入次数。优选的,所述依据连通图生成可重构阵列的时序配置信息还包括计算可重构阵列的循环间隔G,G = 0-I+ff-min (path )其中,0为可重构阵列的输出次数,I为可重构阵列的输入次数,W为可重构阵列的输出开始时间,path为连通图中每条路径的输出开始时间。与现有技术相比,本申请包括以下优点本申请通过获取可重构阵列中每个可重构单元的输入信息和输出信息,然后依据所述输入信息和输出信息生成可重构阵列的连通图,再依据所述连通图生成可重构阵列的时序配置信息。根据上述方法获得的连通图之间的数据没有相关性,因此利用该连通图生成的时序配置信息,即阵列的输入次数、输出次数、输出开始时间和循环间隔更加准确,从而避免在循环利用阵列计算数据时产生的数据污染问题,并且能够提高可重构阵列的运算效率。附图说明图1是本申请实施例的流程图;图2是一种4X4粗粒度动态可重构阵列的结构示意图;图3是动态可重构阵列内可重构单元和路由单元的具体结构示意图;图4是本申请一种动态可重构阵列时序控制示意图;图5是动态可重构阵列内执行的一个4X4的配置示意图;图6是利用本申请对图5中的4X4的配置生成的连通图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出了本申请一种动态可重构处理器阵列时序配置信息的生成方法实施例的流程图,所述方法包括步骤S101,获取可重构阵列中每个可重构单元的输入信息和输出信息;参照图2,示出了一种4X4粗粒度动态可重构阵列的结构示意图,其中包括输入/输出数据缓存器,用于缓存需要输入可重构单元进行计算的数据以及经过可重构单元运算的结果数据;路由单元,用于数据路由,可锁存数据送往下层,或者实现旁路连接,路由单元共有4层,均与输入/输出缓存器相连,可进行数据的双向交换;阵列单元是一个8/16bit运算单元,用于对数据进行算数或者逻辑运算;配置信息缓冲器,用于完成对路由单元和可重构单元的状态配置,可存储多层配直fe息;状态控制器是状态寄存和流程控制单元,可重构阵列外部的主处理器可以从状态控制器中的寄存器中读取工作状态,切换工作和配置模式、控制运算次数等信息;此外,可重构阵列还包括输入/输出接口和中断接口,用于实现数据的传输。当然,本申请的可重构阵列并不限于4X4粒度,其他任何一种粒度的可重构阵列均可用于实现本申请。参照图3,示出了动态可重构阵列内可重构单元和路由单元的具体结构示意图,其中每个可重构单元包括2个输入多路选择器、1个算术逻辑单元和1个输出寄存器。每个输入多路选择器为可重构单元选择当前运算所需要的一个操作数。算术逻辑单元,用于执行所述操作数的算术或者逻辑运算本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:朱敏,刘雷波,王延升,王星,杨军,曹鹏,时龙兴,尹首一,魏少军,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。