System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向软件抽象的控制流实现系统技术方案_技高网
当前位置: 首页 > 专利查询>清华大学专利>正文

面向软件抽象的控制流实现系统技术方案

技术编号:41324805 阅读:4 留言:0更新日期:2024-05-13 15:02
本发明专利技术公开了一种面向软件抽象的控制流实现系统,该系统包括:面向软件抽象的粗粒度可重构系统和编译工具链;编译工具链用于将源代码进行编译,形成软件抽象,并映射至面向软件抽象的粗粒度可重构系统,形成输入数据和/或数据流向指令;面向软件抽象的粗粒度可重构系统包括:处理单元用于:按照数据流向指令和处理单元内的计算指令对输入数据进行逻辑运算处理,按照数据流向指令发送输出数据和输出谓词;谓词控制模块用于:按照数据选择指令和谓词控制模块内的指令进行谓词计算,按照数据流向指令发送输出谓词;控制流片上网络用于传输输出谓词;数据流片上网络用于传输输出数据。本发明专利技术可以支持各种不同类型的复杂的控制流。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种面向软件抽象的控制流实现系统


技术介绍

1、本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

2、高性能计算的迅速发展,加上摩尔定律的放缓和登纳德缩放定律的终结,对加速器的性能和功耗提出了更高的要求。以粗粒度可重构架构(cgra)为代表的空间架构在高能效、灵活性和低一次性工程(nre)成本方面拥有显著优势。cgra在处理数字信号处理、生物医学和汽车等应用领域备受关注,因为在这些应用中能源、效率和灵活性都至关重要,并且业界已经在尝试利用cgra来加速低功耗的ai和dsp芯片。

3、在当代应用程序的计算模式中,大多数模式都包含了非常丰富的控制行为,包括嵌套分支和循环,这对体系结构处理控制流的能力提出了极高的要求。为了能在cgra上部署此类计算模式,软件应用程序被转换为控制流图(cfg)和数据流图(dfg)以便编译。它们组合形成控制数据流图(cdfg),图中的节点表示操作,边表示数据或控制依赖关系。cgra编译器分别为节点和边分配适当的处理元件(pe)和互连线,确保所有数据和控制关系都能正确分配。由此可知编译器在充分利用架构资源进行加速方面发挥着关键作用,不仅可以执行指令调度以提升执行效率,还可以通过整体的编译优化为代码带来整体性能优势。然而,cgra编译时间过长一直是一个长期存在且难以解决的问题。

4、尽管cgra已显示出满足不同领域需求的潜力,但现有cgra仍然缺乏对复杂控制流的有效支持。它们要么只执行内部循环并需要与主机进行设备外通信来执行复杂的控制操作,要么依赖高代价的硬件层面的标签匹配(tag-matching)。许多相关工作一直在努力缩小与真正的通用cgra的差距。例如在pe和noc中实现一组控制流算子,以支持任意控制流;或是设计一种可以进行灵活控制流信号(predicate)传递的控制流平面。尽管如此,这些工作针对深度嵌套循环和分支的支持仍然不尽人意。此外,由于控制流硬件的复杂性,编程和编译变得相当费力,因此需要编译友好的软硬件抽象。

5、总之,目前的cgra与理想中真正的通用cgra之间仍存在相当大的差距,难以充分支持各种不同类型的复杂的控制流(例如不规则循环、嵌套循环以及嵌套分支)。


技术实现思路

1、本专利技术实施例提供一种面向软件抽象的控制流实现系统,可支持各种不同类型的复杂的控制流(例如不规则循环、嵌套循环以及嵌套分支),该系统包括:

2、面向软件抽象的粗粒度可重构系统和编译工具链;

3、面向软件抽象的粗粒度可重构系统包括多个模块,所述多个模块包括多个处理单元、设于每个处理单元内的谓词控制模块、数据片上网络、与数据片上网络互联结构相同的控制流片上网络;

4、编译工具链用于:将源代码进行编译,形成软件抽象,并映射至面向软件抽象的粗粒度可重构系统,形成每个模块的输入数据和/或数据流向指令;

5、处理单元用于:按照数据流向指令和处理单元内的计算指令,对输入数据进行逻辑运算处理,获得输出数据和输出谓词,按照数据流向指令对输出数据和输出谓词进行发送;

6、谓词控制模块用于:按照数据选择指令和谓词控制模块内的指令,进行谓词计算,获得输出谓词,并按照数据流向指令发送输出谓词;

7、控制流片上网络用于:连接处理单元,以传输输出谓词;

8、数据流片上网络用于:连接处理单元,以传输输出数据。

9、本专利技术实施例中,谓词控制模块可以将处理单元原来的多个条件分支被转换为单个分支指令。将谓词组合计算重新定位到由简单的与门组成的谓词控制模块,可以减少处理单元的使用,这样可以使编译变得更加容易,更多的操作可以同时映射到面向软件抽象的粗粒度可重构系统上,同时性能也可以得到提高,因为谓词组合操作不必经历完整的处理单元执行周期。谓词组合还可以并行化if语句的计算,进一步减少了程序周期。额外添加的控制流片上网络可以方便地进行映射。

本文档来自技高网...

【技术保护点】

1.一种面向软件抽象的控制流实现系统,其特征在于,包括:面向软件抽象的粗粒度可重构系统和编译工具链;

2.如权利要求1所述的系统,其特征在于,所述处理单元分为基础处理单元和循环处理单元;

3.如权利要求2所述的系统,其特征在于,循环处理单元包括:

4.如权利要求3所述的系统,其特征在于,累加器用于:

5.如权利要求4所述的系统,其特征在于,所述计算指令包括模式和启动间隔;

6.如权利要求5所述的系统,其特征在于,所述计算指令还包括操作码;

7.如权利要求1所述的系统,其特征在于,谓词控制模块包括:

8.如权利要求7所述的系统,其特征在于,多路选择器用于:

9.如权利要求7所述的系统,其特征在于,谓词控制模块在空闲时的接收状态为准备状态,在准备状态时,能够接收第一谓词和第二谓词;

10.如权利要求1所述的系统,其特征在于,编译工具链包括软件抽象和编译流程;其中,软件抽象为采用有向图表示的抽象控制数据流图;

【技术特征摘要】

1.一种面向软件抽象的控制流实现系统,其特征在于,包括:面向软件抽象的粗粒度可重构系统和编译工具链;

2.如权利要求1所述的系统,其特征在于,所述处理单元分为基础处理单元和循环处理单元;

3.如权利要求2所述的系统,其特征在于,循环处理单元包括:

4.如权利要求3所述的系统,其特征在于,累加器用于:

5.如权利要求4所述的系统,其特征在于,所述计算指令包括模式和启动间隔;

6.如权利要求5所述的系统...

【专利技术属性】
技术研发人员:孔祥煜税涵月朱建峰魏少军刘洋冯春阳苟鹏飞
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1