首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 内核 / 用于每瓦特最优性能的智能多核控制

用于每瓦特最优性能的智能多核控制

阅读:715发布:2023-12-27

专利汇可以提供用于每瓦特最优性能的智能多核控制专利检索,专利查询,专利分析的服务。并且各个方面提供了用于多核集成 电路 的多个处理器 内核 的智能多核控制的设备和方法。这些方面可以识别并且激活处理器内核的最优集合,以达到针对给定工作负载的最低 水 平的功耗或针对给定功率预算的最高性能。处理器内核的最优集合可以是活动处理器内核的数量或特定活动处理器内核的 指定 。当处理器内核的 温度 读数低于 门 限,可以选择一组处理器内核来提供针对给定工作负载的最低功耗。当处理器内核的温度读数高于门限时,可以选择一组处理器内核来提供针对给定功率预算的最佳性能。,下面是用于每瓦特最优性能的智能多核控制专利的具体信息内容。

1.一种用于多核集成电路的多个处理器内核的多核控制的方法,包括:
将所述多个处理器内核的温度读数与温度限进行比较;
基于处理器内核信息和多种假定情况来计算针对所述多个处理器内核的映射;
当所述温度读数小于所述温度门限时,识别处理器内核的第一配置以优化针对给定工作负载的功耗;
当所述温度读数大于所述温度门限时,识别处理器内核的第二配置以优化针对给定功率预算的性能;以及
基于所识别的配置来控制所述多个处理器内核中的每一个处理器内核的活动状态。
2.根据权利要求1所述的方法,其中,基于所述处理器内核信息和所述多种假定情况来计算针对所述多个处理器内核的所述映射包括:
当所述温度读数小于所述温度门限时,计算功率映射,所述功率映射指示针对所述给定工作负载的给定代表值的所述多个处理器内核的组合的功耗和温度之间的关系;以及当所述温度读数大于所述温度门限时,计算性能映射,所述性能映射指示针对给定温度的所述多个处理器内核的组合的功耗和工作负载之间的关系。
3.根据权利要求1所述的方法,其中,处理器内核的所述第一配置和所述第二配置指示活动处理器内核的数量。
4.根据权利要求1所述的方法,其中,处理器内核的所述第一配置和所述第二配置指示所述多个处理器内核中的哪些处理器内核是活动处理器内核。
5.根据权利要求1所述的方法,其中,处理器内核的所述第一配置和所述第二配置包括:针对给定频率,具有最低泄漏量、最低温度或最电压电平的所述处理器内核。
6.根据权利要求1所述的方法,还包括:
读取与每一个处理器内核相关联的所述处理器内核信息,其中,所述处理器内核信息包括:泄漏电流、处理器内核速度、处理器电压设置表、最大时钟频率、温度读数和当前工作负载;以及
将所述当前工作负载转换为所述当前工作负载的代表值。
7.根据权利要求6所述的方法,其中,所述处理器内核信息包括动态信息,所述动态信息包括所述温度读数和所述当前工作负载,
所述方法还包括重复地读取所述动态信息。
8.根据权利要求1所述的方法,其中,所述多核集成电路的所述处理器内核包括从包括中央处理单元、图形处理单元着色器处理器、所述图形处理单元的纹理管道或数字信号处理器的群组中选择的一种或多种处理器内核类型。
9.一种装置,包括:
具有多个处理器内核的多核集成电路,其中,所述多核集成电路被配置为具有处理器可执行指令以执行操作,所述操作包括:
将所述多个处理器内核的温度读数与温度门限进行比较;
基于处理器内核信息和多种假定情况来计算针对所述多个处理器内核的映射;
当所述温度读数小于所述温度门限时,识别处理器内核的第一配置以优化针对给定工作负载的功耗;
当所述温度读数大于所述温度门限时,识别处理器内核的第二配置以优化针对给定功率预算的性能;以及
基于所识别的配置来控制所述多个处理器内核中的每一个处理器内核的活动状态。
10.根据权利要求9所述的装置,其中,所述多核集成电路被配置为具有处理器可执行指令以执行操作,以使基于所述处理器内核信息和所述多种假定情况来计算针对所述多个处理器内核的所述映射包括:
当所述温度读数小于所述温度门限时,计算功率映射,所述功率映射指示针对所述给定工作负载的给定代表值的所述多个处理器内核的组合的功耗和温度之间的关系;以及当所述温度读数大于所述温度门限时,计算性能映射,所述性能映射指示针对给定温度的所述多个处理器内核的组合的功耗和工作负载之间的关系。
11.根据权利要求9所述的装置,其中,处理器内核的所述第一配置和所述第二配置指示活动处理器内核的数量。
12.根据权利要求9所述的装置,其中,处理器内核的所述第一配置和所述第二配置指示所述多个处理器内核中的哪些处理器内核是活动处理器内核。
13.根据权利要求9所述的装置,其中,处理器内核的所述第一配置和所述第二配置包括:针对给定频率,具有最低泄漏量、最低温度或最低电压电平的所述处理器内核。
14.根据权利要求9所述的装置,其中,所述多核集成电路被配置为具有处理器可执行指令以执行操作,所述操作还包括:
读取与每一个处理器内核相关联的所述处理器内核信息,其中,所述处理器内核信息包括:泄漏电流、处理器内核速度、处理器电压设置表、最大时钟频率、温度读数和当前工作负载;以及
将所述当前工作负载转换为所述当前工作负载的代表值。
15.根据权利要求14所述的装置,其中,所述处理器内核信息包括动态信息,所述动态信息包括所述温度读数和所述当前工作负载,
所述多核集成电路被配置为具有处理器可执行指令以执行操作,所述操作还包括:重复地读取所述动态信息。
16.根据权利要求9所述的装置,其中,所述多核集成电路的所述处理器内核包括从包括中央处理单元、图形处理单元的着色器处理器、所述图形处理单元的纹理管道或数字信号处理器的群组中选择的一种或多种处理器内核类型。
17.一种用于多核集成电路的多个处理器内核的多核控制的装置,包括:
用于将所述多个处理器内核的温度读数与温度门限进行比较的单元;
用于基于处理器内核信息和多种假定情况来计算针对所述多个处理器内核的映射的单元;
用于当所述温度读数小于所述温度门限时,识别处理器内核的第一配置以优化针对给定工作负载的功耗的单元;
用于当所述温度读数大于所述温度门限时,识别处理器内核的第二配置以优化针对给定功率预算的性能的单元;以及
用于基于所识别的配置来控制所述多个处理器内核中的每一个处理器内核的活动状态的单元。
18.根据权利要求17所述的装置,其中,用于基于所述处理器内核信息和所述多种假定情况来计算针对所述多个处理器内核的所述映射的单元包括:
用于当所述温度读数小于所述温度门限时,计算功率映射的单元,所述功率映射指示针对所述给定工作负载的给定代表值的所述多个处理器内核的组合的功耗和温度之间的关系;以及
用于当所述温度读数大于所述温度门限时,计算性能映射的单元,所述性能映射指示针对给定温度的所述多个处理器内核的组合的功耗和工作负载之间的关系。
19.根据权利要求17所述的装置,其中,处理器内核的所述第一配置和所述第二配置指示活动处理器内核的数量。
20.根据权利要求17所述的装置,其中,处理器内核的所述第一配置和所述第二配置指示所述多个处理器内核中的哪些处理器内核是活动处理器内核。
21.根据权利要求17所述的装置,其中,处理器内核的所述第一配置和所述第二配置包括:针对给定频率,具有最低泄漏量、最低温度或最低电压电平的所述处理器内核。
22.根据权利要求17所述的装置,还包括:
用于读取与每一个处理器内核相关联的所述处理器内核信息的单元,其中,所述处理器内核信息包括:泄漏电流、处理器内核速度、处理器电压设置表、最大时钟频率、温度读数和当前工作负载;以及
用于将所述当前工作负载转换为所述当前工作负载的代表值的单元。
23.根据权利要求22所述的装置,其中,所述处理器内核信息包括动态信息,所述动态信息包括所述温度读数和所述当前工作负载,
所述装置还包括:用于重复地读取所述动态信息的单元。
24.根据权利要求17所述的装置,其中,所述多核集成电路的所述处理器内核包括从包括中央处理单元、图形处理单元的着色器处理器、所述图形处理单元的纹理管道或数字信号处理器的群组中选择的一种或多种处理器内核类型。
25.一种非暂时性处理器可读介质,具有存储于其上的处理器可执行软件指令,所述处理器可执行软件指令被配置为使得多核集成电路执行操作,所述操作包括:
将多个处理器内核的温度读数与温度门限进行比较;
基于处理器内核信息和多种假定情况来计算针对所述多个处理器内核的映射;
当所述温度读数小于所述温度门限时,识别处理器内核的第一配置以优化针对给定工作负载的功耗;
当所述温度读数大于所述温度门限时,识别处理器内核的第二配置以优化针对给定功率预算的性能;以及
基于所识别的配置来控制所述多个处理器内核中的每一个处理器内核的活动状态。
26.根据权利要求25所述的非暂时性处理器可读介质,其中,所存储的处理器可执行软件指令被配置为使得所述多核集成电路执行操作,以使基于所述处理器内核信息和所述多种假定情况来计算针对所述多个处理器内核的所述映射包括:
当所述温度读数小于所述温度门限时,计算功率映射,所述功率映射指示针对所述给定工作负载的给定代表值的所述多个处理器内核的组合的功耗和温度之间的关系;以及当所述温度读数大于所述温度门限时,计算性能映射,所述性能映射指示针对给定温度的所述多个处理器内核的组合的功耗和工作负载之间的关系。
27.根据权利要求25所述的非暂时性处理器可读介质,其中,所存储的处理器可执行软件指令被配置为使得所述多核集成电路执行操作,所述操作还包括:
读取与每一个处理器内核相关联的所述处理器内核信息,其中,所述处理器内核信息包括:泄漏电流、处理器内核速度、处理器电压设置表、最大时钟频率、温度读数和当前工作负载;以及
将所述当前工作负载转换为所述当前工作负载的代表值。
28.根据权利要求27所述的非暂时性处理器可读介质,其中,所述处理器内核信息包括动态信息,所述动态信息包括所述温度读数和所述当前工作负载,
所存储的处理器可执行软件指令被配置为使得所述多核集成电路执行操作,所述操作还包括:重复地读取所述动态信息。

说明书全文

用于每瓦特最优性能的智能多核控制

[0001] 相关申请
[0002] 本申请要求享有于2013年8月8日提交的、题目为“Intelligent Multicore Control For Optimal Performance Per Watt”的美国临时专利申请No.61/863,554的优先权,该申请的全部内容故以引用方式并入本文。

背景技术

[0003] 当前,制造商们通过抑制多处理器内核的处理时钟频率来管理多核设备中的功耗和发热问题。对多核设备的多处理器内核的处理时钟频率进行抑制可以通过降低由多核处理器完成的工作的速率来帮助管理功耗和发热问题。然而,这种技术关注于以性能为代价来管理这些问题。
[0004] 移动设备正越来越多地纳入多核处理器来处理在该移动设备上同时运行的系统和应用软件的需求。由于具有受限制的功率预算,移动设备在达到更高的性能平或在处理更大的软件处理需求的同时维持性能水平方面受到限制,其中,移动设备消耗的功率越多,该受限制的功率预算耗尽的越快。然而,软件处理需求正日益增长,用户期望在处理速度和电池寿命方面,在它们的移动设备上维持特定的性能水平。在移动设备上维持用户所期望的性能水平造成了这样一个两难问题:在管理多核处理器的发热问题时,是牺牲性能换取寿命,还是牺牲寿命换取性能。发明内容
[0005] 提供了用于多核集成电路的多个处理器内核的控制的各个方面的方法和装置,包括:将所述多个处理器内核的温度读数与温度限进行比较;基于处理器内核信息和多种假定情况来计算针对所述多个处理器内核的映射;当所述温度读数小于所述温度门限时,识别处理器内核的第一配置以优化针对给定工作负载的功耗;当所述温度读数大于所述温度门限时,识别处理器内核的第二配置以优化针对给定功率预算的性能;以及基于所识别的配置来控制所述多个处理器内核中的每一个处理器内核的活动状态。在示例性方法中,基于所述处理器内核信息和所述多种假定情况来计算针对所述多个处理器内核的所述映射可以包括:当所述温度读数小于所述温度门限时,计算功率映射,所述功率映射指示针对所述给定工作负载的给定代表值的所述多个处理器内核的组合的功耗和温度之间的关系;以及当所述温度读数大于所述温度门限时,计算性能映射,所述性能映射指示针对给定温度的所述多个处理器内核的组合的功耗和工作负载之间的关系。
[0006] 在示例性方法中,处理器内核的所述第一配置和所述第二配置可以指示活动处理器内核的数量。在示例性方法中,处理器内核的所述第一配置和所述第二配置可以指示所述多个处理器内核中的哪些处理器内核是活动处理器内核。在示例性方法中,处理器内核的所述第一配置和所述第二配置可以包括:针对给定频率,具有最低泄漏量、最低温度或最电压电平的所述处理器内核。
[0007] 示例性方法还可以包括:读取与每一个处理器内核相关联的所述处理器内核信息,其中,所述处理器内核信息包括:泄漏电流、处理器内核速度、处理器电压设置表、最大时钟频率、温度读数和当前工作负载;以及将所述当前工作负载转换为所述当前工作负载的代表值。在示例性方法中,所述处理器内核信息可以包括动态信息,所述动态信息包括所述温度读数和所述当前工作负载;并且所述示例性方法还可以包括重复地读取所述动态信息
[0008] 在示例性方法中,所述多核集成电路的所述处理器内核可以包括从包括中央处理单元、图形处理单元着色器处理器、所述图形处理单元的纹理管道(texture pipe)或数字信号处理器的群组中选择的一种或多种处理器内核类型。
[0009] 一个方面包括一种装置,所述装置包括具有多个处理器内核的多核集成电路,其中,所述多核集成电路被配置为具有处理器可执行指令以执行上文所描述的一种或多种示例性方法的操作。
[0010] 一个方面包括一种用于多核集成电路的多个处理器内核的多核控制的装置,其包括用于执行上文所描述的一种或多种示例性方法的功能的单元。
[0011] 一个方面包括一种非暂时性处理器可读介质,具有存储于其上的处理器可执行软件指令,所述处理器可执行软件指令被配置为使得多核集成电路执行上文所描述的一种或多种示例性方法的操作。附图说明
[0012] 被并入本文并且构成本说明书的一部分的附图示出了本发明的示例性方面,并且与上文给出的总体描述和下文给出的具体实施方式一起用于解释本发明的特征。
[0013] 图1A是示出了在多个显示器上由示例性多核设备呈现的多个视频表示的图。
[0014] 图1B是示出了在多核设备的显示器上由示例性多核设备呈现的多个视频表示的图。
[0015] 图2A是示出了针对在示例性多核设备上由标准元件处理的恒定工作负载的功耗和热输出方面的变化的图。
[0016] 图2B是示出了针对在示例性多核设备上由慢速元件处理的恒定工作负载的功耗和热输出方面的变化的图。
[0017] 图3是示出了多核设备上的示例性智能多核控制的方框图
[0018] 图4是用于多核设备的智能多核控制的示例性功率映射的一系列图。
[0019] 图5A是用于多核设备的智能多核控制的示例性性能映射的图。
[0020] 图5B是用于多核设备的智能多核控制的示例性性能映射的图。
[0021] 图6是示出了用于多核设备的示例性智能多核控制方法的过程流程图
[0022] 图7是示出了用于智能多核控制的多核图形集成电路的例子的部件方框图。
[0023] 图8是示出了适用于示例性智能多核控制方法的示例性多核设备的部件图。

具体实施方式

[0024] 将参照附图详细描述各个方面。只要可能,将贯穿附图使用相同的附图标记来指代相同或类似部分。对特定例子和实施方式进行的引用是出于说明性的目的,而不是要限制本发明或权利要求书的保护范围。
[0025] 如本文所使用的,术语“计算设备”指的是以下各项中的任何一项或全部:智能电话、膝上型计算机、个人计算机、服务器、平板型计算机、掌上型计算机、以及单独地包括可编程处理器和存储器以及用于将信号发送给集成电路(IC)的电路的类似电子设备。
[0026] 如本文所使用的,术语“多核设备”指的是具有具备多个处理器内核的IC/片上系统(SoC)/处理器的任何计算设备。本文中的示例性多核设备被描述为具有多核IC。以多核IC来描述多核设备意味着是示例性的而绝不是限制性的。对多核IC的描述可以是与多核SoC和多核处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、物理处理单元(PPU)、数字信号处理器(DSP)、多处理器以及其它可编程逻辑器件)可互换的。
[0027] 如本文所使用的,术语“泄漏”、“泄漏”、“IDDQ”以及“泄漏电流”可以被互换地使用,并且指的是当设备被关断时流过半导体的绝缘区域或半导体的导电区域的电流。随着温度的不断上升,泄漏电流呈指数型增长。
[0028] 由多核设备的多核IC所增加的功耗常常会导致多核IC的热辐射的增加或温度的增加,以及电池寿命的减少。当多核IC的温度上升时,其可能会导致过度发热并且当达到临界温度时通过关断处理器来降低多核设备的性能,降低用户体验。增加的功耗可能会极大地减少具有受限制的功率预算的多核设备的电池寿命,也会降低用户体验。当前,多核设备中的发热和功率管理可能涉及抑制或降低处理器内核的处理器时钟频率。较慢的处理器时钟会造成较少的热量输出并且会使用较少的功率,但是也会降低处理器的工作负载的吞吐量。
[0029] 各个方面的方法和设备提供了通过控制用于执行过程任务的多核设备中的多核IC内的处理器内核的数量以及控制使用其中的哪些处理器内核来执行过程任务以便达到所消耗的功率中的每瓦的最优性能来管理多核设备中的发热和功率问题的替代方式。由于泄漏和动态功率的趋势,针对相同的工作负载的功耗随着运行该工作负载的活动处理器内核的数量而变化。在各个方面中,可以基于各种因素(例如,温度、速度、泄漏量、元件类型以及总工作负载)来确定用于每瓦特最佳性能的活动内核的最优数量。
[0030] 对于具有受限制的功率预算的多核设备来说,多核设备上的并发多媒体过程需要相当大的功率分布(profile)。这样的多媒体过程的例子包括对一个或多个设备上的一个或多个输出进行图形、物理学、视频、图像、音频以及通信处理。图1A和图1B示出了运行并发多媒体过程的示例性多核设备10(例如,智能电话)。在图1A中,多核设备10可以通过无线(或有线)连接14而连接到显示设备12。多核设备10可以发送用于显示多媒体过程输出16的数据。例如,多核设备10可以发送可用于以每秒60(fps)、1080p的分辨率来显示视频游戏图形的数据。显示设备12可以使用经由无线连接14从多核设备10接收到的数据来呈现该多媒体过程输出。在这个例子中,显示设备12可以是任何计算设备、连接的电视机或监视器、或另一多核设备。同时,多核设备10可以呈现不同的多媒体过程输出18。例如,多核设备10可以呈现不同的游戏场景、通信界面、游戏控制器、或游戏、应用或移动设备用户界面,其可以具有与在显示设备12上呈现的多媒体过程输出相比不同的复杂度。多核设备10和显示设备12二者都可以显示例如用户的对手和/或多核设备10的用户的一个或多个进一步的图像或视频。
[0031] 图1B中示出的例子示出了多核设备10可以能够并发地呈现多个多媒体过程输出。在这个例子中,多核设备10可以在其显示器20上并发地呈现多媒体过程输出16和一个或多个不同的多媒体过程输出18。多媒体过程输出16可以包括例如具有60fps、1080p分辨率的视频游戏图形,并且该一个或多个不同的多媒体过程输出18可以包括例如具有30fps、
1080p分辨率的用户的对手和/或用户的视频。显示器20可以通过多种已知的显示技术来实现,并且支持一系列的分辨率和刷新率。在图1A和图1B二者中示出的例子中,多核设备10和显示设备12可以呈现其它的多媒体过程输出,例如,视频游戏的音频部分和/或用户与其对手之间的通信。多核设备10还可以提供触觉反馈,例如与该呈现相关的振动。用于处理所有多媒体过程并且呈现这些例子中所涉及到的输出的多核设备10的工作负载可能会导致多核IC的热量输出和功耗的显著增加。
[0032] 图2A和图2B中的图示出了针对在各个温度水平处由多核设备上的标准元件和慢速元件所处理的恒定工作负载的功耗的变化。工作负载的量可以被测量并且被指示为MIPS,其代表百万条指令每秒。在大规模生产运营中,由于多核IC的组成材料中的内在的、固有的差异,每一个多核IC可能具有略微不同的物理和性能特性,这可能带来一批中的每一个多核IC的处理速度和热性能的差异。性能的差异可能会导致多核IC被分类为快速多核IC、标准/额定多核IC、或慢速多核IC。性能的差异还可能是由于多核IC中的内核与内核之间的不同、处理器和/或内核被构造成具有不同的容量和/或用于不同的目的以及工作负载的分布而导致的。即使在内核具有相同的电路设计的情况下,出于若干原因(例如,硅的制造范围、根据工作负载的不同而发生的动态温度变化、由于内核的位置而导致的散热不同、以及来自硅管芯平面布置图上的附近的其它功能的热传导),相同硅管芯上的内核的特性也可能会发生变化。多核IC所达到的性能还取决于晶体管结点的温度。图2A和图2B中的图分别表示具有两个、三个和四个活动处理器内核的标准和慢速多核IC的情况。描绘标准多核IC的性能的图200示出了当三个活动处理器内核的温度在大约25摄氏度和90摄氏度之间时,示例性多核IC如何可以最优地运行(例如,使用最少的功率),以利用这三个活动处理器内核来执行恒定的工作负载(线204)。当高于大约90摄氏度时,相同的多核IC可以最优地运行以利用两个活动处理器内核来执行恒定的工作负载(线206)。在这个例子中,对于该示例性多核IC来说,在所示温度范围内,激活第四个处理器内核来处理相同量的工作负载(线208)可能不是最优的。对于示例性慢速多核IC来说,在相同的温度范围内,图202示出了利用三个活动处理器内核来处理恒定的工作负载(线210)可能是最优的,而不是利用两个活动处理器内核(线212)或四个活动处理器内核(线214)。针对最低功耗的活动内核的最优数量可以随着温度、IC速度以及工作负载的量(所需要的MIPS或MHz)而变化。
[0033] 图3示出了用于控制多核IC中应当被激活的多个处理器内核的数量以及其中具体的那几个处理器内核的示例性智能多核控制。这个例子中的多核IC 300包括四个处理器内核302,其被标记为内核0、内核1、内核2和内核3。在任何多核IC 300中的处理器内核302的数量可以变化,并且可以多于或少于图3中所描绘的四个处理器内核。每一个处理器内核302可以与可从处理器内核302访问的或可从单独的处理器(未示出)或存储器(未示出)访问的各种处理器内核(或硅)信息304相关联。处理器内核信息304可以包括IDDQ测试结果或泄漏电流、元件类型或处理器内核(或硅)速度(例如,慢速、标准/额定、或快速)、处理器电压换算(processor voltage scaling,PVS)表、最大时钟频率(Fmax)、温度读数以及当前工作负载。
[0034] 为了确定需要激活的处理器内核302的最优数量以及激活其中的哪些,工作负载分析器306可以收集具有针对每一个处理器内核302的处理器内核信息304的信号316。工作负载分析器306可以与可用于存储来自处理器内核302的某些静态信息的存储器(未示出)相关联。处理器内核302的静态信息可以是为常数的处理器内核信息304,例如,泄漏量、PVS表、元件类型或速度以及最大时钟频率。存储该静态信息可以减少用于取回该处理器内核302的静态信息的开销,由此减少用于确定处理器内核302的最优组合所需要的时间和功率。该静态信息可能源自处理器内核302的制造商说明书和/或处理器内核302的制造过程期间的测试。制造商可以在制造期间将该静态信息存储在处理器内核302、单独的处理器或存储器上,以使在处理器内核302被用户使用之前,该静态信息就被包含在多核设备之内。
剩余的处理器内核信息304可以是动态信息,其可以随时间而变化。这样的动态信息可以包括处理器内核302的温度读数和工作负载。工作负载分析器306可以根据需要(例如,用于每次确定处理器内核302的最优组合)来取回这样的动态信息。工作负载分析器306可以将处理器内核302的当前工作负载信息转换为处理器内核302的工作负载的代表值。例如,可以通过MIPS、处理器利用率、时钟频率或某些性能计数器值来表示工作负载。当前工作负载信息和工作负载的代表值可以是针对个别处理器内核302的或者是针对处理器内核302群组的。
[0035] 实时多核功率模型308可以接收信号318,其具有一些或全部处理器内核信息304,包括经转换的工作负载代表值。实时多核功率模型308可以使用处理器内核信息304来计算针对当前所提供的处理器内核信息304和针对一系列假定情况的处理器内核信息304的功耗。这些假定情况可以包括在工作负载值处、一温度范围内的活动处理器内核302的各种组合。实时多核功率模型308可以创建由实际和假定计算和/或计算结果组成的功率映射或数据集,指示针对给定工作负载(或给定工作负载的代表值)的处理器内核302的组合的功耗和温度之间的关系。假定情况还可以包括在给定温度处、一工作负载范围内的活动处理器内核302的各种组合。类似地,实时多核功率模型308可以基于当前所提供的处理器内核信息304和针对一系列假定情况的处理器内核信息304来创建性能映射或数据集。该计算指示针对在所选温度处的处理器内核302的组合的功耗和工作负载(例如,由吞吐量或每秒所执行的指令来表示)之间的关系。功率映射和性能映射可以与用于确定这些映射的因素(例如,温度和代表工作负载值、以及一些或全部处理器内核信息304)一起被实时多核功率模型308作为信号320输出。
[0036] 实时多核功率模型308可以根据当前的优化策略来创建功率映射或性能映射,当前的优化策略可以是针对给定工作负载的最低功率或针对给定功率预算的最高性能中的一个。在另一方面中,实时多核功率模型308是创建功率映射还是创建性能映射可以取决于特定的因素。例如,可以应用温度门限来确定创建哪个映射。当温度读数低于门限时,实时多核功率模型308可以创建功率映射来帮助确定针对给定工作负载的最低功耗。这可以在保持尽可能低的功耗的同时,使多核设备能够满足工作负载的需求,由此延长电池寿命。保持尽可能低的功耗的结果还在于:在仍然达到针对工作负载的性能目标的同时,保持尽可能低的温度。针对给定的功率预算或水平,当温度读数高于门限时,实时多核功率模型308可以创建性能映射来帮助确定最低功耗处的最佳性能或最高工作负载。这可以使多核设备能够提供具有最小功率量的最高工作负载,由此在提供在这些参数内的最佳用户体验的同时,对温度的上升具有最小的影响,或者甚至能够维持或降低温度。
[0037] 在创建这些映射的过程中,实时多核功率模型308可以基于个别处理器内核302的各种组合来使用每一个处理器内核302的处理器内核信息304来计算这些结果。例如,实时多核功率模型308可以选择对具有最低温度、最低泄漏量、最高速度和/或最低工作负载的处理器内核302进行组合。在另一方面中,实时多核功率模型308可以在其计算过程中作出某些假设。这样的假设可以包括:属于相同多核IC 300的每一个处理器内核302可以共享某些特性,比如处理器内核静态信息。其它方面可以要求实时多核功率模型308在创建处理器内核302的组合的过程中遵守某些规则,例如,处理器内核的组合必须只包括邻近的处理器内核302(例如,内核0和内核1;内核1和内核2;内核2和内核3;内核3和内核4;内核0、内核1和内核2;内核1、内核2和内核3;以及内核2、内核3和内核4),或者只可以组合相同类型的处理器内核302。邻近的处理器内核302不必物理地邻近,可以通过规则将它们指定为邻近。
[0038] 性能/瓦特优化引擎310可以从实时多核功率模型308接收作为信号320的映射和因素,并且还可以从系统功率预算管理器314接收作为信号322的功率预算。这些因素可以包括用于确定映射的因素,例如,温度和代表工作负载值、以及一些或全部处理器内核信息304。优化引擎310可以执行多维空间中的性能优化算法以确定或识别针对当前工作负载的处理器内核302的最优配置。该配置可以包括:活动的和/或不活动的处理器内核302的数量、和/或哪些处理器内核302应当被指定为活动的和/或不活动的。需要激活的处理器内核
302的数量可以从使用这些映射(并且在一些实例中也使用这些因素)的性能优化算法中推导出。类似于实时多核功率模型308,优化引擎310可以基于个别信息、基于某些假设、或基于规则集合来作出处理器内核302的任何组合。可以基于个别处理器内核302的处理器内核信息304的任何单个部分或组合来选择活动的和/或不活动的处理器内核302。例如,针对给定频率,优化引擎310可以选择具有最低泄漏量、最低温度和/或最低电压电平的活动处理器内核302。优化引擎310可以识别针对单位测量量(unit measurement)(例如,时间、工作负载、功耗量和/或温度水平)有多少处理器内核302和/或哪些处理器内核302是活动的和/或不活动的。
[0039] 多核管理器312可以从优化引擎310接收具有所识别的处理器内核信息的信号324。多核管理器312可以控制每一个处理器内核302的活动状态,由此控制针对该单位测量量有多少处理器内核302和/或哪些处理器内核是活动的和/或不活动的。在一个方面中,多核管理器312可以利用状态信号326来向多核IC 300或个别处理器内核302发信号,该状态信号326在特定处理器内核302或处理器内核302群组中引起活动状态和/或不活动状态。在一个方面中,多核管理器312对调度器(未示出)进行控制或与调度器进行交互,以仅调度被优化引擎310视为活动的处理器内核302的过程。在另一方面中,多核管理器312对调度器进行控制或与调度器进行交互,以调度活动的处理器内核302的过程并且避免调度被优化引擎310视为不活动的处理器内核302的过程。
[0040] 在一个方面中,多核设备可以具有一个或多个多核IC 300。多核设备可以进一步包括工作负载分析器306、实时多核功率模型308、优化引擎310和多核管理器312中的每一个的一个或多个。这些部件中的每一个可以与一个或多个多核IC 300配对
[0041] 可以将工作负载分析器306、实时多核功率模型308、优化引擎310和多核管理器312中的每一个实现为存储在多核设备的存储器(参见图8)上并且由多核设备的处理器(参见图8)执行的软件。
[0042] 图4示出了用于多核设备的智能多核控制的示例性图形化功率映射的例子。图形表示400、402、404和406描绘了得到功率映射的四种情况。每一个图形表示400、402、404和406均包括对由实时多核功率模型在一温度范围内、在给定的代表工作负载值处、针对指定数量的处理器内核所计算的功耗进行表示的个别图形。第一示例性功率映射的图形表示
400是针对标准类型的多核IC和中等工作负载(例如,中等MIPS数)的。对于在该第一示例性功率映射的创建过程中所涉及的示例性多核IC来说,一到四个处理器内核可以能够处理该工作负载。箭头408指示在大约110摄氏度处,使用两个活动处理器内核得到了最低的功耗,与此同时仍然能够处理所指定的工作负载。
[0043] 第二示例性功率映射的图形表示402也是针对标准类型的多核IC的,但是其具有较重的工作负载(例如,较高的MIPS数)。在这个实例中,用于生成该第二示例性功率映射的示例性多核IC可能需要二到四个处理器内核来处理该工作负载。在这种情况下,箭头410指示在大约120摄氏度处,使用三个活动处理器内核得到了最低的功耗,与此同时仍然能够处理所指定的工作负载。
[0044] 第三示例性功率映射的图形表示404与此前的两种图形表示400、402不同,因为它是针对慢速类型的多核IC的,但是使用与第一示例性功率映射的图形表示400相同的工作负载。在这样例子中,一到四个处理器内核可以处理该工作负载,并且箭头412指示在大约110摄氏度处,使用两个活动处理器内核得到了用于处理该工作负载的最低功耗。
[0045] 第四示例性功率映射的图形表示406是针对慢速类型的多核IC的,但是使用与第二示例性功率映射的图形表示402相同的较重的工作负载。在这个例子中,二到四个处理器内核可以处理该工作负载,并且箭头414指示在大约110摄氏度处,使用四个活动处理器内核得到了用于处理该工作负载的最低功耗。
[0046] 图5A和图5B示出了用于多核设备的智能多核控制的示例性性能映射。图形表示500和502描绘了得到性能映射的两种情况。每一个图形表示均包括对由实时多核功率模型针对各个工作负载、针对指定数量的处理器内核所计算的功耗进行表示的图。这些计算中的温度(未示出)可以是常数。第一示例性性能映射的图形表示500是针对标准类型的多核IC的。对于在该性能映射的创建过程中所涉及的示例性多核IC来说,一到四个处理器内核可以能够处理可变工作负载。箭头504指示在P2mW的功率预算处,使用两个活动处理器内核得到了X2 MIPS的最佳性能,而在功率预算大约相同的地方,一个活动处理器内核可以处理较少的MIPS,并且三或四个处理器内核可以处理甚至更少的MIPS。
[0047] 第二示例性性能映射的图形表示502也是针对标准类型的多核IC的,其具有能够处理可变工作负载的二到四个处理器内核。在这种情况下,箭头506指示在P5mW的功率预算处,使用四个活动处理器内核得到了X4MIPS的最佳性能,而在功率预算大约相同的地方,三个活动处理器内核可以处理较少的MIPS,并且两个活动内核可以处理甚至更少的MIPS。
[0048] 图6是示出了用于多核设备的示例性智能多核控制方法600的过程流程图。当多核设备具有多个多核IC时,针对特定多核IC的处理器内核,多核设备可以选择执行本文所描述的一些或全部方框。例如,多核设备可以包括用于通用计算任务的多核IC和专用于多媒体处理和渲染的另一个多核IC。可以将具体任务分配给不同的多核IC。当多核设备执行该智能多核控制方法600时,针对特定的多核IC的具体任务的工作负载,其可以这样做。在这样的实例中,多核设备可以为该工作负载选择合适的多核IC,并且执行智能多核控制方法600中的与所选多核IC的处理器内核有关的方框。
[0049] 在方框602中,多核设备可以读取与多核设备的一些或全部处理器内核相关联的静态信息。处理器内核的静态信息可以是为常数的处理器内核信息,例如,泄漏量、PVS(处理器电压调节)表、以及元件类型或硅速度。在方框604中,多核设备可以读取与多核设备的处理器内核相关联的动态信息。该动态信息可以随时间而变化,并且可以包括处理器内核的温度读数和工作负载。在方框606中,多核设备可以将当前的工作负载读数转换成代表工作负载值。例如,可以通过MIPS、处理器利用率、操作时钟频率或某种性能计数器值来表示工作负载。
[0050] 在确定方框608中,多核设备可以通过将温度读数与温度门限进行比较来确定温度读数与温度门限的关系。可以用各种方式来作出这种关系的确定。多核设备可以将每一个处理器内核的温度读数与温度门限进行比较。可以以处理器内核为基础在处理器内核上作出该确定,并且可以根据少数服从多数的规则来作出总体确定。例如,在确定方框608中,当大多数处理器内核温度读数都小于温度门限时,出于确定的目的,将整个处理器内核群组视为具有低于门限的温度读数。在一个方面中,在确定方框608中,出于确定的目的,可以单独地对待每一个处理器内核。在进一步的方面中,在确定方框608中,出于确定的目的,可以使用该组处理器内核群组的平均温度或中间温度来与温度门限进行比较,并且将处理器内核当作一个群组来对待。
[0051] 取决于所确定的关系,多核设备可以计算功率映射或性能映射。当在确定方框608中确定处理器内核的温度读数(作为群组或作为个体)大于温度门限时,在方框610中,多核设备可以计算性能映射,该性能映射将用于达到针对给定功率预算的最优或最佳性能。在一个方面中,当温度读数等于门限时,在方框610中,多核设备可以计算性能映射。在方框612中,多核设备可以识别处理器内核的配置,其可以优化针对给定功率预算的性能。在一个方面中,该配置可以包括活动/不活动的处理器内核的数量和/或哪些活动/不活动处理器内核可以优化针对给定功率预算的性能。在方框618中,多核设备可以控制处理器内核的活动状态,由此控制数量和/或哪些处理器内核是活动的和/或不活动的,以针对给定功率预算执行达到最佳性能的参数内的工作负载。
[0052] 当在确定方框608中确定处理器内核的温度读数(作为群组或作为个体)小于温度门限时,在方框614中,多核设备可以计算功率映射,该功率映射将用于达到针对给定工作负载的最优或最低功率。在一个方面中,当温度读数等于门限时,在方框614中,多核设备可以计算功率映射。在方框616中,多核设备可以识别处理器内核的配置,其可以优化针对给定工作负载的功率。在一个方面中,该配置可以包括活动/不活动处理器内核的数量和/或哪些活动/不活动处理器内核可以优化针对给定工作负载的功率。在方框618中,多核设备可以控制处理器内核的活动状态,由此控制数量和/或哪些处理器内核是活动的和/或不活动的,以针对给定工作负载执行达到最低功率的参数内的工作负载。
[0053] 针对要被执行的过程中的每一个工作负载,多核设备可以重复地执行该智能多核控制方法600。在一个方面中,可能没有必要重复方框602,这是由于静态信息可能不会改变。在这样的情况下,多核设备可以通过读取处理器内核的动态信息从方框604开始重复该智能多核控制方法600。
[0054] 图7提供了适于使用如本文所描述的智能多核控制的多核IC 300架构的简化部件框图。如可能适用于高端计算设备(例如,台式计算机)的那样,图7所示的例子中的多核IC 300是图形处理单元(GPU),其具有多个处理器内核,其中一组是着色器处理器(SP)700,并且一组是纹理管道(texture pipe,TP)702。可以将着色器处理器700和纹理管道702安排为彼此并行地执行过程。可以针对处理器内核的任何集合来实现智能多核控制,所述处理器内核的任何集合被安排为彼此并行地执行过程。处理器内核可以全都在多核IC 300内。在一个方面中,可以使用智能多核控制来跨越类似的多核IC 300管理处理器内核。例如,潜在的未来多核设备具有若干个多媒体多核IC 300。多媒体多核IC 300中的每一个可以具有用于处理多媒体任务的类似的处理能。多核设备可以使用智能多核控制来从一个以上的多媒体多核IC 300中选择处理器内核以执行给定的工作负载。在另一方面中,多核设备可以使用智能多核控制来优化一个多核IC 300内的处理器内核群组(相对于另一个类似的多核IC 300而言)。如在此前例子中所描述的,使用若干个多媒体多核IC 300的例子可以涉及使用智能多核控制来从多媒体多核IC 300群组中的一个多媒体多核IC 300中选择处理器内核来执行给定工作负载的多核设备。
[0055] 图7还示出了每一个处理器内核、着色器处理器700以及纹理管道702均可以连接到工作负载分析器306和多核管理器312。该示图是多核管理器312和着色器处理器700之间的关系的简化,这是由于与纹理管道702紧密集成的着色器处理器700可以完全由完成着色器工作负载的分布的硬件块来驱动。可以将工作分析器306连接到实时多核功率模型308,该实时多核功率模型308可以连接到性能/瓦特优化引擎310,该性能/瓦特优化引擎310可以连接到多核管理器312。这样,图7中示出的部件可以能够实现本文所描述的智能多核控制。
[0056] 可以使用模块化着色器处理器/纹理管道单元来实现各个方面。该架构允许GPU差异的创建,其可以在着色器和纹理处理能力方面变化。着色器处理仅仅是由GPU执行的图形处理中的许多步骤中的一个,因而上文关于着色器处理器/纹理管道单元的讨论仅仅涉及完整工作核心中的一部分。着色器处理器/纹理管道单元可以完全由前述硬件块来驱动,并且不可以从单独地通过软件控制。然而,未来的计算系统架构可能会允许通过软件来控制着色器处理器/纹理管道单元。
[0057] 图8示出了用于使用智能多核控制的示例性多核设备800。在各个实施例中,多核设备800可以包括耦合到触摸屏控制器804和内部存储器806的处理器802。处理器802可以是被指定用于通用或专用处理任务的一个或多个多核IC。内部存储器806可以是易失性的或非易失性的存储器,并且还可以是安全存储器和/或加密存储器,或非安全存储器和/或非加密存储器,或其任何组合。触摸屏控制器804和处理器802还可以耦合到触摸屏面板812,例如,电阻式感应触摸屏、电容式感应触摸屏、红外式感应触摸屏等。多核设备800可以具有彼此耦合和/或耦合到处理器802的一个或多个无线信号收发机808(例如,
Wi-Fi、RF无线单元)和天线810以用于发送和接收。收发
机808和天线810可以与上文所提及的电路一起使用,以实现各个无线传输协议栈和接口
多核设备800可以包括蜂窝网络无线调制解调器芯片816,其支持经由蜂窝网络的通信,并且耦合到处理器。多核设备800可以包括耦合到处理器802的外围设备连接接口818。可以将外围设备连接接口818单独地配置为接受一种类型的连接,或多样地配置为接受各种类型的通用或专用的物理和通信连接,例如,USB、火线(FireWire)、Thunderbolt或PCIe。还可以将外围设备连接接口818耦合到类似配置的外围设备连接端口(未示出)。多核设备800还可以包括用于提供语音输出的扬声器814。多核设备800还可以包括由塑料、金属或组合材料所构造的外壳820,以用于容纳本文所讨论的全部或一些部件。多核设备800可以包括耦合到处理器802的电源822,例如,一次性电池或可充电电池。还可以将可充电电池耦合到外围设备连接端口,以从多核设备800外部的电源接收充电电流。
[0058] 提供前述的方法描述和过程流程图仅仅作为说明性的例子,而并非旨在要求或暗示必须按照给出的顺序执行各种方面的步骤。如本领域技术人员将意识到的,可以按照任何顺序执行前述方面中的步骤顺序。诸如“其后”、“然后”、“接下来”等词汇并非旨在限制步骤的顺序;这些词汇仅用于引导读者阅读对方法的描述。此外,以单数形式(例如使用冠词“一个”、“一”或“该”)对权利要求元素进行的任何引用都不应被解释为将元素限制为单数。
[0059] 如本申请中所使用的,术语“部件”、“模块”、“系统”、“引擎”、“生成器”、“管理器”等旨在包括被配置为执行特定操作或功能的计算机相关实体,例如但不限于:硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:运行在处理器上的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,运行在计算设备上的应用和计算设备二者都可以被称为部件。一个或多个部件可以驻留在过程和/或执行的线程内,并且部件可以位于一个处理器或内核上和/或分布在两个或更多个处理器或内核之间。另外,可以通过其上存储有各种指令和/或数据结构的各种非暂时性计算机可读介质来执行这些部件。部件可以通过以下方式来进行通信:本地和/或远程过程、函数或过程调用、电子信号、数据分组、存储器读/写、以及其它已知的网络、计算机、处理器、和/或与过程有关的通信方法。
[0060] 结合本文公开的方面描述的各种说明性逻辑框、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或这二者的组合。为了清楚地说明硬件和软件的这种可互换性,以上各种说明性部件、方框、模块、电路和步骤均围绕它们的功能来概括性描述。这样的功能被实现为硬件还是软件取决于具体应用和施加在整个系统上的设计约束。技术人员可以针对各个具体应用以变通方式来实现所描述的功能,但是这样的实现决策不应当被解释为使得脱离本发明的保护范围。
[0061] 可以利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑电路、分立门或晶体管逻辑器件、分立硬件部件或其任何组合来实现或执行用于实现结合本文所公开的方面来描述的各种说明性逻辑单元、逻辑块、模块和电路的硬件。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核结合,或任何其它这样的配置。或者,一些步骤或方法可以由特定于针对给定功能的电路来执行。
[0062] 在一个或多个示例性方面中,可以使用硬件、软件、固件或其任何组合来实现所描述的功能。如果使用软件来实现,则可以将该功能作为一个或多个指令或代码存储在非暂时性计算机可读介质或非暂时性处理器可读介质上。本文所公开的方法或算法的步骤可以体现在可驻留在非暂时性计算机可读或处理器可读存储介质上的处理器可执行的软件模块中。非暂时性计算机可读或处理器可读存储介质可以是可由计算机或处理器存取的任何存储介质。通过举例而非限制性的方式,这样的非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、FLASH存储器、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备,或可以用于存储呈指令或数据结构的形式的期望的程序代码且可通过计算机存取的任何其它介质。如本文所使用的,磁盘(Disk)与光盘(disc)包含压缩光盘(CD)、激光光盘、光盘、数字多功能盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘利用激光来光学地复制数据。上述内容的组合也应当被包含在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令中的一个、或其任意组合、或集合而驻留在可以并入到计算机程序产品中的非暂时性处理器可读介质和/或计算机可读介质上。
[0063] 提供前面对公开的方面的描述以使本领域任何技术人员能够实施或使用本发明。对本领域技术人员而言,对这些的各种修改将是显而易见的,并且可以将本文所定义的一般性原理应用于其它变型而不脱离本发明的精神或保护范围。因而,本发明并不旨在要受限于本文示出的方面,而是要符合与所附权利要求和本文所公开的原理和新颖性特征相一致的最广泛的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈