当前位置: 首页 > 专利查询>天津大学专利>正文

一种指令级并行处理器低功耗设计优化方法技术

技术编号:13672627 阅读:69 留言:0更新日期:2016-09-07 20:59
本发明专利技术涉及一种指令级并行处理器低功耗设计优化方法,包括:利用编译器分析输入的应用程式各个部分的硬件资源和并行度需求量信息,并且得到该应用程式的基本块,以及由这些基本块构成的控制流图CFG和循环层次树LHTs;识别区域核心;扩大区域,把剩余的基本块合并进来,找出与剩余的基本块直接相连的区域核心,比较连接这些区域核心的边的执行次数,找出执行次数最大的边,并把这条最大的边连接的基本块合并到区域核心中,直到没有剩余的基本块为止;重新调度这支应用程式,每个区域用设置好的并行度进行调度,并在每个区域执行前插入power gating指令,把空闲的硬件资源关断,降低漏电功耗。本发明专利技术可以以减小漏电功耗对处理器工作性能的影响,提高ILP处理器中硬件资源的利用率。

【技术实现步骤摘要】
所属
本专利技术属于计算机体系结构设计
,涉及一种低功耗设计优化方法。
技术介绍
最近几年,智能手机,可穿戴式智能设备等电子产品迅速发展,几乎每个人都拥有一部电子设备,这些电子设备执行速度可以满足大多数用户的使用需求,但是功耗问题却特别突出,经常会影响设备的性能,操作时间;特别在互联网+时代,对于计算机,智能机的性能要求越来越高,提高设备的能量效率,即在不影响设备执行速度的前提下,降低功耗就越来越重要。这些电子设备执行速度快主要原因是指令级并行(Instruction Level Parallelism,ILP)处理器结构的应用,该结构使得多条指令可以在同一时间内同时执行。但是不同的应用程式运行在ILP处理器上时,对于硬件资源(如:功能单元和寄存器)的需求量有很大的差异,甚至在同一支应用程式中,不同的部分在执行的过程中对于硬件资源的需求量差异也很明显,如果利用传统的自始至终ILP处理器的全部硬件资源同时开启,即以最大的并行度执行一支应用程式,那么对于硬件资源需求量很小的程式必然会造成额外的资源浪费,这些处于空闲状态的硬件资源必然会引起额外的漏电功耗;特别是晶体管的特征尺寸进入深亚微米级时,漏电功耗急剧增加甚至会超过动态功耗,ILP处理器中这些处于空闲状态的硬件资源产生的漏电功耗必然会降低处理器工作的性能,进而影响设备的可靠性。为了降低漏电功耗,电源门控(power gating)技术作为电流开关被广泛应用,即通过把空闲的设备关断来降低漏电功耗。power gating技术在应用时面临的巨大挑战就是使电路状态发生转换的过程中,会产生很大的耗能和延迟,这导致电路不能在任何时候都随意的开启和关断,power gating指令必须插入到合适的地方。但是Tabkhi于2014年提出的AFReP算法没有考虑power gating技术产生的状态转换的额外耗能,只是在执行应用程式中每个函数前插入power gating指令,这导致了硬件设备频繁开启,即每进入一个函数都改变一次硬件组态,硬件设备的频繁开启,导致产生很大的额外耗能,总体评估AFReP的节能效果,虽然降低了漏电耗能,但是却产生很大的额外耗能,效果不好。为了达到省电的目的,必须保证节约的漏电耗能大于电路开关过程中产生的额外耗能,必须找到合适地方插入power gating指令,并且应用程式不同的地方根据需求设置合适的并行度执行。
技术实现思路
本专利技术的目的是在不影响执行时间的前提下,提供一种能降低ILP处理器中处于空闲状态的硬件资源产生的漏电功耗的优化方法,以减小漏电功耗对处理器工作性能的影响,提高ILP处理器中硬件资源的利用率,并且提高以ILP处理器为核心的设备的可靠性。主要技术方案如下:一种指令级并行处理器低功耗设计优化方法,包括下列步骤:(1)利用编译器分析输入的应用程式各个部分的硬件资源和并行度需求量信息,并且得到该应用程式的基本块,以及由这些基本块构成的控制流图CFG和循环层次树LHTs;(2)划分应用程式,把应用程式切割为不同的区域,方法如下:第一步,识别区域核心:找出这段应用程式中可以形成区域核心的循环,计算Tth为设备关断的最小空闲时间,在关断的最小空闲时间Tth内,恰好使得节约的漏电耗能等于开关过程中产生的额外耗能,公式如下: T t h = E o v e r h e a d P l e a k a g e ]]>其中,Eoverhead为电路开关一次消耗的能量,Pleakage为电路处于空闲状态消耗的漏电功率;从底向上处理LHTs的每个循环,如果有某些循环的执行时间超过Tth,则这些循环被识别为区域核心;第二步,以这些循环为区域核心,扩大区域,把剩余的基本块合并进来,找出与剩余的基本块直接相连的区域核心,比较连接这些区域核心的边的执行次数,找出执行次数最大的边,并把这条最大的边连接的基本块合并到区域核心中,直到没有剩余的基本块为止;(3)根据各个区域硬件资源和并行度的需求量,设置各个区域的执行并行度为饱和并行度,使整个应用程式执行过程中,根据自身需求,能不断的调整和改变并行度;(4)编译器重新调度这支应用程式,每个区域用设置好的并行度进行调度,并在每个区域执行前插入power gating指令,把空闲的硬件资源关断,降低漏电功耗。该方法在满足预期执行时间的前提下,充分考虑power gating指令插入后,硬件状态转换(硬件开启和关断转换)过程中引起的额外的耗能和延迟,合理的划分应用程式,插入power gating指令,使得一支程式不同的程序段采用不同的并行度和硬件组态执行,最终使得ILP处理器漏电功耗降低,并且状态转换引起的额外耗能也尽可能小,提高能量效率。附图说明图1编译器工作流程(技术方案)。图2原始应用程式段。图3(a)应用程式的控制流图(b)应用程式的循环层次树。图4(a)识别核心区域(b)合并剩余的基本块。图5执行速度与并行度的关系。图6算法优化后应用程式段。图7算法优化后应用程式执行并行度。具体实施方式本专利技术主要利用编译器帮助分析和调度应用程式的指令,分析应用程式执行时间,硬件需求量,以及并行度的需求量,划分应用程式,并设置各个区域的并行度,在每个区域执行前插入power gating指令,关断空闲的硬件设备,提高能量效率。图1展示了编译器在整个方案中工作流程。下面结合附图和实施例对本专利技术进行说明。(1)输入一支如图2所示的应用程式,编译器首先把这样的高级语言,转换为中间语言的字节码,然后利用编译器的优化工具,提取出这段应用程式的CFG,LHTs,如图3所示,并且分析这段程式在各个并行度下的执行时间和对于硬件资源的需求量。(2)由于power gating指令的插入,使得硬件设备会发生开关之间的状态转换,在转换的过程中,会产生很大的额外的耗能和延迟,为了达到省电的目的,必须保证由于关断空闲设备节约的漏电耗能大于开关过程中产生的额外耗能,必须找到合适的地方插入power gating指令。第一步,识别区域核心。Tth为设备关断的最小空闲时间,在关断的最小空闲时间内,恰好使得节约的漏电耗能等于开关过程中产生的额外耗能。 T t h = E o v e r h e a d P 本文档来自技高网
...

【技术保护点】
一种指令级并行处理器低功耗设计优化方法,包括下列步骤:(1)利用编译器分析输入的应用程式各个部分的硬件资源和并行度需求量信息,并且得到该应用程式的基本块,以及由这些基本块构成的控制流图CFG和循环层次树LHTs;(2)划分应用程式,把应用程式切割为不同的区域,方法如下:第一步,识别区域核心:找出这段应用程式中可以形成区域核心的循环,计算Tth为设备关断的最小空闲时间,在关断的最小空闲时间Tth内,恰好使得节约的漏电耗能等于开关过程中产生的额外耗能,公式如下:Tth=EoverheadPleakage]]>其中,Eoverhead为电路开关一次消耗的能量,Pleakage为电路处于空闲状态消耗的漏电功率;从底向上处理LHTs的每个循环,如果有某些循环的执行时间超过Tth,则这些循环被识别为区域核心;第二步,以这些循环为区域核心,扩大区域,把剩余的基本块合并进来,找出与剩余的基本块直接相连的区域核心,比较连接这些区域核心的边的执行次数,找出执行次数最大的边,并把这条最大的边连接的基本块合并到区域核心中,直到没有剩余的基本块为止;(3)根据各个区域硬件资源和并行度的需求量,设置各个区域的执行并行度为饱和并行度,使整个应用程式执行过程中,根据自身需求,能不断的调整和改变并行度;编译器重新调度这支应用程式,每个区域用设置好的并行度进行调度,并在每个区域执行前插入power gating指令,把空闲的硬件资源关断,降低漏电功耗。...

【技术特征摘要】
1.一种指令级并行处理器低功耗设计优化方法,包括下列步骤:(1)利用编译器分析输入的应用程式各个部分的硬件资源和并行度需求量信息,并且得到该应用程式的基本块,以及由这些基本块构成的控制流图CFG和循环层次树LHTs;(2)划分应用程式,把应用程式切割为不同的区域,方法如下:第一步,识别区域核心:找出这段应用程式中可以形成区域核心的循环,计算Tth为设备关断的最小空闲时间,在关断的最小空闲时间Tth内,恰好使得节约的漏电耗能等于开关过程中产生的额外耗能,公式如下: T t h = E o v e r h e a d P l ...

【专利技术属性】
技术研发人员:张为佟玉凤
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

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

1