一种面向运算器电源门控技术的低漏功耗调度方法

文档序号:1073154 发布日期:2020-10-16 浏览:47次 >En<

阅读说明:本技术 一种面向运算器电源门控技术的低漏功耗调度方法 (Low-leakage-power-consumption scheduling method for power gating technology of arithmetic unit ) 是由 姚蔓婷 何琪 张泽宇 李贤超 于 2020-07-06 设计创作,主要内容包括:本发明提供一种面向运算器电源门控技术的低漏功耗调度方法,包括:获取运算器中漏电功耗与时间的关系、运算器中电源开关能耗与时间的关系;基于运算器中漏电功耗与时间的关系、以及运算器中电源开关能耗与时间的关系确定运算器中各个空闲时段的时钟长度;根据运算器中各个空闲时段的时钟长度确定运算器中各个空闲时段的惩罚时长,并在可调度空间内最小化惩罚时长,获得运算器的最小漏电能耗。本发明能够针对细粒度电源门控技术展开低漏功耗调度算法研究。在系统时延约束以及运算器资源约束下,对采用运算器电源门控技术的ASIC电路漏电能耗进行分析,通过设计合适的操作调度来降低电路调度结果所需的漏电功耗。(The invention provides a low-leakage power consumption scheduling method for an arithmetic unit power gating technology, which comprises the following steps: acquiring the relation between the leakage power consumption and the time in the arithmetic unit and the relation between the power consumption and the time of a power switch in the arithmetic unit; determining the clock length of each idle period in the arithmetic unit based on the relation between the leakage power consumption and the time in the arithmetic unit and the relation between the power consumption of a power switch in the arithmetic unit and the time; and determining the punishment duration of each idle period in the arithmetic unit according to the clock length of each idle period in the arithmetic unit, and minimizing the punishment duration in the schedulable space to obtain the minimum leakage energy consumption of the arithmetic unit. The invention can develop low-leakage power consumption scheduling algorithm research aiming at the fine-grained power gating technology. Under the constraints of system time delay and the resources of an arithmetic unit, the leakage power consumption of the ASIC circuit adopting the power gating technology of the arithmetic unit is analyzed, and the leakage power consumption required by the scheduling result of the circuit is reduced by designing proper operation scheduling.)

一种面向运算器电源门控技术的低漏功耗调度方法

技术领域

本发明涉及集成电路技术领域,特别是涉及一种面向运算器电源门控技术的低漏功耗调度方法。

背景技术

在摩尔定律的引领下,集成电路的复杂度成倍地提高,工艺节点快速进步至纳米级,芯片设计的复杂度大幅增加,高性能低功耗架构逐渐成为主流设计要求。尤其是工艺发展至65nm及以下时,漏电功耗开始迅速增大,加之便携及移动设备的广泛应用,使得漏电功耗已经成为集成电路中日趋重要的问题。在成熟的14nm工艺中,虽然低漏功耗器件和工艺的应用在一定程度上缓解了漏电功耗进一步增长的趋势,但是漏电功耗依然是集成电路设计中的重要指标。

漏电功耗的显著增加使得设计者们在电路设计追求高性能的同时,还需兼顾低漏功耗的需求。研究者们在电路设计的各个阶段广泛应用了各类低漏功耗技术或工艺,如电源门控技术等。电源门控技术是工业界常用的一项低功耗技术,它通过关断模块的电源来减少该模块的漏电功耗。电源门控技术首先需要将设计分为不同的电压域,基于电压域的门控称为粗调电源门控;当门控模块需要关断时,该模块的状态将被保存至状态保持寄存器中以便再次唤醒该模块。当电压域中的电源断开后,仅有状态寄存器保持工作,因此设计者们通过减少电路所需状态保持寄存器的数量来降低电路在空闲模式下的漏电功耗。

然而,随着电路工艺节点技术的快速精进,漏电功耗在总功耗中所占比重越来越大。因此,为了进一步减少电路的漏电功耗,一种运算器级别的细粒度电源门控技术成为了近期研究的热点;该技术将根据各个运算器的工作时间,独立地开关各个运算器的电源电压。不同于粗粒度的电源门控技术,细粒度的电源门控在关断电源后在单位时间所优化的漏电功耗有限,这是得电源门控在开关电源所消耗的能耗无法被忽略,因此只有当运算器的空闲时段超过一定阈值后才会将其电源电压关断。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种面向运算器电源门控技术的低漏功耗调度方法,用于解决现有技术中存在的问题。

为实现上述目的及其他相关目的,本发明提供一种面向运算器电源门控技术的低漏功耗调度方法,包括有:

获取运算器中漏电功耗与时间的关系、运算器中电源开关能耗与时间的关系;

基于运算器中漏电功耗与时间的关系、以及运算器中电源开关能耗与时间的关系确定运算器中各个空闲时段的时钟长度;

根据运算器中各个空闲时段的时钟长度确定运算器中各个空闲时段的惩罚时长,并在可调度空间内最小化所述惩罚时长,获得运算器的最小漏电能耗。

可选地,设定操作类型为k的运算器均衡时长为空闲时段的总时钟长度ITk,第i个空闲时段的时钟长度为则操作类型为k的运算器中所有空闲时段内的总收益时长

Figure BDA0002569660770000023

为:

Figure BDA0002569660770000024

可选地,若操作类型为k的运算器数量为FUk,操作的数量为opk,则这些运算器上所有的空闲时段数量为FUk+opk

设定操作类型为k的操作所需的执行时间为dlyk,则该类型运算器中所有空闲时段的总时钟长度为:

可选地,所述空闲时段包括长空闲时段、短空闲时段;其中,所述长空闲时段中的时钟长度大于均衡时间的时钟长度;所述短空闲时段的时钟长度不大于均衡时间的时钟长度;

若长空闲时段的数量为α,短空闲时段的数量为β;则有:α+β=FUk+opk

则运算器的最小漏电能耗等同于最大化有:

Figure BDA0002569660770000032

由于

设定为第i个空闲时段内的惩罚时长,则所有操作类型中运算器的空闲时段的惩罚时长之和为

Figure BDA0002569660770000036

其值为:

可选地,在可调度空间内最小化所述惩罚时长前,还包括根据ASAP调度和ALAP调度确定各个操作的可调度空间。

可选地,若操作类型为vi,则操作vi的可调度空间表示为M(vi)=[Ms(vi),Me(vi)];

设定操作vj是与操作vi相同的操作类型,且vi与vj具有操作兼容性。对于相互兼容的两个操作类型vi与vj,设定它们空闲间隙的长度为ITi,j;则有:

Figure BDA0002569660770000041

设定ITi,j的惩罚时长为ITi,j_no_pg,则有:

Figure BDA0002569660770000042

将vi调度到合适的时钟周期,使得对应的

Figure BDA0002569660770000043

最小。

如上,本发明提供一种面向运算器电源门控技术的低漏功耗调度方法,具有以下有益效果:

通过获取运算器中漏电功耗与时间的关系、运算器中电源开关能耗与时间的关系;基于运算器中漏电功耗与时间的关系、以及运算器中电源开关能耗与时间的关系确定运算器中各个空闲时段的时钟长度;根据运算器中各个空闲时段的时钟长度确定运算器中各个空闲时段的惩罚时长,并在可调度空间内最小化惩罚时长,获得运算器的最小漏电能耗。本发明能够针对细粒度电源门控技术(针对每个运算器的电源电压进行单独控制)展开低漏功耗调度算法研究。在系统时延约束以及运算器资源约束下,对采用运算器电源门控技术的ASIC电路漏电能耗进行分析,通过设计合适的操作调度来降低电路调度结果所需的漏电功耗。

附图说明

图1为一实施例提供的面向运算器电源门控技术的低漏功耗调度方法的流程示意图;

图2为一实施例提供的电源门控电路示意图;

图3为一实施例提供的开关运算器中漏电功耗、电源开关能耗与时间的关系示意图;

图4为同一数据流程图的不同调度及绑定结果示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

请参阅图1至图4所示,本发明提供一种面向运算器电源门控技术的低漏功耗调度方法,包括有:

S100,获取运算器中漏电功耗与时间的关系、运算器中电源开关能耗与时间的关系;

S200,基于运算器中漏电功耗与时间的关系、以及运算器中电源开关能耗与时间的关系确定运算器中各个空闲时段的时钟长度;

S300,根据运算器中各个空闲时段的时钟长度确定运算器中各个空闲时段的惩罚时长,并在可调度空间内最小化惩罚时长,获得运算器的最小漏电能耗。

本发明通过获取运算器中漏电功耗与时间的关系、运算器中电源开关能耗与时间的关系;基于运算器中漏电功耗与时间的关系、以及运算器中电源开关能耗与时间的关系确定运算器中各个空闲时段的时钟长度;根据运算器中各个空闲时段的时钟长度确定运算器中各个空闲时段的惩罚时长,并在可调度空间内最小化惩罚时长,获得运算器的最小漏电能耗。本发明能够针对细粒度电源门控技术(针对每个运算器的电源电压进行单独控制)展开低漏功耗调度算法研究。在系统时延约束以及运算器资源约束下,对采用运算器电源门控技术的ASIC电路漏电能耗进行分析,通过设计合适的操作调度来降低电路调度结果所需的漏电功耗。

在一示例性实施例中,设定操作类型为k的运算器均衡时长为空闲时段的总时钟长度ITk,第i个空闲时段的时钟长度为ITi k;则操作类型为k的运算器中所有空闲时段内的总收益时长为:

Figure BDA0002569660770000063

在一示例性实施例中,若操作类型为k的运算器数量为FUk,操作的数量为opk,则这些运算器上所有的空闲时段数量为FUk+opk

设定单个操作类型为k的操作所需的执行时间为dlyk,则该类型运算器中所有空闲时段的总时钟长度为:

Figure BDA0002569660770000064

在一示例性实施例中,所述空闲时段包括长空闲时段、短空闲时段;其中,所述长空闲时段中的时钟长度大于均衡时间的时钟长度;所述短空闲时段的时钟长度不大于均衡时间的时钟长度;

若长空闲时段的数量为α,短空闲时段的数量为β;则有:α+β=FUk+opk

则运算器的最小漏电能耗等同于最大化

Figure BDA0002569660770000065

有:

Figure BDA0002569660770000066

由于

Figure BDA0002569660770000067

Figure BDA0002569660770000071

设定

Figure BDA0002569660770000072

为第i个空闲时段内的惩罚时长,则所有操作类型中运算器的空闲时段的惩罚时长之和为其值为:

Figure BDA0002569660770000074

在一示例性实施例中,在可调度空间内最小化所述惩罚时长前,还包括根据ASAP调度和ALAP调度确定各个操作的可调度空间。具体地,若操作类型为vi,则操作vi的可调度空间表示为M(vi)=[Ms(vi),Me(vi)];

对于相互兼容的两个操作类型vi与vj,设定它们空闲间隙的长度为ITi,j;则有:

设定ITi,j的惩罚时长为ITi,j_no_pg,则有:

将vi调度到合适的时钟周期,使得对应的

Figure BDA0002569660770000077

最小。

高层次综合是集成电路设计的最初阶段,它首先将系统的行为级描述转换为表示数据依赖关系的数据流程图,然后基于数据流程图进行操作调度、资源分配、运算器绑定、连线网络和控制器生成等,并最终得到寄存器传输级电路设计结果。尽管高层次综合中存在最大的漏电功耗优化机遇,但是由于各类问题多为NP难问题,因此鲜有研究者在高层次综合中进行漏电功耗优化。具体地,如图3所示,在t=t1时刻,控制电路决定将该运算器的电源关闭,“Sleep”信号被使能并于t=t2时刻送至头门控开关,该过程所需的额外能耗为Eo1。当头门控开关接收到“Sleep”信号时,电路的虚Vdd(标记为Vddv)开始降低,并于t=t4时刻完全放电。

设运算器需要在t=t5时刻开始唤醒。“Sleep”信号也将被禁能,相应会产生的额外能耗为Eo2。在t=t6时,头门控开关已完全打开,Vddv开始充电,并在t=t7时刻完成充电。在突破时刻t=t3时,通过降低Vddv来减少的运算器漏电能耗等同于开关头门控开关时的额外能耗(Eo=Eo1+Eo2),此时距离电源关闭最开始的时间已经过去了tb=t3-t1。Vddv的充电时间为tc=t7-t6,意味着运算器需要提前tc时刻开始对Vddv进行充电,以便于该运算器能够按时进行操作的运算。

综上所述,只有当运算器的空闲时段(idle time)的长度IT大于tb+tc时,在该空闲时段内关闭该运算器的电源电压才能减少漏电能耗。在后续的讨论中,tbal=tb+tc将被称为运算器的均衡时间。收益时长clkpg为在时长为IT的空闲时段内,关断电源所能获得的漏电功耗优化时间长度,clkpg的可表示为:

而运算器空间间隔内的惩罚时长表示为clkno_pg=IT-clkpg,表示该时间段内无法获得漏电功耗的优化。其同样可以表示为:

Figure BDA0002569660770000082

为了直观地中展示高层次综合中的调度过程是如何影响电路的漏电能耗的,图4中给出了同一个数据流程图(如图4(a)所示)的2种不同调度及绑定结果。图4中所需的乘法器数量均为3,时间约束为12个时钟周期,

Figure BDA0002569660770000091

周期。图4(b)所示的是列表调度(Listscheduling)的调度结果以及左边算法(Left edge)的操作绑定结果,其对应的周期。而在图4(c)中所示的例子中,周期,因此该结果将获得更多的漏电能耗优化。

ITi表示所有运算器中的第i个空闲时段,根据空闲时段所处的位置,其将被分为以下三类:

1)运算器上两个相邻操作之间的空闲时段;

2)程序开始时与第一个操作之间的空闲时段;

3)最后一个操作及程序结束之间的空闲时段。

如果空闲时段的长度为0,我们同样认为该空闲时段是存在的。

由于不同运算器的功耗、电阻等IC属性有着显著的差别,因此在不同类型的运算器将分开进行讨论。

操作类型为k的运算器均衡时长表示为

Figure BDA0002569660770000094

空闲时段表示为ITk,其中第i个空闲时段的长度表为类型为k的运算器中所有空闲时段内收益时长之和可以表示为其定义如下:

则所有类型为k的运算器所减少的漏电能耗为其计算方法如下:

Figure BDA0002569660770000099

其中

Figure BDA00025696607700000910

分别为电源打开及关闭时的单个时钟周期内运算器的漏电能耗。

硬件设计结果所需的所有类型的运算器的漏电能耗优化值表示为Engredu,等于所有类型的

Figure BDA00025696607700000911

之和。

运算器中空闲时段的长度直接决定了运算器所能优化的能耗,因此我们需要首先在操作调度中分析运算器中各个空闲时段的长度。

假设k类型的运算器数量为FUk,操作的数量opk,则这些运算器上所有的空闲时段数量为FUk+opk。设单个类型为k的操作所需的执行时间为dlyk,则该类型运算器中所有空闲时段的总时钟长度为:

Figure BDA0002569660770000101

根据空闲时段的长度,我们将空闲时段分为两类:1)长空闲时段ITl,其时长大于运算器的均衡时长ITl>tbal;2)短空闲时段ITs,其时长不大于运算器的均衡时长ITs≤tbal。设长空闲时段的数量为α,短空闲时段的数量为β,则有α+β=FUk+opk。最小化运算器的漏电能耗等同于最大化并可得到下式:

由于操作数量固定以及运行时长固定,因此所有的运算器的工作时长为常量,因此运算器中总的空闲时段长度为

Figure BDA0002569660770000104

也为常量。由于

Figure BDA0002569660770000105

因此我们得出:

由上式可知,最大化

Figure BDA0002569660770000107

等同于最小化

Figure BDA0002569660770000108

Figure BDA0002569660770000109

为第i个空闲时段内的惩罚时长。所有k类型运算器上的空闲时段的惩罚时长之和为

Figure BDA00025696607700001010

其值为:

因此,最小化漏电能耗问题转化为了最小化空闲时段内惩罚时长的问题。

在操作进行调度前,我们需要对所有的操作分别进行资源约束下的ASAP调度以及ALAP调度以确定各个操作的可调度空间(mobility)。操作vi的可调度空间表示为M(vi)=[Ms(vi),Me(vi)]。

设vi与vj具有相同的操作类型,当其调度空间满足M(vi)∪M(vj)≥d(vi)+d(vj)时,这两个操作能够被绑定至同一运算器中,则vi与vj具有操作兼容性。操作vi的兼容集C(vi)为所有与vi兼容操作的集合。

在实际的调度过程中,由于操作在其可调度空间中存在多个可能的调度结果,因此我们需要首先计算出操作之间空闲时段的长度。对于相互兼容的操作类型为k的两个操作vi与vj,它们之间空闲间隙的长度为ITi,j,其计算方法如下:

ITi,j中的惩罚时长时长表示为ITi,j_no_pg,其计算方法为:

vi的调度结果将直接影响着所有的长度,从而影响着上述空闲间隔中惩罚时长的长度。因此我们将vi调度到合适的时钟周期,使得对应的最小。

综上所述,本发明方法步骤如下:

输入:数据流程图G=(V,E),时间及资源约束;

输出:操作调度结果。

Step 1.计算出时间以及资源约束下各个操作的ASAP调度结果;

Step 2.计算出时间以及资源约束下各个操作的ALAP调度结果;

Step 3.确定各个操作的可调度空间;

Step 4.选择一个未被调度的操作vi∈V,vi所有调度结果的集合标记为S;

Step 4-1.将vi调度至s;

Step 4-2.计算

Step 4-3.计算该调度结果的代价

Step 5.对于vi的各个调度结果

Figure BDA0002569660770000123

找出代价最小的调度结果s';

Step 6.将vi调度至s'∈S;

Step 7.若所有操作均被调度,则结束;否则跳转至Step1。

本发明通过获取运算器中漏电功耗与时间的关系、运算器中电源开关能耗与时间的关系;基于运算器中漏电功耗与时间的关系、以及运算器中电源开关能耗与时间的关系确定运算器中各个空闲时段的时钟长度;根据运算器中各个空闲时段的时钟长度确定运算器中各个空闲时段的惩罚时长,并在可调度空间内最小化惩罚时长,获得运算器的最小漏电能耗。本发明能够针对细粒度电源门控技术(针对每个运算器的电源电压进行单独控制)展开低漏功耗调度算法研究。在系统时延约束以及运算器资源约束下,对采用运算器电源门控技术的ASIC电路漏电能耗进行分析,通过设计合适的操作调度来降低电路调度结果所需的漏电功耗。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据处理方法及FPGA

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类