基于运行时计算模式的动态可重构硬件加速技术研究
发布时间:2020-05-17 12:48
【摘要】:动态可重构硬件加速技术利用现场可编程器件的可编程资源,,通过硬件电路逻辑实现高速运算。其核心流程是将原本软件实现的运算动态地优选出最适合于硬件实现的部分移植到可编程器件上,通过动态可重构硬件的逻辑电路实现。 在可重构计算已有的研究中,大都是从应用程序的源代码的人工或者辅助分析出发,定位出使用频度最高的部分,然后改写并将计算任务迁移到可编程器件上执行。这种从源代码级别开始的协同设计流程由于需要大量的人工参与,使得设计过程效率低下,也难以在运行时动态评价和选取适合于硬件实现的部分。 本文的工作针对上述问题,对可重构计算中硬件加速器的自动化实现方法开展研究。通过在运行过程中对目标应用程序进行动态分析,实时地划分和选取适合于硬件实现的模块,最终根据资源和收益的准则对软硬件功能划分进行优化。以可满足性问题(SAT)求解为例,具体实现了硬件加速器对软件系统的性能改进。论文工作的具体内容如下: (1)提出运行时基本代码块模型(RBBL),该模型有效地对程序的运行模式动态地进行识别和描述。模型可以有效地将程序运行过程中各个运行时代码块之间的控制依赖性和数据依赖性进行记录,分析提取并评估基本代码模块,用以指导软硬件的划分和动态可重构模块的构造。 (2)在分析应用程序运行特性的基础上,提出了基于软件运行时计算模式的面向可重构硬件加速的软硬件划分方法。计算模式定义为一组有逻辑联系和数据相关性的操作,它由连续或者不连续的代码片断构成,能够完成特定的计算任务,是软硬件划分的粒度模型。在这种模型指导下,硬件实现的部分可以表达和处理一个完整的给定规模递归求解问题,计算模式之外的软件部分则处理递归计算的高端迭代过程。该方法保证了计算任务内部在运行时的逻辑联系和数据依赖,具有节省控制和数据通信开销的优势。 (3)研究并实现了大规模并发模式的SAT求解硬件加速器,提高SAT问题的求解效率。利用面向软硬件功能划分的软件自动化分析工具得出SAT求解算法的运行特性和计算模式。基于计算模式的划分方法将SAT问题求解过程中的子问题求解过程作为软硬件划分的基本单元提取出来,完成软硬件功能划分。SAT问题特有的计算模式通过大规模并发的实现方式部署到可重构计算器件运行,最后获取求解性能的收益。与其他的以SAT子句为硬件加速对象的硬件加速器相比较,文中的SAT求解硬件加速器能够压缩实际体现出来的问题复杂度,在求解高难度SAT问题时具有性能优势。
【图文】:
任务完成以后,可变逻辑部分将被部署上新的电路逻辑以适应新的计算任务需求。如图1.1所示,可重构计算系统由两个部分构成:固定逻辑电路部分F和可变逻辑电路部分V。其中,固定逻辑部分是通用的处理器,在上面运行的软件部分负责任务的调度和对可变处理逻辑的控制。可变逻辑部分将根据计算任务的需要,适时地改变内部的电路逻辑,以硬件逻辑的方式完成设定的计算任务。当一个计算任务完成以后,可重构部分可以被替换为新的电路逻辑以适应新的计算任务需求。由于同时具备了两种不同的计算方式,这种可重构的体系结构就同时具备了可编程的灵活性和专用计算芯片的高效率。图1.1最初的可重构计算体系结构设想[1]这种可定制的硬件计算逻辑同时具备了可编程的灵活性和专用计算芯片的高效率。由于相关研究水平的限制,虽然当时的器件技术和软件设计技术并不能完美的支持这种通过可改变外围设备电路逻辑的方法,来获取高计算性能的设计,但是这种非冯式结构的计算体系开辟了计算机技术的一个新的研究领域[1]。而且
编译器视角下的逻辑代码片段单元运行时基本指令块和高级语言编译技术定义的基本指令块类似,也是一段不会再被拆分的指令序列,但是也有着明确的不同之处。如图2.3所示,运行时基本代码块根据其定义,是根据程序运行过程中行为规律进行划分的,而不再依赖于源程序语言的逻辑和语法结构。例如,0x401054出的指令和0x401056处的指令分属不同的运行时基本代码块。执行过程中出现的不会被控制类指令中断的序列,26
【学位授予单位】:清华大学
【学位级别】:博士
【学位授予年份】:2014
【分类号】:TP331
本文编号:2668574
【图文】:
任务完成以后,可变逻辑部分将被部署上新的电路逻辑以适应新的计算任务需求。如图1.1所示,可重构计算系统由两个部分构成:固定逻辑电路部分F和可变逻辑电路部分V。其中,固定逻辑部分是通用的处理器,在上面运行的软件部分负责任务的调度和对可变处理逻辑的控制。可变逻辑部分将根据计算任务的需要,适时地改变内部的电路逻辑,以硬件逻辑的方式完成设定的计算任务。当一个计算任务完成以后,可重构部分可以被替换为新的电路逻辑以适应新的计算任务需求。由于同时具备了两种不同的计算方式,这种可重构的体系结构就同时具备了可编程的灵活性和专用计算芯片的高效率。图1.1最初的可重构计算体系结构设想[1]这种可定制的硬件计算逻辑同时具备了可编程的灵活性和专用计算芯片的高效率。由于相关研究水平的限制,虽然当时的器件技术和软件设计技术并不能完美的支持这种通过可改变外围设备电路逻辑的方法,来获取高计算性能的设计,但是这种非冯式结构的计算体系开辟了计算机技术的一个新的研究领域[1]。而且
编译器视角下的逻辑代码片段单元运行时基本指令块和高级语言编译技术定义的基本指令块类似,也是一段不会再被拆分的指令序列,但是也有着明确的不同之处。如图2.3所示,运行时基本代码块根据其定义,是根据程序运行过程中行为规律进行划分的,而不再依赖于源程序语言的逻辑和语法结构。例如,0x401054出的指令和0x401056处的指令分属不同的运行时基本代码块。执行过程中出现的不会被控制类指令中断的序列,26
【学位授予单位】:清华大学
【学位级别】:博士
【学位授予年份】:2014
【分类号】:TP331
【参考文献】
相关期刊论文 前3条
1 刘功杰,张鲁峰,李思昆;遗传算法在软硬件划分中的应用[J];国防科技大学学报;2002年02期
2 刘安;冯金富;梁晓龙;杨啸天;;基于遗传粒子群优化的嵌入式系统软硬件划分算法[J];计算机辅助设计与图形学学报;2010年06期
3 邢冀鹏;邹雪城;刘政林;陈毅成;;一种基于改进模拟退火算法的软硬件划分技术[J];微电子学与计算机;2006年05期
本文编号:2668574
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2668574.html