一种可重构处理器及配置方法技术

技术编号:29132980 阅读:18 留言:0更新日期:2021-07-02 22:28
本发明专利技术公开一种可重构处理器及配置方法,所述可重构处理器包括重构配置单元和可重构阵列;重构配置单元,用于根据当前应用场景匹配的算法,提供用于重构可重构阵列内的计算结构的重构信息;可重构阵列包括至少两级计算阵列,可重构阵列用于根据重构配置单元提供的重构信息,将相邻两级的计算阵列连接出满足算法的计算需求的数据通路流水线结构;在同一级计算阵列内,接入数据通路流水线结构的不同的计算模块的流水线深度都相等,使得接入数据通路流水线结构的不同的计算模块都同步输出数据。从而让可重构处理器根据不同的算法配置出适应的流水线深度,并在此基础上实现可重构阵列的数据处理操作的整体流水化,提高了可重构处理器的数据吞吐率。

【技术实现步骤摘要】
一种可重构处理器及配置方法
本专利技术涉及可重构计算的
,尤其涉及一种可重构处理器及配置方法。
技术介绍
可重构计算是指计算系统能够利用可重用的硬件资源,根据不同的应用需求,灵活的对自身计算路径重构,以便为每个特定的应用需求提供与之相匹配的计算结构。粗粒度可重构处理器作为一种新的高性能计算结构,兼具通用计算与专用计算的优势,在编程灵活性和计算能效上具有较好的折中。可重构阵列作为可重构处理器的计算核心,其效率和灵活性,将对可重构系统的性能产生极大影响。现有的粗粒度可重构处理器的可重构阵列结构很少考虑内部的流水性质,使得复杂操作成为可重构阵列的计算速度瓶颈,时钟频率不高,计算效率较低。在粗粒度的可重构体系结构中,可重构阵列包括功能完整的计算单元,如加减法器、乘法器、除法器、开方器、三角函数计算器等。为了保证可重构处理器较高的时钟频率与计算效率,这些计算单元大都采用流水化设计。由于要实现的计算复杂度不同,不同计算单元的计算流水深度往往不同,从而导致可重构阵列难以实现整体流水化的数据处理,限制可重构处理器的流水线计算性能的提升。
技术实现思路
为了解决上述技术问题,本专利技术技术方案公开一种自适应配置流水线深度的可重构处理器,对可重构阵列采用多级流水线控制,具体技术方案包括:一种可重构处理器,所述可重构处理器包括重构配置单元和可重构阵列;重构配置单元,用于根据当前应用场景匹配的算法,提供用于重构可重构阵列内的计算结构的重构信息;可重构阵列包括至少两级计算阵列,可重构阵列用于根据重构配置单元提供的重构信息,将相邻两级的计算阵列连接出满足所述当前应用场景匹配的算法的计算需求的数据通路流水线结构;在同一级计算阵列内,接入数据通路流水线结构的不同的计算模块的流水线深度都相等,使得接入数据通路流水线结构的不同的计算模块都同步输出数据;每一级计算阵列的内部设置至少一个计算模块;其中,在一个可重构阵列的每一列上,设置有一个计算阵列,每一个计算阵列是一级计算阵列,计算阵列的数目是预先设定的,这些计算阵列是以级联的结构存在于可重构阵列;其中,所述数据通路流水线结构的每一级流水线分别对应一级计算阵列;在每一级计算阵列中,接入数据通路的所述计算模块相当于接入所述数据通路流水线结构的对应一级流水线;其中,流水线深度是数据流经所述数据通路流水线结构的相应的数据通路所耗费的时间。与现有技术相比,所述可重构处理器以用于执行计算指令的相邻互连的计算模块为基础,重构调节数据经过每一级计算阵列的流水线深度都相同且满足算法的计算需求的数据通路流水线结构,从而让可重构处理器根据不同的算法配置出适应的流水线深度,并在此基础上实现可重构阵列的数据处理操作的整体流水化,提高了可重构处理器的吞吐率,充分发挥可重构处理器的计算性能,也减小现有技术的流水线设计所需配置的硬件资源。进一步地,所述可重构处理器还包括输入FIFO组和输出FIFO组;输入FIFO组的输出端分别与可重构阵列的输入端对应连接,可重构阵列用于根据所述重构信息接收来自所述输入FIFO组传输的待计算数据,并将待计算数据传输给所述数据通路流水线结构;输出FIFO组的输入端分别与可重构阵列的输出端对应连接,可重构阵列还用于根据所述重构信息向所述输出FIFO组提供所述数据通路流水线结构的最后一级流水线所对应的一级计算阵列的输出数据。该技术方案设置输入FIFO组作为外部数据进入所述可重构处理器的缓存,设置输出FIFO组作为所述可重构处理器向外部输出数据的缓存,以匹配所述算法对于所述可重构处理器与外部的系统元件的数据交换、存储要求。进一步地,在所述可重构阵列中,所述将相邻级的计算阵列连接出满足算法的计算需求的数据通路流水线结构的方式包括:互不相邻级的两个计算阵列之间不通过数据通路跨级连接,以使得互不相邻的两级计算阵列不直接连接成所述数据通路流水线结构;且同一级计算阵列内的不同计算模块之间不存在数据通路;第一级计算阵列内的计算模块的输入端作为所述可重构阵列的输入端,用于基于所述重构信息,配置为与所述输入FIFO组相匹配的输出端连接;当前一级计算阵列内的计算模块的输入端用于基于所述重构信息,配置为与其相邻的前一级计算阵列内的相匹配一行的计算模块的输出端相连接,其中,当前一级计算阵列在所述可重构阵列中不是第一级计算阵列;当前一级计算阵列内的计算模块的输出端用于基于所述重构信息,配置为与其相邻的后一级计算阵列内的相匹配一行计算模块的输入端相连接,其中,当前一级计算阵列在所述可重构阵列中不是最后一级计算阵列;最后一级计算阵列内的计算模块的输出端作为所述可重构阵列的输出端,用于基于所述重构信息,配置为与所述输出FIFO组相匹配的输入端连接;其中,相邻的前一级计算阵列的级别比当前一级计算阵列的级别小一级,相邻的后一级计算阵列的级别比当前一级计算阵列的级别大一级;所述数据通路是数据传输的路径。该技术方案按照所述重构信息将所述可重构阵列的彼此相邻两级的计算阵列内的计算模块串行连接为所述数据通路流水线结构,降低了互联网络通路的复杂度,同时还能简单高效的实现多级流水线控制。在此基础上可重构阵列用于根据所述重构信息连接出多路的数据通路流水线结构,以满足同步执行的多种算法的数目应用需求。进一步地,所述重构配置单元提供的计算模块的重构信息包括第二配置信息、第一配置信息、第三配置信息;计算模块包括计算控制单元、补偿单元、第一互联单元、第二互联单元;第一互联单元,用于根据所述第一配置信息,将第一互联单元和计算控制单元接入所述数据通路流水线结构的当前一级流水线,其中,第一互联单元用于在当前一级流水线对应于第一级计算阵列时,将所述输入FIFO组内相匹配的输出端输出的待计算数据输入给所述计算控制单元;第一互联单元还用于在当前一级流水线不是对应于第一级计算阵列时,将相邻的前一级计算阵列内相匹配的计算模块所输出的计算结果输入给所述计算控制单元;计算控制单元,用于根据第二配置信息,选择连接成数据直通通路以控制输入所述计算控制单元的数据在不执行计算的前提下直接通过并传输给补偿单元、或选择连接成数据计算通路以控制输入所述计算控制单元的数据在执行计算后传输给补偿单元;其中,所述数据通路包括数据直通通路和数据计算通路;补偿单元,用于根据第三配置信息,选择相应的延时差值将同一计算模块的流水线深度延时补偿为当前一级计算阵列所允许的最大流水线深度;第二互联单元,用于根据所述第一配置信息,将第二互联单元和补偿单元接入所述数据通路流水线结构的当前一级流水线,其中,第二互联单元用于在当前一级流水线对应于最后一级计算阵列时,将经过所述补偿单元延时补偿处理的数据传输给所述输出FIFO组内相匹配的输出FIFO;第二互联单元还用于在当前一级流水线不是对应于最后一级计算阵列时,将经过所述补偿单元延时补偿处理的数据传输给相邻的后一级计算阵列内相匹配的计算模块;其中,在当前一级计算阵列的同一计算模块内,第一互联单元的输入端是计算模块的输入端,第一互联单元的输出端与计算控制单元的输入端,计算控制单元的输出端与补偿单元的输入端连接,补偿单元的输出端与第二互联单元的输入本文档来自技高网...

【技术保护点】
1.一种可重构处理器,其特征在于,所述可重构处理器包括重构配置单元和可重构阵列;/n重构配置单元,用于根据当前应用场景匹配的算法,提供用于重构可重构阵列内的计算结构的重构信息;/n可重构阵列包括至少两级计算阵列,可重构阵列用于根据重构配置单元提供的重构信息,将相邻两级的计算阵列连接出满足所述当前应用场景匹配的算法的计算需求的数据通路流水线结构;在同一级计算阵列内,接入数据通路流水线结构的不同的计算模块的流水线深度都相等,使得接入数据通路流水线结构的不同的计算模块都同步输出数据;每一级计算阵列的内部设置至少一个计算模块;/n其中,在一个可重构阵列的每一列上只设置有一个计算阵列,每列上的一个计算阵列是一级计算阵列;在这个可重构阵列内的计算阵列的数目是预先设定的,这些计算阵列是以级联的结构存在于可重构阵列;/n其中,所述数据通路流水线结构的每一级流水线分别对应一级计算阵列;在每一级计算阵列中,接入数据通路的所述计算模块相当于接入所述数据通路流水线结构的对应一级流水线;/n其中,流水线深度是数据流经所述数据通路流水线结构的相应的数据通路所耗费的时间。/n

【技术特征摘要】
1.一种可重构处理器,其特征在于,所述可重构处理器包括重构配置单元和可重构阵列;
重构配置单元,用于根据当前应用场景匹配的算法,提供用于重构可重构阵列内的计算结构的重构信息;
可重构阵列包括至少两级计算阵列,可重构阵列用于根据重构配置单元提供的重构信息,将相邻两级的计算阵列连接出满足所述当前应用场景匹配的算法的计算需求的数据通路流水线结构;在同一级计算阵列内,接入数据通路流水线结构的不同的计算模块的流水线深度都相等,使得接入数据通路流水线结构的不同的计算模块都同步输出数据;每一级计算阵列的内部设置至少一个计算模块;
其中,在一个可重构阵列的每一列上只设置有一个计算阵列,每列上的一个计算阵列是一级计算阵列;在这个可重构阵列内的计算阵列的数目是预先设定的,这些计算阵列是以级联的结构存在于可重构阵列;
其中,所述数据通路流水线结构的每一级流水线分别对应一级计算阵列;在每一级计算阵列中,接入数据通路的所述计算模块相当于接入所述数据通路流水线结构的对应一级流水线;
其中,流水线深度是数据流经所述数据通路流水线结构的相应的数据通路所耗费的时间。


2.根据权利要求1所述可重构处理器,其特征在于,所述可重构处理器还包括输入FIFO组和输出FIFO组;
输入FIFO组的输出端分别与可重构阵列的输入端对应连接,可重构阵列用于根据所述重构信息接收来自所述输入FIFO组传输的待计算数据,并将待计算数据传输给所述数据通路流水线结构;
输出FIFO组的输入端分别与可重构阵列的输出端对应连接,可重构阵列还用于根据所述重构信息向所述输出FIFO组提供所述数据通路流水线结构的最后一级流水线所对应的一级计算阵列的输出数据。


3.根据权利要求2所述可重构处理器,其特征在于,在所述可重构阵列中,所述将相邻两级的计算阵列连接出满足算法的计算需求的数据通路流水线结构的方式包括:
互不相邻级的两个计算阵列之间不通过数据通路跨级连接,以使得互不相邻的两级计算阵列不直接连接成所述数据通路流水线结构;且同一级计算阵列内的不同计算模块之间不存在数据通路;
第一级计算阵列内的计算模块的输入端作为所述可重构阵列的输入端,用于基于所述重构信息,配置为与所述输入FIFO组相匹配的输出端连接;其中,第一级计算阵列是可重构阵列内级联的计算阵列的第一级;
当前一级计算阵列内的计算模块的输入端用于基于所述重构信息,配置为与其相邻的前一级计算阵列内的相匹配一行的计算模块的输出端相连接,其中,当前一级计算阵列在所述可重构阵列中不是第一级计算阵列;
当前一级计算阵列内的计算模块的输出端用于基于所述重构信息,配置为与其相邻的后一级计算阵列内的相匹配一行计算模块的输入端相连接,其中,当前一级计算阵列在所述可重构阵列中不是最后一级计算阵列;
最后一级计算阵列内的计算模块的输出端作为所述可重构阵列的输出端,用于基于所述重构信息,配置为与所述输出FIFO组相匹配的输入端连接;
其中,相邻的前一级计算阵列的级别比当前一级计算阵列的级别小一级,相邻的后一级计算阵列的级别比当前一级计算阵列的级别大一级;所述数据通路是数据传输的路径。


4.根据权利要求3所述可重构处理器,其特征在于,所述重构配置单元提供的计算模块的重构信息包括第二配置信息、第一配置信息、第三配置信息;
计算模块包括计算控制单元、补偿单元、第一互联单元、第二互联单元;
第一互联单元,用于根据所述第一配置信息,将第一互联单元和计算控制单元接入所述数据通路流水线结构的当前一级流水线,其中,第一互联单元用于在当前一级流水线对应于第一级计算阵列时,将所述输入FIFO组内相匹配的输出端输出的待计算数据输入给所述计算控制单元;第一互联单元还用于在当前一级流水线不是对应于第一级计算阵列时,将相邻的前一级计算阵列内相匹配的计算模块所输出的计算结果输入给所述计算控制单元;
计算控制单元,用于根据第二配置信息,选择连接成数据直通通路以控制输入所述计算控制单元的数据在不执行计算的前提下直接通过并传输给补偿单元、或选择连接成数据计算通路以控制输入所述计算控制单元的数据在执行计算后传输给补偿单元;其中,所述数据通路包括数据直通通路和数据计算通路;
补偿单元,用于根据第三配置信息,选择相应的延时差值将同一计算模块的流水线深度延时补偿为当前一级计算阵列所允许的最大流水线深度;
第二互联单元,用于根据所述第一配置信息,将第二互联单元和补偿单元接入所述数据通路流水线结构的当前一级流水线,其中,第二互联单元用于在当前一级流水线对应于最后一级计算阵列时,将经过所述补偿单元延时补偿处理的数据传输给所述输出FIFO组内相匹配的输出FIFO;第二互联单元还用于在当前一级流水线不是对应于最后一级计算阵列时,将经过所述补偿单元延时补偿处理的数据传输给相邻的后一级计算阵列内相匹配的计算模块;
其中,在当前一级计算阵列的同一计算模块内,第一互联单元的输入端是计算模块的输入端,第一互联单元的输出端与计算控制单元的输入端,计算控制单元的输出端与补偿单元的输入端连接,补偿单元的输出端与第二互联单元的输入端连接,第二互联单元的输出端是计算模块的输出端。


5.根据权利要求4所述可重构处理器,其特征在于,所述第三配置信息是一种选通信号,用于在所述重构配置单元确定所述数据通路流水线结构的当前一级流水线中耗费流水线深度最大的所述计算控制单元后,在当前一级流水线的所有计算模块内,选通所述补偿单元内部设置的相匹配的用于产生所述延时差值的寄存器路径,再控制当前一级流水线的计算控制单元的输出数据在所述寄存器路径传输,直至输出相应的计算模块,才确定:当前一级流水线的计算模块的流水线深度都延时补偿为当前一级计算阵列所允许的最大流水线深度;
其中,...

【专利技术属性】
技术研发人员:赵旺肖刚军赖钦伟
申请(专利权)人:珠海市一微半导体有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1