首页> 中国专利> 用于实时功率估算的采样芯片活动

用于实时功率估算的采样芯片活动

摘要

一种用于实时功率估算的系统与方法。核心可被分割成数个单元。仿真每个单元以达成实际功率消耗的特征描述。采样该功率消耗。进行统计分析,该统计分析假设该核心具有以具有泊松分布(Poisson distribution)的平稳随机过程(stationary random process)来估计的节点电容切换行为。该统计分析确定在采样区间期间要采样的数量。使用操作频率、采样区间、与样本数来确定要采样的信号数量。选择具有与节点电容切换行为有高关联性的信号,例如在时钟分配系统最后阶段的时钟激活信号。指定具有已调整过的加权值给每个采样信号。每隔预定的时钟周期数目便进行采样。加总所主张的采样信号的加权值以确定可重复的功率估算值。

著录项

  • 公开/公告号CN102272735A

    专利类型发明专利

  • 公开/公告日2011-12-07

    原文格式PDF

  • 申请/专利权人 先进微装置公司;

    申请/专利号CN200980117897.3

  • 发明设计人 S·D·纳夫齐格;

    申请日2009-04-10

  • 分类号G06F11/30;G06F1/26;

  • 代理机构北京戈程知识产权代理有限公司;

  • 代理人程伟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 04:00:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-18

    授权

    授权

  • 2012-01-25

    实质审查的生效 IPC(主分类):G06F11/30 申请日:20090410

    实质审查的生效

  • 2011-12-07

    公开

    公开

说明书

技术领域

本发明是有关电子电路,尤有关一种经济而有效的方法,可重复 且精确地实时估算功率。

背景技术

当前集成电路(IC)的功率消耗已经造成每一代半导体芯片越来越 多的设计问题。增加的IC功率消耗直接影响建构系统的成本。当功率 消耗增加时,为了移除多余热量并防止IC故障,必须使用更昂贵的冷 却系统(例如较大的风扇与散热器),而冷却系统却会增加系统的成本。 IC功率消耗的限制不只是可携式计算机与行动通讯装置的问题,也是 高效能超纯量微处理器(superscalar microprocessor)的问题,该微处理器 可包含多个处理器核心(简称核心)以及核心内的多条管线(pipeline)。

IC(例如现代的互补金属氧化半导体(CMOS)芯片)的功率消耗是与 数学式αfCV2成比例。符号α是切换因子(switching factor)、或节点在 时钟周期期间将令充电或放电的机率。符号f是芯片的操作频率。符号 C是等效电容、或是在时钟周期中待充电或待放电的切换电容。符号V 是芯片的操作电压。当企图减低芯片的功率消耗与减低晶体管内的静 电场时,可降低功率供给电压V。功率供给电压的降低是有限度的, 这是因为电压的降低会减少可流过晶体管的电流量,因此会增加通过 晶体管的传播延迟(propagation delay)。如果为了较早导通(turn-on)晶体 管并帮助维持效能而减低了临限电压,却会增加晶体管的漏电流。晶 体管漏电流的增加将同时增加功率消耗与逻辑故障的可能性。

在每个世代核心上的装置和金属布线的几何尺寸正在缩减。超纯 量设计增加在晶粒上的集成电路密度,并具有多条管线、较大快取与 较复杂的逻辑。因此,每个时钟周期可切换的节点数量便显著增加。 操作频率也随着每个世代而不断增加。对于芯片中某些区块或单元, 可藉由关闭非使用周期期间该等区域的时钟以降低切换因子α。因此, 虽然操作电压和切换因子可随着IC的每个世代而一直减少,但是IC 功率消耗式子中的其它项目却一直增加并导致整体功率消耗的增加。 对于此功率消耗增加的一些解决方案包含微体系结构 (microarchitectural)与电路阶层(circuit-level)的技术两者。

这些设计技术是藉由在实时估算功率消耗的努力来协助的。举例 来说,当执行一个或多个应用程序时,如果知道核心的实时功率消耗、 也将该功率消耗传达至功率管理器(power manager),则功率管理器便可 改变操作的供应电压、操作频率或两者,以在低功率消耗周期期间增 加效能、或在高功率消耗周期期间减少功率消耗。

欲达成实时功率估算可藉由一种监控器,在特定时钟周期期间量 测晶粒上的切换电容。节点电容Cac同时包括经切换的电容(或ac)电 容、以及源自交变电流(crossover current)的有效电容。对于指定部分而 言,当操作已经达到温度极限时,漏电流是固定的。此漏电流数值可 根据在测试时间所量测的熔入功率偏移(fused-in power offset)来说明。 基于以下讨论的可重复性理由,并不鼓励企图利用由温度所引起之漏 电流变量。因此为了获得芯片功率准确而实时的估算,所需要的是操 作的供应电压(系被数字地设定)、操作频率(系为已知)、在测试期间发 现的熔入漏电流值、以及在特定时钟周期内所切换之设计中的节点数 量与节点电容Cac的量测值。后项Cac并不是从半导体芯片上直接量 测到的数值。

芯片内监控器(on-chip monitor)可企图量测切换节点的电容Cac。 该监控器可量测单一核心或具有多个核心之处理器内的指令发行速度 (instruction issue rate)。如果能监控主要组件(例如指令发行队列、重排 序缓冲区、实体寄存器档案、执行单元等等)的行为与它们个别间的交 互作用,便可增加准确度。然而,为达此目的却采样数百个信号将付 出额外的金属线路、增加电路与增加功率消耗的巨额代价。

再者,监控器与后续的响应机制(例如功率管理器)必须是确定 (determinstic)的。换句话说,该监控器与机制需要从部件至部件 (part-to-part)、系统至系统(system-to-system)、与程序执行至程序执行 (run-to-run)都提供相同的结果或是频率的改变。此需求的理由是于其系 统中使用该处理器的原始设备制造商(Original Equipment Manufacturer,简称OEM)必须对客户提供效能保证。客户与OEM需 要在不同时间与不同位置处重复基准测试程序(benchmark)和效能量 测。如果这些重复不能在严格的容许量(也就是+/-1.5%)内达成,则该 监控器与响应机制便需要被关闭。这是因为该监控器与机制占用了晶 粒面积却无助于改善效能与节省功率。

模拟传感器(例如温度传感器及/或安培计)能够提供准确的功率估 算,但是它们全部具有环境相依性。在制造过程、周遭温度与电力供 应上的变化,以及散热解决方案的品质都会改变模拟传感器的量测值。

鉴于以上所述,需要一种经济而有效的方法与机制来提供准确、 数字的IC实时功率估算。

发明内容

本发明系设想准确的实时功率估算系统与方法。

实施例提供一种系统,包括功能模块、功率监控器、与功率管理 器。该功率管理器是组构成用来响应功率估算值而传送操作电压与频 率调整至该功能模块,以反求该功能模块内的功率消耗行为。对于预 定数量之采样信号的每一个,该功能模块是组构用以储存其逻辑值并 传送该逻辑值至功率监控器。对于预定数量之采样信号的每一个,该 功率监控器是组构用以储存其加权值、仅对于具有逻辑高(logic high) 数值之已储存的逻辑值的采样信号加总其加权值、并传送该功率估算 值至该功率管理器,其中,该功率估算值是转换(translate)自该加权值 的总和。

本发明的另一态样提供一种方法,用来响应功率估算值而传送操 作电压与频率调整以反求功率消耗行为。有用于预定数量之采样信号 的每一个的逻辑值储存器,也有用于预定数量之采样信号的每一个的 加权值储存器。对于储存有逻辑高值之逻辑值的采样信号,仅从该等 采样信号的加权值来计算累积值。该功率估算值是转换自该加权值的 总和、并且被传送至功率管理器。

本发明的另一态样提供一种功率监控器,包括组构用来与功能模 块和功率管理器进行通讯的接口。加权表(weight table)系储存预定数量 之采样信号的每一个的加权值。对于储存有逻辑高值之逻辑值的采样 信号,加权累积器仅加总该等采样信号的加权值。链式控制(chain control)系传送功率估算值至功率管理器,其中,该功率估算值是转换 自该加权值的总和。

藉由参照下面的叙述与所附图标将了解这些与其它的实施例。

虽然本发明可接受各种修改与替代形式,但是在此仍将藉由图式 中的例示方式来展示并详细描述具体的实施例。然而应了解到,图式 与其详细描述并非限制本发明仅于揭露的特定形式,相反地,本发明 意欲涵盖落入所附权利要求书所定义之本发明的精神与范畴内所有的 修改型式、均等物与替代方案。

附图说明

图1是说明具有功率管理的IC(例如核心)之实施例的一般方块图;

图2A是说明在采样区间期间,执行在核心上的应用程序之实际功 率量测的实施例示意图;

图2B是说明在采样间隔期间,执行在核心上的应用程序之实际功 率量测的数字采样实施例的示意图;

图3是说明用以采样信号并连串输出该采样信号值之电路的实施 例示意图;

图4是说明用以从单元输出采样信号信息之时序图的实施例示意 图;

图5是说明功率估算监控电路之实施例的一般方块图;

图6是说明用于核心的准确实时功率估算方法之实施例的一般方 块图;以及

图7是说明对于为了核心的准确实时功率估算所采样的信号,进 行确定应指定给该采样信号之加权值的方法其中一个实施例的一般方 块图。

具体实施方式

在下列描述中,将提出许多具体细节以帮助彻底了解本发明。然 而,此技术领域中具有通常知识者应认知到就算没有这些具体细节依 然可以实施本发明。在一些例子中为了避免模糊本发明的焦点,便不 详细显示已知的电路、结构和技术。

参照图1,系显示核心功率管理100的实施例。此处核心102可为 任意集成电路(IC)。在一个实施例中,核心102可为处理器核心。处理 器核心可具有晶粒上(on-die)的指令和数据快取。处理器核心可为具有 单一管线或多条管线的超纯量处理器。在另一实施例中,核心102可 为特定应用IC(ASIC)。可使用任意晶体管家族来实现核心102,例如 金属氧化物半导体的场效晶体管(metal oxide semiconductor field effect transistor,MOSFET)与双极接面晶体管(bipolar junction transistor,BJT) 等等。

功能模块110可包含组构成用来执行逻辑功能、数据储存、或其 它功能的晶体管。为了功率管理的目的,可将功能模块110分成单元 132a至132d。此处的命名原则是数字后接着字母的组件符号可单独以 数字来作为通称。举例来说,单元132a至132d可通称为单元132。在 一个实施例中,单元132可非对应于功能组件,像是重排序缓冲区、 内存管理单元、执行单元或处理器的其它部分。相反地,可根据为了 功率管理目的而必须被采样的信号类型来选择单元132。举例来说,经 布线配置至局部时钟分配模块(local clock distribution block)的时钟激活 信号(clock enable signal)可为经选择作为要采样的信号。

在特定时钟周期期间要选择哪个信号来采样可对应于该选择对于 切换节点电容Cac量的关联性有多高。稍后将提供采样信号选择的进 一步描述。在平面设计(floorplan)中,所选择的时钟激活信号可能会重 叠功能模块。因此,分开像是单元132a和132b的分割(division)可能不 是对应至该平面设计中的分割。单元132是消耗功率的该等单元,且 此功率会被实时量测。

实施例可使用功率监控器130收集来自单元132的数据,例如所 有预定采样信号的逻辑值。收集数据以后,功率监控器130可计算功 率消耗的估算值。监控器控制(monitor control)132可对应至每个单元 132。在替代的实施例中,监控器控制132可收集两个或多个单元112 的数据并计算这些单元112的总功率估算值。又另一实施例中,一个 监控器控制132(也就是控制132a)可具有包含一个或多个其它监控器控 制132(也就是控制132b至132d)的信号接口,用以收集来自该一个或 多个监控器控制132(也就是控制132b至132d)的数据。之后,可计算 对于该一个或多个监控器控制132的功率估算值。

信号采样120与数据移出(dataout)122是为了功率管理目的而使用 的控制与数据信号。在功率监控器110与功能模块130之间的接口信 号可包括任何必要数量的信号与通讯协议。实施例的该控制信号采样 120可只在像是每100个时钟周期之选定的重复区间内的单一时钟周 期才被主张(assert)。在一个实施例中,于主张该控制信号采样120之 后预定数量的时钟周期,在数据移出122的数据信号可开始于每个时 钟周期针对不同的采样信号提供逻辑值。换句话说,可使用数据移出 122的数据信号以扫描出一连串的数值,该数值包括在特定周期之采样 信号的逻辑值。此外在其它实施例中,每个成对的监控器控制132和 单元112之间可能没有单一对信号。在替代的实施例中可包含额外的 信号,用来使监控器控制132轮询单元112以及使单元112向监控器 控制132响应确认已准备好要传送输出数据。

在功率监控器130从接收自功能模块110的数据计算出准确的实 时功率估算之后,功率监控器130便确定出目前应用程序执行时的功 率轮廓(power profile)。此确定会被传送至功率管理器140。此时功率管 理器140便能视该应用程序是否高(低)于临限值而降低(增加)功率。

如果高功率应用程序或病毒执行在核心102上,功率管理器140 亦包括组构成用来调整操作电压、操作频率或这两者的电路。对于平 均功率在Cac极限集(limit set)之上的应用程序而言,必须降低操作频 率。然而,较低的Cac极限集却容许该部分在较高频率处被储藏(bin), 因为其可以保证没有应用程序将切换超过该Cac极限。

如前面所提到的,一种估算核心切换功率的方式是测量指令的发 行速度。不幸地,对于具有许多特殊指令的一些核心实施例而言,由 于数据宽度、效能增进电路、快取行为的不确定性、以及多种分支预 测方法其中一种等因素,故不太可能有几项简单的方法来估算在时钟 周期中切换的节点电容Cac。为了从几个不相关的信号来准确估算Cac, 在设计出适当的功率模型、并且多组应用程序已经透过该模型执行以 检测信号功率的相关性之前,该等信号是未知的。但是届时再藉由尝 试于所需位置中加入必要信号的采样电路来修改设计就太晚了。

另一方面,可以在设计中采样对功率估算有显著影响的多组信号, 但是此法可能会对于信号过量采样(over-sample),因为可能有许多信号 是相关的,而一些信号则可能对功率影响不大。然而,如果稍微过量 的采样设计成本低廉(例如有效率地实施),则此种作法仍可大幅增加准 确Cac监控的置信度。

如前所述,无论是以线路、电路的代价来看,在设计中采样数百 个对于Cac无显著影响的信号会大幅增加设计成本;如果是以最高的 操作频率来进行监控,甚至还有功率消耗的代价。然而却可以利用一 项事实,那就是可导出功率估算值的Cac估算值只需要在热时段 (thermal time frame)中响应,而该热时段仅在数微秒(milisecond)的范围 内。此时段容许该估算使用数百万个周期来确定Cac的平均值。事实 上,如果估算与随后的响应太快发生,并且是响应于应用程序中高活 动的短期周期(short term period),则该响应可能使核心减速(throttle), 于是效能便会不必要地被降低。估算必须长期监测该应用程序的平均 功率,并根据该平均功率来进行后续的响应与可能之减速。然而,如 果采样间隔延伸至数百万周期,则采样的均方偏差(sigma)或标准差 (standard deviation)将显著增加,这是因为应用程序具有相当高的可能 性会移动至与程序代码完全无关的区域。基于功率模型数据,可在特 定范围内找出样本活动的良好关联性。举例来说,在实施例中对于典 型的应用程序而言,样本活动的良好关联性可位在五万个时钟周期、 均方偏差小的范围内。

如果预先选择几百个要被采样的已知信号、且该信号值是以连续 的方式进行扫瞄,则需要数百个时钟周期才能取得与活动相关的信号 的单一样本。接着从标准统计分析来看,在达到置信度之前(也就是置 信度99%,即该样本的平均值与均方偏差、和信号实际母体的平均值 与均方偏差有紧密关联性),这几百个信号当中需要数个样本。

假设可藉由具有泊松分布(Poisson distribution)的平稳随机过程 (stationary random process)来估计应用程序的切换行为。此外,中央极 限定理(central limit theorem)告诉我们可藉由常态分布来准确地估计大 量母体的数据。此统计方式相似于用来从母体、统计上的普查数量 (statistical census number)等的少数样本中产生民意测验(opinion poll)的 方式。较大范围的母体特征是藉由采样足够数量的随机样本来重建的。 需要确定的两个参数是必要样本数与要采样哪些信号。

对于必要样本数而言,于一实施例中,可从采样中统计分析与量 测应用程序的实际功率消耗和估算的功率消耗两者以产生电子表格。

图2A说明应用程序于采样区间期间在核心上执行的实际功率量 测200的一个实施例。在替代的实施例中,可于核心的子分割(例如单 元、功能组件等等)上进行此功率量测。在一个实施例中,可藉由在核 心的硅前(pre-silicon)模型上执行的功率模型进行此量测。尖峰功率210 可能是由核心的功能故障或是在核心上执行的高功率病毒(例如 Zuraski)所造成的特征。在采样区间期间所消耗的功率是藉由实际功率 波形220来显示。在一个实施例中,采样区间可在数十微秒的范围内。

现代处理器藉由高功率病毒Zuraski的降额形式(derated form)可设 定热设计功率(thermal design power,TDP)。为了储藏的目的,此降额 或衍生的TDP码和其对应的功率消耗被用来设定核心的操作电压和频 率。然而在大部分现代处理器的使用寿命期间,被执行的应用程序并 不会消耗超过此TDP数值的60%至80%。

藉由准确的实时Cac估算与下面的功率估算,便可能利用到在执 行的应用程序与TDP之间该20%至40%的缺口。这可藉由使缺口转 变成TDP的减量(其中,新的TDP是应用程序的功率)或是频率的增加 (其中,TDP与之前相同,但却是由典型的应用程序所消耗)来实现。 TDP不会被病毒消耗,这是因为病毒将被Cac估算之后的功率管理器 随后的响应而被减速之故。

图2B的实施例在说明于采样间隔期间在核心上执行的应用程序 之实际功率量测的数字采样230。采样数据点240是取在每一定数量的 间歇周期(intermittent cycle)250期间。在说明的实施例中,全部N个 样本是取在起始于采样数据点240a、而终止于采样数据点240n的采样 区间期间。在采样一功率估算值之间的间歇周期数量其确定可取决于 采样数据点的数量N的数值之确定,而间歇周期的数量则取决于所期 望的准确度与置信度。

如上所述,藉由统计分析与量测应用程序的实际功率消耗、与从 图2A至2B中显示的采样所估算的功率消耗两者可产生电子表格或查 找表(look-up table)。接着需要选择置信度与错误率(error rate)。

举例来说,在第一个例子中,设计目标可能需要95%的置信度, 其中,整个核心的样本平均值(mean)(例如图2B中所说明者)是位于实 际应用程序平均值的均方偏差(sigma)(或标准差,例如图2A中所说明 者)的12%内。(0.12×均方偏差)此项是由于统计采样而产生的误差。举 例而言,使用查找表或电子表格可确定至少需要500个样本才能达到 这些设计需求。如前所述,用以推导出功率估算值的Cac估算只需要 在热时段(数微秒的范围内)中响应。此时段容许在该时段内使用数百万 个周期以确定平均Cac。采样间隔可为25微秒(μs)。在一个实施例中, 操作频率可为3GHz。对于此例而言,样本之间的间歇时钟周期数量 将是(3GHz)*(25μs)/500=150个时钟周期。实施例可采用一连串的方 式扫瞄出采样信号的数值。因此在进行下次采样之前,便可在单一时 钟周期中采样并连串扫瞄出150个信号。

在此例中,绝对最差的案例估算情境可包含+/-2均方偏差之经修 剪的(clipped)常态分布,其中,一个均方偏差为范围之25%。因此,最 差的案例误差是0.12*0.25=3%。更典型的最大均方偏差值是接近10 %。既然有12%均方偏差的误差项,故「由于统计采样而产生的误差 是0.12*0.1=1.2%」便可能有95%的置信度。

在第二个例子中,设计目标可能要求99%的置信度以使样本的平 均值(例如图2B中所说明者)在整个核心上是在实际应用程序(例如图 2A中所说明者)的平均值之均方偏差或标准差的10%以内。(0.10×均方 偏差)此项是由于统计采样而产生的误差。使用查找表或电子表格可确 定出至少需要650个样本才能达成该等设计要求。再者,实施例中可 分割核心成10个单元,其中,每个单元采样相同数量的信号。这样分 割的理由是为了增加准确度,将于稍后说明。对于每个单元只需要90 %的置信度。该等置信度的总和可得出99%的总置信度,这是因为 0.91/10是0.9895。再次使用查找表或电子表格,对于650个样本与90 %的置信度可确定出来自均方偏差的偏差(deviation)不再是10%,而是 减低至6.5%。虽然对于单独的单元而言,置信度等级已经随着其准确 度的增加而减少,但是核心整体的置信度等级却维持在99%不变,并 且现在准确度已经从10%增进到6.5%。

如果此第二例具有与前面第一例相同的25微秒采样区间、且操作 频率同样是3GHz,则在样本之间的间歇时钟周期数量会是(3 GHz)*(25μs)/650=115个时钟周期。在一个实施例中,可同第一例以 连串方式扫瞄出采样信号值。因此在进行下次采样之前,可从该10个 单元的的每一个中于单一时钟周期内便采样并连串扫瞄出150个信号。

参照图3的实施例,系显示用以采样信号并连串输出所采样之信 号值的电路300。在一个实施例中,为了获得所选择之在时钟周期内采 样的信号,如图标可只对于要采样的信号(以信号350来表示)设置D 正反器(D flip-flop)电路320与多任务器310。此增加的电路以低代价 便能获得准确、实时地估算Cac的采样数据。当选择线(样本120)主张 成逻辑高值时,信号350便被多任务器310所选择并由D正反器320 所储存。

信号样本120可接收自控制模块(例如图1的监控器控制132)。实 施例核心的单元中要采样的信号数量可为100。在替代的实施例中,要 采样的信号数量可为提供特定核心设计之准确功率估算的任何数量。 每100个周期可主张一个时钟周期的样本120,以容许该采样信号所获 得的数值在样本之间连串输出。

布线至D正反器320的时钟信号时钟330可以是未设闸(ungated) 的时钟信号。当信号样本120被反主张至逻辑低数值时,多任务器310 便传送先前D正反器320的输出值。以此方式,在100个采样信号的 采样时钟周期期间的数值(信号350)便以连串方式输出。根据连至监控 器控制132的布线距离,可在D正反器320a后方放置反相器缓冲区 (inverter buffer)。

在一个实施例中,被选为要采样的信号可以是时钟门控(clock gater) 的激活信号。门控电路可为产生时钟信号的时钟分配系统的最后一个 阶段。通常该门控电路是位于现代处理器平面设计的局部模块中,并 且局部设计者是从时钟库(clock library)选出门控电路来驱动该模块内 的特定时钟负载。

图3的门控电路340接收来自时钟分配系统之前阶段的共享时钟 360以及激活信号激活时钟362。在实施例中显示的激活时钟362是要 被采样的信号,同时也是多任务器310的输入。也可将门控电路340 耦接成用来扫描在其它类型信号之间的输入与输出信号。

如上述关于统计分析的讨论,由于统计采样所产生之Cac估算的 误差可能是小的。然而,由于采样信号的活动对于节点切换电容(Cac) 不准确的关联性却可能导致误差。对局部设计者而言,安置时钟门控 激活信号(激活时钟362)相对来说较为容易。这些信号也直接确定下游 电路是否在作用(active)中,并因此确定下游节点电容可否切换。

对于已采样的特定激活时钟362而言,其逻辑高值的对应储存值 系表示至少正在切换最小电容。额外的电容量系被有条件地切换,其 则是由时钟门控激活(clock gater enable)(激活时钟362)的下游其它信号 与组构所决定。决定Cac如何以各种方式改变的门控时钟激活信号之 信号下游的一些例子是有效位(像是加载储存队列(load-store queue)中 的有效位)、操作数的位宽度、与快取击中或未击中。虽然未显示在图 3上,但是在替代的实施例中可将该等信号当中的一些和其它信号逻辑 地结合至时钟门控激活信号以产生要采样的新信号并输入至多任务器 310。此新信号可确定要增加至经切换之最小电容的电容增量。

尚有信号其主张系除了时钟门控激活之外指出已经切换的电容 量。一些例子像总线驱动器激活、可内容寻址之内存(content addressable memory,CAM)中的不匹配、与CAM字符线(word line,WL)驱动器。 可能还需要转变侦测器(transition detector)来确定这些信号额外的切换 电容。

图4说明用于图3电路300中信号时钟330、样本120与数据移出 122的时序图400的实施例。时钟330是未设闸的时钟信号。当主张样 本120时,所采样的信号(信号350)是储存在D正反器320中;而当反 主张样本120时,所采样的信号(信号350)则是在数据移出122的线上 连串输出。

在准确地完成信号采样之后,此信息可使用加权平均总和 (weighted average sum)转换成Cac的估算值。参照图5,系显示用以确 定加权平均总和的电路500的实施例。此电路可位于监控器控制132 内。链式控制(chain control)502可传送样本120至功能模块110内的单 元。再者,链式控制502可接收数据移出122。在为了采样数据而主张 了样本120、并反主张样本120之后,链式控制502可追踪哪个信号或 连串炼中的位位置其数值目前正在被接收。在一个实施例中,可使用 计数器来识别所采样的信号。这种计数器的输出可用来为加权表504 编索引。可把由链式控制502传送的数值与加权表504中位位置(Bit Position)506的项目作比较。当项目命中或匹配该索引时,该索引之储 存在加权值508中的对应加权值便传送至加权值累加器510。此处所收 到的加权值会和先前收到的加权值相加。

举例来说,可选择采样100个信号。新的采样周期可能已经开始, 而目前在数据移出122的线上收到的数值是该新采样周期第37个接收 值。如果第37个采样值具有逻辑低值,则在第38个采样值到达前不 需要有任何动作。如果第37个采样值具有逻辑高值,则该数值便用来 为加权表504编索引。第37个采样信号对应的加权值是传送至加权值 累加器510。此对应的加权值是与具有逻辑高值的36个先前接收值的 累计加权值相加。下面将简短描述用来选择加权值的方法。

图6说明对于核心准确实时功率估算的方法600的实施例。娴熟 此技术者可修改方法600来推导出替代实施例。此外,虽然此实施例 中显示的步骤是循序的,然而一些步骤可不同于所显示的顺序来发生、 一些步骤可同时进行、一些步骤可结合至其它步骤、而另一实施例则 可能没有一些步骤。在显示的实施例中,于模块602根据平面设计来 对半导体芯片进行平面设计并放置个别的模块与单元。核心可为整个 芯片或部分的芯片。如前文所述,该核心可为任意IC。实施例的该核 心可为处理器的核心。而在另一实施例中,该核心可为ASIC或其它半 导体芯片。

于模块604,该核心可为了采样目的而分割成数个单元。每个单元 可提供预定采样信号的连串数值。在模块606中,为了特征化采样区 间期间整个晶粒的功率消耗,便在执行有多组应用程序的核心上执行 一功率模型。在模块608中,可从查找表中确定要在采样区间内完成 的多个样本,该查找表是藉由泊松分布等统计分析而获得、并且当执 行应用程序时特征化核心的节点电容切换行为。于是从操作频率、采 样区间、与所确定的采样数量可确定要采样的信号数量。

在模块610中,分配加权值至每个采样信号。以下将更详细描述 本程序。所主张之采样信号的加权总和是用来确定在特定时钟周期中 核心的准确实时功率估算。该总和是在特定时钟周期中的节点切换电 容(Cac)的估算值,且藉由索引查找表可把此总和转换成为功率值。当 功率模型在核心上执行时,此查找表可能已经由特征化的程序所产生。

在模块612中,把从所采样信号的加权总和产生的实时功率估算 值、与从在预定的应用程序套件中针对每个应用程序的功率模型所产 生的功率估算值作比较。如果这两个数值之间的差别是小于或等于预 定的最小准确度(条件模块614),便完成了功率估算电路的设计,并于 模块616中,该芯片可在具有该监控器控制于核心的状态下定案 (tape-out)。如果未符合最小准确度(条件模块614),则控制流便回到模 块608。选择要采样之样本的新数量与信号的新数量。

图7说明为了确定欲指定给采样信号的加权值以进行核心的准确 实时功率估算的方法700。娴熟此技术者可修改方法700来推导出替代 实施例。此外,此实施例的步骤是循序显示。然而,一些步骤可不同 于所显示的顺序来发生、一些步骤可同时进行、一些步骤可结合至其 它步骤、另一实施例则可能没有一些步骤。在显示的实施例中,于模 块702为了特征化采样区间期间整个晶粒的功率消耗,便在执行有多 组应用程序的核心上执行一功率模型。

在模块704中,把相等的初始加权值指定给每个采样信号。为了 确定此初始值,会在核心上执行特定的应用程序,并且记录在该时钟 周期中所主张之采样信号的总和。记录在采样区间中对于每个采样时 钟周期所主张之采样信号的数量。在一个采样区间中可能有数百个采 样时钟周期。在模块702,从功率模型的执行中所找出之采样区间的实 际功率估算值是用来确定实际的Cac值。该实际Cac会除以整个采样 区间所主张的采样信号的总和。如此导出的数值可成为分配给每个采 样信号之相等的初始加权值。

在模块706中,可针对应用程序套组中的每个应用程序进行上述 步骤。对于采样信号,每个应用程序将具有它自己导出之相等的初始 加权值。在模块708中,所有这些数值的平均可成为用于采样之相等 的初始加权值。

对于每个应用程序而言,从初始加权值所计算的Cac将具有误差 项。在模块710中,对所有的应用程序计算出总误差。在一个实施例 中,此总误差可为各应用程序的误差总和。在替代实施例中,此总误 差可为每个应用程序误差的平方和。在替代的实施例中,可使用其他 方程序来计算总误差。

在模块712中,对于特定的采样信号而言,可朝减少总误差的方 向上增加或减少其对应之相等的初始加权值。如果该总误差并没有停 止减少(条件模块714),则控制流便回到模块712。如果总误差停止减 少(条件模块714),则在模块716中储存该特定采样信号目前的加权值。 该数值可储存在像是加权表504的表格中。

如果尚未对所有采样信号调查可能的数值变化(条件模块718),则 控制流回到模块712。如果已经调查了所有的采样信号(条件模块718), 则在模块720中,储存有加权值的一个或多个表格便具有最终加权值。

虽然已经以相当多的细节描述上述实施例,但是娴熟此技术者一 旦完全体会上述发明,则许多变化与修改形式将变得显而易知。本发 明意欲下列权利要求书被诠释为涵盖所有这类变化与修改形式。

工业应用

本发明通常可应用于电子电路。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号