CN201410138787.8
2014.04.08
CN104778112A
2015.07.15
实审
审中
实质审查的生效IPC(主分类):G06F 11/34申请日:20140408|||公开
G06F11/34
台湾积体电路制造股份有限公司
丁凯原; 桑迪·库马·戈埃尔; 阿肖克·梅赫塔
中国台湾新竹
14/152,607 2014.01.10 US
北京德恒律治知识产权代理有限公司11409
章社杲; 孙征
提供一种包括监控单元、处理单元以及外围单元的系统。每个处理单元都链接至监控单元,并且每个外围单元也链接至监控单元。每个处理单元被配置成通过监控单元将请求发送到至少一个外围单元并且随后从该至少一个外围单元接收响应。监控单元被配置成测量和存储响应与相应请求之间的延迟。本发明提供了自适应电压频率调整的系统和方法。
1. 一种系统,包括: 监控单元; 处理单元,每个所述处理单元均链接至所述监控单元;以及 外围单元,每个所述外围单元链接至所述监控单元, 其中: 每个所述处理单元均被配置成:通过所述监控单元,将请求发送到至 少一个外围单元,并且随后从所述至少一个外围单元接收响应;以及 所述监控单元被配置成:测量和存储所述响应与相应请求之间的延迟。 2. 根据权利要求1所述的系统,进一步包括: 存储单元,包括一组计算机可读指令,当所述一组计算机可读指令由 一个所述处理单元执行时,使所述一个处理单元: 存取存储在所述监控单元中的所述延迟; 至少部分地基于所述延迟计算所述系统的性能度量;以及 使所述系统基于所述性能度量调整所述系统的功率状态。 3. 根据权利要求2所述的系统,其中,所述功率状态包括: 所述系统的操作频率的设定;以及 所述系统的电源电压的设定。 4. 根据权利要求1所述的系统,进一步包括: 耦合至所述监控单元并且被配置成周期性地执行以下步骤的设备: 存取存储在所述监控单元中的所述延迟; 基于所述延迟计算系统度量;以及 基于所述系统度量,使所述系统调整:所述系统的操作频率、所述 系统的电源电压或者它们的组合。 5. 根据权利要求1所述的系统,其中,以事务级建模(TLM)实现所 述监控单元。 6. 根据权利要求1所述的系统,其中,所述监控单元包括: 存储单元;以及 执行以下功能的控制逻辑: 当所述监控单元检测到从一个处理单元到一个外围单元的请求时, 记录第一时间; 当所述监控单元检测到来自所述一个外围单元的相应响应时,记录 第二时间; 计算所述第一时间和所述第二时间之间的第一差值;以及 将所述存储单元中的记录更新为所述第一差值,其中,所述记录与 一个所述处理单元唯一地关联。 7. 一种多内核系统,包括: 多个第一处理器内核; 多个第二外围设备,被配置成通过通信网络从所述多个第一处理器内 核接收指令,并且将相应响应发送至所述多个第一处理器内核; 业务量监控设备,被配置成监控所述通信网络上的所述指令和所述相 应响应,并且存储用于至少一些所述指令和所述相应响应的记录;以及 存储器,包括一组计算机可读指令,当所述一组计算机可读指令被所 述多个第一处理器内核中的一个执行时,使所述系统: 存取所述记录; 至少部分地基于所述记录评估策略;以及 基于所述策略调整所述系统的操作条件。 8. 一种管理多内核系统的功耗的方法,其中,所述多内核系统包括链 接至外围设备的处理器内核,并且每个所述处理器内核均被配置成以相应 的第一功率状态操作,并且被进一步配置成将指令发送到至少一个外围设 备并且从所述至少一个外围设备接收响应,对于每个所述处理器内核,所 述方法包括以下步骤: 在采样周期内测量第一执行时间,其中,所述第一执行时间是由相应 的处理器内核发送的指令的聚集指令响应延迟; 至少基于所述第一执行时间和第一组用户定义标准计算第一组度量; 至少基于所述第一组度量和第二组用户定义标准预测第二功率状态; 以及 基于所述第二功率状态,调整相应的处理器内核的操作条件。 9. 根据权利要求8所述的方法,其中,计算所述第一组度量包括以下 步骤: 通过从所述采样周期中减去所述第一执行时间,计算第二执行时间; 计算第一性能指标μ1作为第二执行时间与所述采样周期的比率; 基于所述第一组用户定义标准和所述相应的处理器内核的所述第一功 率状态,获取第二性能指标μ2; 如下计算性能损失LP和能量损耗LE: 如果μ1>μ2,则Lp=μ1-μ2且LE=0; 否则Lp=0且LE=μ2-μ1;以及 计算总损失LT,LT=α×Lp+(1-α)×LE,其中,α是用户定义参数并且 0≤α≤1。 10. 根据权利要求9所述的方法,进一步包括,在预测步骤之前: 对于N个采样周期,重复测量步骤和计算所述第一组度量的步骤,其 中,N是用户定义整数且N大于1; 对于N个采样周期中的每个第i个采样周期,计算加权总损失Wi:对 于所有整数i∈[i,N],其中,是第i个采样周期的 总损失,β是用户定义参数,0≤β≤1且W0=0; 对于N个采样周期的每个第j个采样周期,计算概率Pj:对于所有整 数以及 选择将由预测步骤使用的第m个采样周期的所述第一组度量,其中, 1≤m≤N并且所述第m个采样周期的概率Pm是所有概率P1至PN中的最大概 率。
自适应电压频率调整的系统和方法 技术领域 本发明总的来说涉及半导体处理技术,更具体地,涉及自适应电压频 率调整的系统和方法。 背景技术 半导体处理技术继续按比例缩小,这使得数量日益增加的中央处理单 元(CPU)和外围设备能够集成到一个系统。这样的集成通常提供多种益 处,诸如,在计算机服务器或芯片上系统(SoC)内的更多处理功率和在移 动设备或蜂窝电话中的更多功能。例如,通过集成在小封装中的多个处理 器内核和多个外围设备,蜂窝电话可以给最终用户提供多种功能,诸如语 音呼叫、文本消息、多媒体应用、有线和/或无线网络、相机、全球定位系 统(GPS)等。为了满足更多性能和更多功能的需求,系统设计者面对很 多挑战。一个挑战是有效功率管理。例如,蜂窝电话内的多个处理器内核 和外围设备通常由诸如电池的单个电源供电。电池的容量通常受其尺寸限 制,其尺寸又受蜂窝电话封装的小形成因数的限制。因此,如何有效地利 用电池的功率变为这种系统设计中的关键问题。 发明内容 根据本发明的一个方面,提供了一种系统,包括:监控单元;处理单 元,每个处理单元均链接至监控单元;以及外围单元,每个外围单元链接 至监控单元。每个处理单元均被配置成:通过监控单元,将请求发送到至 少一个外围单元,并且随后从至少一个外围单元接收响应;以及监控单元 被配置成:测量和存储响应与相应请求之间的延迟。 优选地,该系统进一步包括:存储单元,包括一组计算机可读指令。 当一组计算机可读指令由一个处理单元执行时,使一个处理单元:存取存 储在监控单元中的所述延迟;至少部分地基于延迟计算系统的性能度量; 以及使系统基于所述性能度量调整所述系统的功率状态。 优选地,功率状态包括:系统的操作频率的设定以及系统的电源电压 的设定。 优选地,该系统进一步包括耦合至监控单元并且被配置成周期性地执 行以下步骤的设备:存取存储在监控单元中的延迟;基于延迟计算系统度 量;以及基于系统度量,使系统调整系统的操作频率、系统的电源电压或 者它们的组合。 优选地,以事务级建模(TLM)实现监控单元。 优选地,外围单元中的一个的类型为:定时器、有线网络接口控制器、 无线网络接口控制器、UART设备、DMA控制器、USB设备或显示器。 优选地,监控单元包括存储单元以及执行以下功能的控制逻辑:当监 控单元检测到从一个处理单元到一个外围单元的请求时,记录第一时间; 当监控单元检测到来自一个外围单元的相应响应时,记录第二时间;计算 第一时间和第二时间之间的第一差值;以及将存储单元中的记录更新为第 一差值,其中,记录与一个处理单元唯一地关联。 根据本发明的另一方面,提供了一种多内核系统,包括:多个第一处 理器内核;多个第二外围设备,被配置成通过通信网络从多个第一处理器 内核接收指令,并且将相应响应发送至多个第一处理器内核;业务量监控 设备,被配置成监控通信网络上的指令和相应响应,并且存储用于至少一 些指令和相应响应的记录;以及存储器,包括一组计算机可读指令。当一 组计算机可读指令被多个第一处理器内核中的一个执行时,使系统:存取 记录;至少部分地基于记录评估策略;以及基于策略调整系统的操作条件。 优选地,操作条件是:系统的时钟频率、系统的电源电压或它们的组 合。 优选地,该多内核系统进一步包括:耦合至一个处理器内核的设备, 并且设备控制:一个处理器内核的电源电压、一个处理器内核的操作频率 或它们的组合。 优选地,业务量监控设备被附着至通信网络,由此基本没有给通信网 络增加等待时间。 优选地,记录被存储在寄存器栈中,寄存器栈被配置成包括:多个条 目;每个条目都与一个处理器内核唯一地关联;以及每个条目都包括与一 个处理器内核与至少一个外围设备之间的指令和相应响应关联的延迟。 根据本发明的又一方面,提供了一种管理多内核系统的功耗的方法, 其中,多内核系统包括链接至外围设备的处理器内核,并且每个处理器内 核均被配置成以相应的第一功率状态操作,并且被进一步配置成将指令发 送到至少一个外围设备并且从至少一个外围设备接收响应,对于每个处理 器内核,该方法包括以下步骤:在采样周期内测量第一执行时间,其中, 第一执行时间是由相应的处理器内核发送的指令的聚集指令响应延迟;至 少基于第一执行时间和第一组用户定义标准计算第一组度量;至少基于第 一组度量和第二组用户定义标准预测第二功率状态;以及基于第二功率状 态,调整相应的处理器内核的操作条件。 优选地,测量所述第一执行时间包括以下步骤:初始化计算机可存取 存储单元;当指令从相应的处理器内核发送至一个外围设备时,记录开始 时间;当针对所述指令的响应从一个外围设备发送至相应的处理器内核时, 记录结束时间;计算从开始时间到结束时间的延迟;将延迟添加至计算机 可存取存储单元;以及在采样周期内重复记录步骤、计算步骤以及添加步 骤。 优选地,调整所述相应的处理器内核的操作条件包括:调整相应的处 理器内核的电源电压;以及调整相应的处理器内核的操作频率。 优选地,调整电源电压为以下方式中的一种:增加电源电压;减小电 源电压;以及保持电源电压基本不变。 优选地,调整所述操作频率为以下方式中的一种:增加操作频率;减 小操作频率;以及所述操作频率基本不变。 优选地,计算所述第一组度量包括以下步骤:通过从采样周期中减去 第一执行时间,计算第二执行时间;计算第一性能指标μ1作为第二执行时 间与采样周期的比率;基于第一组用户定义标准和相应的处理器内核的第 一功率状态,获取第二性能指标μ2;如下计算性能损失LP和能量损耗LE: 如果μ1>μ2,则Lp=μ1-μ2且LE=0,否则Lp=0且LE=μ2-μ1;以及计算总损 失LT,LT=α×Lp+(1-α)×LE,其中,α是用户定义参数并且0≤α≤1。 优选地,该方法进一步包括:在预测步骤之前,对于N个采样周期, 重复测量步骤和计算第一组度量的步骤,其中,N是用户定义整数且N大 于1;对于N个采样周期中的每个第i个采样周期,计算加权总损失Wi: 对于所有整数i∈[1,N],其中,是第i个采样周期 的总损失,β是用户定义参数,0≤β≤1且W0=0;对于N个采样周期的每个 第j个采样周期,计算概率Pj:对于所有整数以及 选择将由预测步骤使用的第m个采样周期的第一组度量,其中,1≤m≤N并 且第m个采样周期的概率Pm是所有概率P1至PN中的最大概率。 优选地,该方法进一步包括:对至少两个处理器内核同时执行测量、 计算、预测以及调整的步骤。 附图说明 当结合附图阅读下面的详细说明书书时,能最好地理解本公开。需强 调的是,根据行业中的标准实践,多种特征未按比例绘制,并且仅用于说 明目的。实际上,为了论述的清楚起见,多种特征的尺寸可以任意增加或 减小。 图1是可以从本公开的一个或多个实施例受益的示例性多内核系统; 图2是根据本公开的多个方面的示例性多内核系统; 图3A是根据本公开的多个方面的在多内核系统中收集事务统计的设 备的一部分的示意图; 图3B示出图3A的设备的实施例; 图4是根据本公开的多个方面的具有硬件和软件平台的示例性多内核 系统; 图5是根据本公开的多个方面的自适应地调整多内核系统的操作条件 的方法;以及 图6和图7是示例性用户定义功率状态查找表。 具体实施方式 以下公开提供用于实现本公开的不同特征的多个不同实施例或实例。 下面描述了组件和布置的特定实例,以简化本公开。当然,这些仅是实例, 并且不用于限制。另外,本公开可以在多个实例中重复参考标号和/或字母。 该重复用于简单和清楚的目的,并且其本身不指示所论述的多个实施例和/ 或结构之间的关系。而且,以下说明书中的第一处理在第二处理之前的表 述可以包括在第一处理之后立即执行第二处理的实施例,并且还可以包括 在第一和第二处理之间可以执行附加处理的实施例。为了简单和清楚起见, 多个特征可以按不同比例任意绘制。而且,以下说明书中的第一特征在第 二特征之上或上形成可以包括第一和第二特征直接接触形成的实施例,并 且还可以包括可以在第一和第二特征之间形成附加特征,使得第一和第二 特征可以不直接接触形成的实施例。 而且,诸如“在…之下”、“之下”、“下部”、“之上”、“上部” 等的空间相对术语在此可以被用于便于描述图中所示的一个元件或特征与 另一个(或多个)元件或特征的关系的说明。空间相对术语旨在包括除了 在图中描述的定向之外的在使用或操作中的设备的不同定向。例如,如果 图中的设备被翻转,被描述为在其他元件或特征“之下”或“在…之下” 的元件然后将被定向为在其他元件或特征“之上”。因此,示例性术语“之 下”可以包括之上和之下的定向。装置可以另外被定向(旋转90度或者在 其他定向),并且在此使用的空间相对描述可以类似地相应地解释。 图1是可以从本公开的一个或多个实施例受益的示例性多内核系统 100的简化框图。系统100包括多个处理器内核110和多个外围设备(或 输入/输出设备)130。处理器内核110在本公开中还被称为中央处理单元 (CPU)、处理单元、或简单地称为处理器。处理器内核110和外围设备 130通过网络120互连。 在一个实施例中,系统100进一步包括耦合至处理器内核110的多个 操作控制器设备112。通过来自处理器内核的合适指令,操作控制器设备 112可以动态地调整系统100的处理器内核和/或其他部分的一些操作条件。 例如,操作控制器设备可以增加或减小处理器内核的电源电压,并且增加 或减小处理器内核的时钟频率。 在一个实施例中,系统100是现代移动设备的一部分,该移动设备诸 如为将多种应用提供给终端用户的蜂窝电话,上述的应用诸如为语音、文 本、连网以及多媒体应用。处理器内核110可以包括不同类型的处理器, 诸如数字信号处理器(DSP)、微控制器以及诸如精简指令集计算机(RISC) 处理器的通用处理器。处理器内核110负责运行操作系统(OS)软件和多 段应用软件。 外围设备130包括用于将最终功能提供给用户的不同类型的输入/输出 (IO)设备。例如,一种类型的IO设备是显示设备,诸如具有或不具有触 摸屏能力的液晶显示(LCD)设备。另一种类型的IO设备是连接设备,诸 如以太网端口、通用串行总线(USB)端口、通用异步接收器/发射器(UART) 控制器、用于将系统100连接至无线局域网(WLAN)的无线网络控制器 等。另一种类型的IO设备是蜂窝设备,诸如全球移动通信系统(GSM)收 发器、宽带码分多址(WCDMA)收发器以及通用数据包无线服务(GPRS) 收发器。外围设备130可以包括存储设备、直接存储器控制器(DMA)、 音频编解码器、相机模块、定时器设备等。 处理器内核110和外围设备130通过网络120链接(或连接)用于它 们之间的通信。在一个实施例中,每一个处理器内核110都与一个或多个 外围设备130通信。因此,每对处理器/外围设备之间的点对点网络从系统 路由观点看都不是有效的。作为替换,使用芯片上多层高速总线,诸如芯 片上网络(NOC)。在示例性系统100(图1)中,网络120是NOC,其 用作处理器内核110和外围设备130之间的信息业务量的传输子系统。在 一个实施例中,处理器内核110和外围设备130之间的通信被数字化为数 据包。例如,从处理器到外围设备的数据包包括识别处理器的源地址、识 别外围设备的目的地址、以及将由外围设备执行的一个或多个指令。当接 收到数据包时,外围设备执行指令,并且随后将响应数据包返回到处理器。 响应数据包类似地包括源地址和目的地址,并且进一步包括与指令相关的 结果。例如,结果可以包括从存储器读取的数据、从用户收集的数据、或 者简单地包括对指令的接收的确认。网络120包括路由器(或交换机), 其识别数据包的源地址/目的地址,并且将数据包中继到合适的接收方。在 系统100中,数据包可以是单播数据包(从一个处理器110到一个外围设 备130)、多播数据包(从一个处理器110到多个外围设备130)、或广播 数据包(从一个处理器100到所有外围设备130)。 系统100进一步包括:功率调节器和分配器(未示出),用于将功率 从诸如电池的电源提供给处理器内核110、外围设备130以及网络120。系 统100进一步包括时钟源和时钟分配网络(未示出),用于控制处理器内 核110、外围设备130以及网络120的操作频率。例如,时钟源可以包括 振荡器、锁相环(PLL)、分频器、时钟乘法器等。 由于系统100中的所有这些组件,管理多个设备的功耗以保存能量变 为关键问题。这是因为系统100通常由单个电源(电池)供电,其从一次 充电到下一次充电具有有限的容量。解决该问题的一种方法是基于半导体 器件的动态功率消散与施加至半导体器件的电源电压的平方成比例并且与 施加至半导体器件的时钟信号的频率成比例的综合考虑。另一个综合考虑 在于,处理器110不需要一直运行。例如,处理器可以处于待机模式,直 到任务被分配给处理器为止。在待机模式期间,处理器可以以非常低的频 率或低电压运行。仅当接收任务时,处理器才会切换至全摆幅时钟频率和/ 或电压。因此,通过动态地调整处理器内核110的电源电压和时钟频率, 可以减少系统100的功耗。进一步考虑,不是在系统100上运行的所有任 务都要求相同量的功耗。例如,在日历应用中设置约会的任务不会消耗与 运行三维(3D)游戏应用的另一个任务那么多的功率。基于以上考虑,一 种功率管理方法在于将在系统100上运行的应用(或任务)分类为多个策 略,其中,每个策略都以电压/频率对的形式与功率需求关联。当系统100 的OS内核将应用分配给一个处理器110时,关联策略被调用,使得操作 控制器设备112相应地设置相应处理器的电压/频率。然而,这样的方法通 常采用固定的应用-策略映射,因此不容易调整用于新应用。 图2示出根据本公开多个方面的多内核系统200。系统200类似于系 统100,但是系统200包括业务量监控器210,其通过通信链路140和150 分别耦合在处理器内核110和网络120之间。业务量监控器210被配置成 收集关于在处理器内核110和外围设备130之间流动的事务的统计。OS内 核(未示出)周期性地访问统计,并且相应地调整系统200的操作条件。 在本公开的之后部分中将更详细地描述收集、估计和调整操作。在系统200 的架构下的基本原理在于,当运行时,处理器内核110通常消耗比外围设 备130更多的功率。因此,对于给定的时间周期(采样周期),知晓由在 处理器内核110上而不是外围设备130上运行的事务消耗多少功率是有益 的。通过在一个或多个采样周期内估计处理器内核的事务统计,诸如电压 和频率设定的处理器内核的合适功率状态可以被预测,并且随后应用至处 理器内核,以使其适于这样的事务模式。该方法不依赖应用-策略映射。相 反,其分析处理器的最近活动,并且自适应地调整其操作电压和频率。因 此,其具有实时调节学习的能力,并且比基于固定策略的电压频率调整方 法更加灵活。该方法在本公开中被称为自适应电压和频率调整(AVFS)。 在一个实施例中,处理器110的电压/频率设定的自适应基于在采样周 期内对处理器110的能量损失和性能损失的估计。例如,在当处理器110 的电源电压是V1时的采样周期内,要求比V1更低的电压的任务导致能量 损失。换句话说,该任务可以以更低的电压在处理器110上运行,同时仍 然满足其需要。另一方面,要求比V1更高的电压的任务导致性能损失,这 是因为该任务不能通过处理器110的固定在V1的电源电压按时完成。基于 经验数据,主要在处理器内核110上运行的任务在统计上被更多地面向性 能。由此,当运行这样的任务时,增加处理器内核110的电源电压将减少 系统200的性能损失。相反,主要在外围设备130上运行的任务在统计上 更少面向性能。由此,当运行这样的任务时,减小处理器内核110的电源 电压将减少系统200的能量损失。因此,基于由监控设备210收集的事务 统计,可以预测未来不久的事务模式,并且随后调整处理器内核110的电 源电压和/或操作频率,以最小化性能损失、能量损失或其结合。 图3A示出了根据一个实施例的监控设备210的一部分的示意图。监控 设备210包括地址解码器302、开始时间保持器304、结束时间保持器306、 以及存储单元308。地址解码器302通过输入312和输出314链接至处理 器内核110(图2)。开始/结束时间保持器304和306分别通过输出316 和输入318链接至网络120(图2)的一些路由逻辑。存储单元308容纳多 条记录322。每条记录322都存储关于一个处理器内核110和一个外围设 备130之间的事务的一些统计。 监控设备210的工作机制可以被解释如下。当其中一个处理器内核110 运行任务时,其生成去往一个或多个外围设备130的一个或多个指令(或 指令数据包)。在由网络120路由到合适目的地之前,这些指令经过监控 设备210,更具体地,经过地址解码器302和开始时间保持器304。对于这 些指令中的每一个,地址解码器302识别指令的目的地址/源地址;开始时 间保持器304获取当前时间戳作为指令的开始时间;以及记录322被创建 并且存储在存储单元308中。记录322指示处理器内核的身份、目的地外 围设备的身份、以及指令的开始时间。在外围设备完成该指令之后,其发 送回响应(或响应数据包),诸如确认数据包。在由相应处理器内核接收 之前,该响应经过监控设备210,更具体地,经过结束时间保持器306和 地址解码器302。类似地,结束时间保持器306获得当前时间戳作为相应 指令的结束时间,地址解码器302识别响应的目的地址/源地址,然后记录 322被刷新(或更新)为具有指令的结束时间。 在一个实施例中,监控设备210被夹在处理器内核110和网络120之 间,使得所有那些指令/响应都经过监控设备210(图2)。这增加指令和 响应的等待时间,但是简化系统路由。在另一个实施例中,如图3B所示, 监控设备210被附着到处理器内核110和网络120之间的通信链路。每条 通信链路都被分支并且给监控设备210提供信号。这样,监控设备210仅 在通信链路上探测指令/响应而不增加等待时间。 在一个实施例中,在系统200的初始开发阶段期间,监控设备210、 网络120和/或系统200(图2)的其他组件在事务级建模(TLM)而不是 寄存器传输级(RTL)中被建模。TLM从那些模块的硬件实现的详情分离 模块之间的通信的详情。因此,其使系统设计者能够通过不同网络架构实 验用于快速原型制作。 图4示出根据本公开多个方面的具有硬件和软件平台的系统400。系 统400包括多内核硬件平台,诸如系统200、AVFS设备驱动器414、OS412、 多种任务(或应用)410、以及AVFS评估任务408。每个任务410都在一 个处理器内核110上执行。一些任务可以进一步涉及一个或多个外围设备 130。AVFS估计任务408在一个处理器内核110上执行,为了方便的原因, 其被指定为CPU-0。AVFS估计任务408使CPU-0周期性地存取存储在监 控设备210的存储单元308中的事务统计,评估一些系统性能/能量度量, 并且自适应地调整用于每个处理器内核110的电压和频率。在一个实施例 中,CPU-0运行除了任务408之外的一个或多个任务410。 图5示出了示例性AVFS评估任务408。以下将结合图4的系统400 解释任务408。 在操作510,任务408初始化各个系统组件。例如,其为每个处理器 内核110设置初始功率状态(例如,电压/频率设定);其清除存储单元308, 以使其准备用于收集事务统计;等。 在操作512,系统400执行一个或多个任务410(图4)。当在处理器 内核110和外围设备130之间交换事务时,监控设备210收集关于事务的 统计,包括从当通过一个处理器内核110发送指令到当通过一个处理器内 核110接收指令的响应的延迟。在一个实施例中,监控设备210存储用于 每对处理器和外围设备的聚集延迟,其是用于该对处理器和外围设备之间 的所有事务的延迟的总和。在过渡到操作514之前,任务408在一个采样 周期内继续操作512。采样周期的持续时间是用户定义参数,并且其选择 取决于系统400的目标应用。另一方面,采样周期应足够长,使得存在表 示每个处理器内核110的典型工作量的足够事务。另一方面,采样周期应 足够短,使得可以以及时的方式调整系统操作条件,以满足系统性能/能量 需求。在一个实施例中,采样周期的合适设定通过用系统400运行TLM仿 真来确定。在一个实施例中,采样周期是20毫秒(ms)。 在操作514,任务408使CPU-0从监控设备210读取事务统计,并且 将结果存储在CPU-0的本地存储器中。在一个实施例中,操作514还清空 监控设备210的存储单元308,使得在每个采样周期内,事务统计获得新 开始。 在操作516,任务408决定是否基于至今收集的事务统计评估一些系 统度量。例如,任务408可以在每N个采样周期之后,评估系统400的性 能和/或能量损失曲线,其中,N是大于或等于1的整数。如果任务408决 定不评估系统度量,则其过渡回操作512,以收集更多事务统计。否则, 其过渡到操作518。 在操作518,任务408基于在先前采样周期内由操作512和514收集 的事务统计,计算用于每个处理器内核110的一组系统度量。在一个实施 例中,有N个采样周期将被评估(N是大于或等于1的用户定义整数),并 且该组系统度量包括如下内容,对于每个整数i∈[1,N]: Tiio=采样周期i内的IO限制业务量执行时间; Ticpu=采样周期i内的CPU限制业务量执行时间; μi=采样周期i内的性能指标(0≤μi≤1); LiP=采样周期i内的性能损失; LiE=采样周期i内的能量损失;以及 LiT=采样周期i内的总损失。 为了计算以上系统度量中的一个或多个,使用以下用户定义参数: Sp=N个采样周期中的每个的持续时间; μmean=用于给定功率状态的平均性能度量;以及 α=性能和能量损失之间的折衷参数(0≤α≤1)。 在一个实施例中,执行以下步骤以计算用于一个处理器内核110的以 上系统度量组中的一个或多个,为了方便起见,其被指定为CPU-n: 步骤1:计算Tiio: Tiio=用于CPU-n和所有可应用外围设备130之间的指令/响应的聚集延 迟(或响应时间),其在采样周期i内由监控设备210测量。 步骤2:计算Ticpu: T cpi i S p - T io i - - - ( 1 ) ]]> 步骤3:计算性能指标μi: μ i = T cpu i S p ( S p - T io i ) S p = 1 - ( T io i S p ) - - - ( 2 ) ]]> 步骤4:通过在将CPU-n的当前功率状态映射至μmean的用户定义表中 查找μmean,找到μmean(图6中示出具有五个功率状态的一个实例),并且 计算性能/能量损失: if(μi>μmean)=>LiE=0,LiP=μi-μmean (3) else=>LiP=0,LiE=μmean-μi (4) 步骤5:通过用户定义折衷参数α计算总损失: LiT=α×LiP+(1-α)×LiE (5) 步骤6:基于该采样周期和先前采样周期(如果有的话),计算加权总 损失,其中,β是用户定义参数,0≤β≤1,并且w0=0: w i = w i - 1 × β ( 1 - β ) × L T i - - - ( 6 ) ]]> 步骤7:对于每个采样周期i∈[1,N]重复步骤1至6,然后计算概率Pi, 对于每i∈[1,N]。 P i = w i Σ j = 1 N w j - - - ( 7 ) ]]> 步骤8:选择采样周期k,其中,Pk是概率P1至PN中的最大概率。然 后,使用被测量或计算用于采样周期k的一个或多个系统度量,以在下一 个评估周期内预测系统400的操作条件。 在操作520,任务408使用在操作518处计算的系统度量组,以在下 一个评估周期内预测CPU-n的操作条件。在一个实施例中,任务408使用 在采用周期k内在以上步骤(2)和(8)中计算/确定的μk,以查找用户定 义表来用于确定CPU-n的合适功率状态。图7示出具有五个功率状态并且 每个功率状态都为一对电压频率设定的形式的示例性用户定义表。例如, 如果μk是0.45,则选择功率状态3。 在操作522,通过使用AVFS设备驱动器414和相应的操作控制器设 备112,任务408使系统400调整CPU-n的操作条件。 在一个实施例中,对于每个处理器内核110,一个接一个地执行操作 518、520和522。可替换地,它们可以同时被执行用于两个以上处理器内 核110。 在调整处理器内核110的操作条件之后,任务408返回到操作512用 于下一次评估。 以上概述了多个实施例的特征,使得本领域普通技术人员可以更好地 理解本公开的多个方面。本领域普通技术人员将想到,它们可以容易地使 用本公开作为用于设计或修改用于执行与在此介绍的实施例相同的目的和 /或实现与其相同优点的其他处理和结构的基础。本领域普通技术人员还将 认识到,这样的等价构造不脱离本公开的精神和范围,并且在不脱离本公 开的精神和范围的情况下,在此可以作出多种改变、替换和更改。 在一个示例性方面,本公开针对于包括监控单元、处理单元以及外围 单元的系统。每个处理单元都链接至监控单元,并且每个外围单元也链接 至监控单元。每个处理单元均被配置成通过监控单元将请求发送至至少一 个外围设备并且随后从该至少一个外围设备接收响应。监控单元被配置成 测量和存储响应与相应请求之间的延迟。 在另一个示例性方面,本公开针对于多内核系统。多内核系统包括多 个第一处理器内核和多个第二外围设备,多个外围设备被配置成通过通信 网络从多个第一处理器内核接收指令并且将相应响应发送至多个第一处理 器内核。多内核系统进一步包括:业务量监控设备,其被配置成监控通信 网络上的指令和相应响应,并且存储用于至少一些指令和相应响应的记录。 多内核系统进一步包括:存储器,包括一组计算机可读指令,当该组计算 机可读指令由多个第一处理器内核执行时,使系统存取记录,至少部分地 基于记录评估策略,并且基于策略调整系统的操作条件。 在另一个示例性方面,本公开针对于管理多内核系统的功耗的方法, 其中,多内核系统包括链接至外围设备的处理器内核,并且每个处理器内 核都被配置成在相应第一功率状态下操作并且被进一步配置成将指令发送 到至少一个外围设备并且从至少一个外围设备接收响应。该方法包括:在 用于每个处理器内核的采样周期内测量第一执行时间,其中,第一执行时 间是由相应处理器内核发送的指令的聚集指令响应延迟。该方法进一步包 括:至少部分地基于用于每个处理器内核的第一执行时间和第一组用户定 义标准,计算第一组度量。该方法进一步包括:对于每个处理器内核,至 少基于第一组度量和第二组用户定义标准,预测第二功率状态,并且基于 第二功率状态,调整相应处理器内核的操作条件。
《自适应电压频率调整的系统和方法.pdf》由会员分享,可在线阅读,更多相关《自适应电压频率调整的系统和方法.pdf(18页珍藏版)》请在专利查询网上搜索。
提供一种包括监控单元、处理单元以及外围单元的系统。每个处理单元都链接至监控单元,并且每个外围单元也链接至监控单元。每个处理单元被配置成通过监控单元将请求发送到至少一个外围单元并且随后从该至少一个外围单元接收响应。监控单元被配置成测量和存储响应与相应请求之间的延迟。本发明提供了自适应电压频率调整的系统和方法。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1