基于通用可重构处理器DBSS和MBSS的映射方法技术

技术编号:20943973 阅读:34 留言:0更新日期:2019-04-24 02:11
本发明专利技术提供了一种基于通用可重构处理器的DBSS和MBSS映射方法,包括:将循环分割为循环控制基本块和循环体基本块,所述循环控制基本块包括基本算子,所述循环体基本块包括循环体;根据所述循环体基本块的基本算子构建第一有向图描述数据依赖关系;根据所述循环控制基本块的基本算子构建数据流图,根据循环控制基本块和循环体基本块质检的控制依赖关系构建第二有向图描述基本块之间的控制依赖关系;将循环控制基本块和循环体基本块合并为一个混合数据控制流图;对混合数据控制流图进行映射。在处理循环边界不确定的应用上,本发明专利技术在速度、性能和功耗上都具有较大的优势。

Mapping Method Based on Universal Reconfigurable Processor DBSS and MBSS

The invention provides a DBSS and MBSS mapping method based on a general reconfigurable processor, which includes: dividing a cycle into a basic block of cyclic control and a basic block of cyclic body, the basic block of cyclic control includes a basic operator, and the basic block of cyclic body includes a cyclic body; constructing a first directed graph to describe the data dependence relationship according to the basic operator of the basic block of cyclic body; The basic operators of the basic block of cyclic control are described to construct the data flow graph, and the second directed graph is constructed to describe the control dependence relationship between the basic blocks according to the control dependence relationship between the basic block of cyclic control and the quality inspection of the basic block of cyclic body; the basic block of cyclic control and the basic block of cyclic body are merged into a mixed data control flow graph; and the mixed data control flow graph is mapped. In the application of dealing with uncertain cyclic boundary, the invention has great advantages in speed, performance and power consumption.

【技术实现步骤摘要】
基于通用可重构处理器DBSS和MBSS的映射方法
本专利技术涉及数据处理领域,具体地,涉及基于通用可重构处理器DBSS(动态循环边界静态调度,DynamicBoundary,StaticSchedule)和MBSS(混合循环边界静态调度,MixedBoundary,StaticSchedule)的映射方法。
技术介绍
目前,空间编程结构(例如FPGA和CGRA,Coarse-grainedReconfigurableArchitectures)已被广泛用于计算密集型应用。FPGA的并行度较高,但仅限于细粒度的计算。CGRA作为一种粗细粒度混合的处理器架构,能在提供并行性的同时降低功耗和提升性能。但是CGRA的性能在很大程度上依赖于编译器技术,针对复杂应用提供高效的算法映射依然是一种巨大的挑战。一般来说,通用可重构处理器包括四个部分,第一个是PEA阵列(运算单元阵列,processingelementarray),它是CGRA的核心;第二个是指令寄存器,内核程序通过编译器的分析和优化,会生成数据流图(DFG,DataFlowGraph),通过模调度映射将DFG转成配置信息存入指令寄存器,在控制器的调度下,依次读取指令执行;第三个是数据寄存器,数据寄存器用于数据存储,是PEA阵列的主要数据来源,阵列运算后的结果也将存入数据寄存器;第四个是数据互连,为了减少面积和功耗开销,不同的PE单元只能和相邻的或者最多距离两个PE单元(运算单元,processingelement)进行通信。传统结构只能针对数据流图进行映射,对于带有控制流图(CFG,ControlFlowGraph)的映射会带来新的挑战。此外,很多研究都在探讨循环体的并行性,为了提高并行性,现在的映射技术主要集中在循环体上,如部分预测、全预测和路径选择算法等。然而,这些方法都假设循环边界固定,采用了循环展开的技术。针对循环边界不固定的应用场景,现有的技术如会使用最大循环边界进行循环展开,这种技术会导致一些无效的指令被发射,不仅有速度低,效率瓶颈的问题,还会带来额外的功耗消耗。此外,DISE和基于状态的全预测技术可以处理CFG的映射,但DISE和基于状态的全预测主要处理分支(if-else)结构,而且只能处理最内层的循环体部分。针对循环边界不确定的DFG和CFG,以及嵌套的循环还没有现有的技术可以解决。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于通用可重构处理器DBSS和MBSS的映射方法。根据本专利技术提供的一种基于通用可重构处理器DBSS的映射方法,包括:循环分割步骤:将循环分割为循环控制基本块和循环体基本块,所述循环控制基本块包括基本算子,所述循环体基本块包括循环体;数据流图构建步骤:根据所述循环体基本块的基本算子构建第一有向图描述数据依赖关系;控制流图构建步骤:根据所述循环控制基本块的基本算子构建数据流图,根据循环控制基本块和循环体基本块之间的控制依赖关系构建第二有向图描述基本块之间的控制依赖关系;混合步骤:将第一有向图和第二有向图合并为一个混合数据控制流图;映射步骤:对混合数据控制流图进行映射。较佳的,在所述映射步骤之后还包括:优化步骤:对于没有数据依赖关系的算子,采用预测技术减小循环启动间隔。较佳的,所述基本算子包括:循环变量初始化、循环条件判断和循环变量更新。较佳的,在构建的第一有向图D=<Vd,Ed>中,将基本算子抽象为图上的节点,Vd为所有基本算子的点集,Ed为基本算子之间数据依赖边的集合,两个节点a,b∈Vd,如果节点a是节点b的输入,则存在一条边ei=(a,b)∈Ed。较佳的,在构建的第二有向图C=<Vc,Ec>中,当两个基本块c1,c2∈Vc之间存在一条边ei=(c1,c2)∈Ec,就会在基本块c1和c2之间产生一条goto语句,Vc为控制基本块的点集,Ec为两个控制基本块节点之间的控制依赖边。较佳的,在构建的混合数据控制流图H=<Vh,Eh>中,循环控制基本块和循环体基本块都有各自的数据流图,所以Vh=Vd1∪Vd2,其中Vd1和Vd2分别是循环控制基本块和循环体基本块的数据流图的节点,对于两个基本块之间的控制依赖边Ec可以转移到节点之间的控制依赖边Ec′,再加上两个基本块之间的数据依赖边E′d,则Eh=Ed1∪Ed2∪Ec′∪E′d,Vh为所有基本块内点集,Eh为节点之间的控制依赖边和数据依赖边。较佳的,所述控制流图构建步骤中,根据分支判断的控制语句构建数据流图。较佳的,将Vh划分为三个部分以简化控制流图的描述,Vh=Vo∪Vp∪Vi,其中Vp是循环条件判断的节点,Vo是由循环控制基本块中除去循环条件判断以外的节点,Vi是循环体内的节点。较佳的,对嵌套循环的控制流建立以下规则:算子pi∈Vp是基本块Ui的循环条件判断,对于映射f:pi→Ui,表示pi控制着基本块Ui的执行,对于嵌套基本块ppi∈Ui,ppi是嵌套循环的条件判断或者分支判断,即f:ppi→Uj,则存在一条反向映射f:ppi→pi的边,即(ppi,pi)∈Ec。根据本专利技术提供的一种基于通用可重构处理器MBSS的映射方法,包括:分析循环步骤:将循环分成循环边界固定的循环和循环边界不固定的循环两类,针对循环边界固定的循环采用通用方法循环展开,针对循环边界不固定的循环,采用下述步骤迭代;循环分割步骤:将循环分割为循环控制基本块和循环体基本块,所述循环控制基本块包括基本算子,所述循环体基本块包括循环体;数据流图构建步骤:根据所述循环体基本块的基本算子构建第一有向图描述数据依赖关系;控制流图构建步骤:根据所述循环控制基本块的基本算子构建数据流图,根据循环控制基本块和循环体基本块质检的控制依赖关系构建第二有向图描述基本块之间的控制依赖关系;混合步骤:将第一有向图和第二有向图合并为一个混合数据控制流图;映射步骤:对混合数据控制流图进行映射。为,为为控制基本块的点集,为为,为为循环控制基本块内的基本算子和循环体基本块内的基本算子的集合,为循环控制基本块内的数据依赖边、循环体基本块内的数据依赖边、循环控制基本块内的节点和循环体基本块内的节点之间数据依赖边和控制依赖边组成。为,为。与现有技术相比,本专利技术具有如下的有益效果:本专利技术的动态循环边界静态调度的映射方法能够处理循环边界不确定的应用,以及处理静态循环边界和动态循环边界混合的应用;在动态循环边界静态调度的映射方法的基础上改进得到的混合循环边界静态调度的映射方法能够处理多层嵌套的循环。相比于现有最佳的基于状态的全预测和处理分支最有效的DISE方法,在处理循环边界不确定的应用上,本专利技术在速度、性能和功耗上都具有较大的优势。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术提出的改进的通用可重构处理器的拓扑结构;图2为本专利技术增加控制端口和影子控制寄存器后改进的内部结构;图3为本专利技术理解循环边界确定的一个实例;图4为本专利技术一个实施例的循环边界不确定的算法;图5为本专利技术方便阐述的一个2×2PEA的示意图;图6为本专利技术的流程图;图7为本专利技术的图4的控制流图;图8为本专利技术的混合控制流图;图9为本专利技术的图8的时序扩展图(Ti本文档来自技高网
...

【技术保护点】
1.一种基于通用可重构处理器DBSS的映射方法,其特征在于,包括:循环分割步骤:将循环分割为循环控制基本块和循环体基本块,所述循环控制基本块包括基本算子,所述循环体基本块包括循环体;数据流图构建步骤:根据所述循环体基本块的基本算子构建第一有向图描述数据依赖关系;控制流图构建步骤:根据所述循环控制基本块的基本算子构建数据流图,根据循环控制基本块和循环体基本块之间的控制依赖关系构建第二有向图描述基本块之间的控制依赖关系;混合步骤:将第一有向图和第二有向图合并为一个混合数据控制流图;映射步骤:对混合数据控制流图进行映射。

【技术特征摘要】
1.一种基于通用可重构处理器DBSS的映射方法,其特征在于,包括:循环分割步骤:将循环分割为循环控制基本块和循环体基本块,所述循环控制基本块包括基本算子,所述循环体基本块包括循环体;数据流图构建步骤:根据所述循环体基本块的基本算子构建第一有向图描述数据依赖关系;控制流图构建步骤:根据所述循环控制基本块的基本算子构建数据流图,根据循环控制基本块和循环体基本块之间的控制依赖关系构建第二有向图描述基本块之间的控制依赖关系;混合步骤:将第一有向图和第二有向图合并为一个混合数据控制流图;映射步骤:对混合数据控制流图进行映射。2.根据权利要求1所述的基于通用可重构处理器DBSS的映射方法,其特征在于,在所述映射步骤之后还包括:优化步骤:对于没有数据依赖关系的算子,采用预测技术减小循环启动间隔。3.根据权利要求1所述的基于通用可重构处理器DBSS的映射方法,其特征在于,所述基本算子包括:循环变量初始化、循环条件判断和循环变量更新。4.根据权利要求1所述的基于通用可重构处理器DBSS的映射方法,其特征在于,在构建的第一有向图D=<Vd,Ed>中,将基本算子抽象为图上的节点,Vd为所有基本算子的点集,Ed为基本算子之间数据依赖边的集合,两个节点a,b∈Vd,如果节点a是节点b的输入,则存在一条边ei=(a,b)∈Ed。5.根据权利要求4所述的基于通用可重构处理器DBSS的映射方法,其特征在于,在构建的第二有向图C=<Vc,Ec>中,当两个基本块c1,c2∈Vc之间存在一条边ei=(c1,c2)∈Ec,就会在基本块c1和c2之间产生一条goto语句,Vc为控制基本块的点集,Ec为两个控制基本块节点之间的控制依赖边。6.根据权利要求5所述通用可重构处理器DBSS的映射方法,其特征在于,在构建的混合数据控制流图H=<Vh,Eh>中,循环控制基本块和循环体基本块都有各自的数据流图,所以Vh=Vd1∪Vd2,其中Vd1和Vd2分别是循环控制基本块和循环体...

【专利技术属性】
技术研发人员:谢帅赵仲元绳伟光
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1