《在处理器中增加超频模式操作的功耗效率.pdf》由会员分享,可在线阅读,更多相关《在处理器中增加超频模式操作的功耗效率.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103649864 A (43)申请公布日 2014.03.19 CN 103649864 A (21)申请号 201280032035.2 (22)申请日 2012.06.20 13/169,260 2011.06.27 US G06F 1/00(2006.01) G06F 1/26(2006.01) G06F 9/06(2006.01) (71)申请人 英特尔公司 地址 美国加利福尼亚州 (72)发明人 JS波恩斯 B加内桑 RJ芬格 DV博达斯 SR伊恩加 F尼尔森 JM小鲍威尔 S苏古玛 (74)专利代理机构 上海专利商标事务所有限公 司 31100 代理人 。
2、毛力 (54) 发明名称 在处理器中增加超频模式操作的功耗效率 (57) 摘要 在第一实施例中, 处理器具有多个核心以执 行线程。 所述处理器进一步包括功率控制逻辑, 用 于基于阈值和计数器的值之间的比较而允许进入 超频模式, 所述计数器存储核心功率和性能组合 的计数, 该核心功率和性能组合指示了诸个线程 中至少一个线程的超频模式请求。 这样, 可在处理 器的一定使用度级别上进入超频模式, 提供了高 功率效率。描述并要求保护其他实施例。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2013.12.27 (86)PCT国际申请的申请数据 PCT/US2012/043407 2012。
3、.06.20 (87)PCT国际申请的公布数据 WO2013/003159 EN 2013.01.03 (51)Int.Cl. 权利要求书 2 页 说明书 9 页 附图 7 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书9页 附图7页 (10)申请公布号 CN 103649864 A CN 103649864 A 1/2 页 2 1. 一种设备, 包括 : 处理器, 包括 : 多个核心、 功率控制单元 (PCU) , 所述 PCU 包括存储多个性能状态指示符 的第一存储器以及存储多个核心功率状态指示符的第二存储器, 每个性能状态指示符指示 对应的线程是否。
4、已请求第一性能状态, 每个核心功率状态指示符指示对应的线程是否已请 求第一核心功率状态, 其中所述 PCU 基于第一存储器和第二存储器中的信息来控制对超频 模式的进入。 2. 如权利要求 1 所述的设备, 其特征在于, 所述 PCU 包括多个超频模式计数器, 每个超 频模式计数器与所述处理器上正在执行的线程相关联。 3. 如权利要求 2 所述的设备, 其特征在于, 如果用于第一线程的所述性能状态指示符 和所述核心功率状态指示符均是第一状态, 则所述 PCU 更新用于第一线程的超频模式计数 器以指示超频模式请求。 4. 如权利要求 3 所述的设备, 其特征在于, 如果所述性能状态指示符和所述核心。
5、功率 状态指示符均是第一状态, 所述 PCU 根据第一权重以第一方向来更新超频模式计数器, 否 则所述 PCU 根据第二权重以第二方向来更新超频模式计数器, 所述第二权重大于所述第一 权重。 5. 如权利要求 4 所述的设备, 其特征在于, 所述第一权重和所述第二权重是用户可控 的。 6. 如权利要求 1 所述的设备, 其特征在于, 所述 PCU 防止进入超频模式, 除非所述处理 器的使用率至少等于第一阈值。 7. 如权利要求 2 所述的设备, 其特征在于, 如果超频模式计数器中的至少一个超频模 式计数器的值大于触发阈值, 则所述 PCU 使所述处理器的至少一部分进入超频模式。 8. 如权利要。
6、求 7 所述的设备, 其特征在于, 如果超频模式计数器中的至少一个超频模 式计数器的值小于触发阈值但大于禁用阈值, 则所述 PCU 使所述处理器的至少一部分保持 在超频模式中。 9.如权利要求7所述的设备, 其特征在于, 所述PCU将所述处理器的至少一部分进入超 频模式延迟达一延迟时间段。 10. 一种方法, 包括 : 响应于对应线程的超频模式请求, 根据第一加权对处理器上正在执行的多个线程的每 一个线程的超频模式计数器进行更新, 响应于对应线程的非超频模式请求, 根据第二加权 对处理器上正在执行的多个线程的每一个线程的超频模式计数器进行更新, 所述第二加权 大于所述第一加权 ; 判定诸个超频。
7、模式计数器中的至少一个超频模式计数器的值是否超过超频模式触发 器阈值 ; 以及 如果是, 将处理器的至少一部分进入超频模式。 11. 如权利要求 10 所述的方法, 其特征在于, 还包括 : 判定诸个超频模式计数器中的至 少一个超频模式计数器的值是否小于超频模式禁用阈值, 如果是, 将所述处理器的至少一 部分退出超频模式。 12. 如权利要求 10 所述的方法, 其特征在于, 还包括 : 更新性能状态存储器, 以指示多 个线程中的第一线程已经请求超频模式。 权 利 要 求 书 CN 103649864 A 2 2/2 页 3 13. 如权利要求 12 所述的方法, 其特征在于, 还包括 : 更。
8、新核心功率状态存储器, 以指 示所述第一线程已经请求最大核心功率状态。 14. 如权利要求 13 所述的方法, 其特征在于, 还包括 : 基于所述性能状态存储器和所述 核心功率状态存储器中的值, 更新所述第一线程的超频模式计数器。 15. 如权利要求 10 所述的方法, 其特征在于, 所述第一加权和所述第二加权防止进入 超频模式, 除非所述处理器的使用率大于第一阈值。 16. 如权利要求 10 所述的方法, 其特征在于, 还包括 : 在至少一个超频模式计数器值大 于所述超频模式触发阈值之后, 延迟超频模式的进入达第一时间段。 17. 如权利要求 16 所述的方法, 其特征在于, 还包括 : 在。
9、第一时间段的结束时, 判定所 述至少一个超频模式计数器值是否超过所述超频模式触发阈值, 如果是, 则进入超频模式, 否则不进入超频模式。 18. 一种系统, 包括 : 处理器, 包括多个域, 每个域具有至少一个核心, 所述多个域中的每个域操作在独立的 频率上, 所述处理器进一步包括功率控制逻辑, 用于基于计数器的值与第一阈值的比较而 使第一域进入超频模式, 所述计数器存储核心功率和性能组合的计数 ; 以及 动态随机存取存储器 (DRAM) , 耦合至所述处理器。 19. 如权利要求 18 所述的系统, 其特征在于, 所述功率控制逻辑响应于第一域的超频 模式请求, 根据第一加权对所述计数器进行更。
10、新, 响应于第一域的非超频模式请求, 根据第 二加权对所述计数器进行更新, 所述第二加权大于所述第一加权。 20. 如权利要求 19 所述的系统, 其特征在于, 所述功率控制逻辑响应于超频模式请求 以第一方向更新所述计数器, 并响应于非超频模式请求, 以第二方向更新所述计数器。 21. 如权利要求 19 所述的系统, 其特征在于, 所述第一加权和所述第二加权设置了所 述处理器的阈值使用率, 低于所述阈值使用率则所述功率控制逻辑防止进入超频模式。 22. 如权利要求 19 所述的系统, 其特征在于, 在所述计数器值超过所述第一阈值之后, 所述功率控制逻辑延迟超频模式的进入达第一时间段。 权 利 。
11、要 求 书 CN 103649864 A 3 1/9 页 4 在处理器中增加超频模式操作的功耗效率 背景技术 0001 许多当前的操作系统 (OS) 使用高级配置和电源管理接口 (ACPI) 标准 (诸如 : 2006 年 10 月 10 日发布的修改版 3.0b) 来优化系统功率。ACPI 实现方式允许处理器核心处于不 同的功耗状态, 通常被称为 C1 到 Cn 状态。当核心活动时, 它运行在所谓的 C0 状态, 并且当 核心空闲时, 可以将它置于核心低功率状态, 即所谓的核心非零 C 状态 (诸如, C1-C6 状态) 。 0002 除了节能状态之外, ACPI 中也提供性能状态, 即所谓。
12、的 P 状态。这些性能状态可 允许对处于活动 (CO) 状态中的核心的性能功率级别进行控制。通常, 可提供多个 P 状态, 即, P0-Pn, 其中, P0 对应于核心的最大频率, 且每个 P 状态 (P1-Pn) 使核心工作在较低的性 能级别。 0003 许多处理器提供对增强性能的硬件支持。很多情况下, 这些支持包括所谓的超频 (turbo) 模式, 在该模式中, 提供了额外的上升空间 (诸如, 电流消耗、 功率消耗、 温度) , 处理 器可工作在更高的频率以最大化性能。 0004 诸如微软WINDOWSTMOS之类的操作系统提供三种操作模式 : 节能、 均衡、 高性能。 在 节能模式下, 。
13、关闭超频模式 ; 在高性能模式下, 一直启用超频模式。 然而, 期望均衡模式能进 行智能判断以确定何时进入超频模式以获取性能, 并且何时强调节能。在这样的均衡模式 中, 在低使用度下, 不启用超频模式, 因为功耗极高, 尤其在使用发生时如此。然而, 在更高 的使用度下 (诸如, 大于约80) , 启用超频模式。 这是因为, 如果不提供更高的频率, 就存在 无法获得期望性能的风险。 0005 SPECpower_ssj2008 性能标准测试是确定系统功率效率的工业标准度量。在从 0 到 100使用度的不同负载级别下进行性能和功率测量。OS 提供商可选择在默认均衡模 式下完全禁用超频模式 (如果其。
14、在 SPECpower_ssj2008 性能标准的较低使用度点下是启用 的) , 因为当前 OS 的要求指示了在均衡模式下不进入超频模式直至达到 80的使用率。但 是, 随着在处理器上执行的线程数目的不断增长, 可以在使用率低至 50时进入超频模式。 由此, OS 提供商可在均衡操作模式下禁用超频模式, 结果是, 用户无法获得超频模式的可能 性能优势。 0006 智能超频是试图通过将超频模式的进入延迟一定编程延迟以解决上述问题的一 种技术。然而, 这丧失了单线程和吞吐模式的性能优势。同时, 延迟窗口可能相对较长, 阻 碍了请求应用利用超频模式的增强性能的机会。 对于单线程应用禁用超频的频率损失。
15、可能 高达千兆赫 (GHz) 或更大。 附图简述 0007 图 1 是根据本发明一实施例的智能超频模式控制算法的图形表示。 0008 图 2 是根据本发明实施例的用于配置处理器进行超频模式操作的方法的流程图。 0009 图 3 是根据本发明的实施例的超频模式控制方法的流程图。 0010 图 4 是根据本发明的实施例的处理器的框图。 0011 图 5 是根据本发明的一个实施例的处理器核心的框图。 0012 图 6 是根据本发明的实施例的系统的框图。 说 明 书 CN 103649864 A 4 2/9 页 5 0013 图 7 是根据本发明的实施例的超频模式控制的仿真结果。 详细描述 0014 。
16、诸个实施例可监控多种信息以确定何时启用超频模式性能。如在此所用的, 活动 “超频模式” 指代其中至少一个处理器域 (诸如, 一个或多个核心) 操作在高于额定操作频率 的频率下的操作模式。例如, 假设处理器具有 2.0 千兆赫 (GHz) 的模压热设计功率 (TDP) 频 率。该频率对应于 P1 性能状态, 即, 最大额定操作频率。取而代之的是, 在 P0 状态中, 操作 频率可以更高 (取决于其他因素, 诸如 : 活动核心的数目、 工作负载类型、 热预算、 等等) 。因 此, P0 状态是机会状态 (opportunistic state) , 其中操作频率可超过 TDP 最大操作频率。 假设。
17、给定处理器具有多个上升区段, 诸如 10 个区段。因此, 取决于特定因素, 该处理器可以 工作在P0模式, 其中2GHz可以升至3GHz。 这些因素包括多少线程正在运行、 这些线程的工 作负载、 等等。 0015 特定地, 在一个实施例中, 在处理器的功率控制单元中进行的超频模式判定可基 于核心功率状态信息 (在此称为 C 状态) 和处理器性能状态信息 (在此称为 P 状态) , 以判定 处理器何时可最佳利用超频性能。通常, 线程通过由线程自身或另一线程请求 P0 状态、 C0 状态来请求超频模式。 0016 当处理器支持更大数目的线程时, 在更低使用度点的 P0 停留增加。这是由 OS 引 。
18、起的, OS 测量线程级别的使用度, 并将所有线程设置在最高请求性能 (最低数目的) 的 P 状 态。线程越多, 进入 P0 超频模式的可能性就越大。也就是说, 运行在线程上的 OS 可生成对 不同的线程的不同 P 状态的请求。功率管理单元随后基于这些多个请求, 判定对于给定域 的合适 P 状态。通常, 功率控制单元可分析 P 状态, 并基于最高请求状态而为该域选择 P 状 态。例如, 一旦单个线程请求 P0 状态, 则该域的所有线程都执行在 P0 状态。 0017 在许多 OS 中 (诸如, 微软 WINDOWSTMOS) , 虽然从一个或多个线程接收到对更低性 能状态的请求, 但如果意识到。
19、至少一个其他线程正在请求更高状态 (诸如, P0) , 则不会将这 些对更低性能状态的请求递送给功率控制单元。结果是, 功率控制单元不会拥有关于执行 线程所请求的实际性能状态的精确信息。由于 OS 的该特定性能请求的过滤, 对于功率控制 单元而言可能存在比实际 P0 请求更多的 P0 请求 (至少达百分比基数) 。因此, 对于更低的 使用度级别, 处理器可以处于比其原本要来得更高的性能状态, 这导致了 OS 要求的违例, 正如如上所描述的。诸个实施例寻求减少进入超频模式, 即便考虑到这样的 OS 对非 P0 请 求的过滤。 0018 与 P0 停留相比, 线程 C0 停留与使用度级别成相对线性。
20、关系。通常, 对于 SPECpower_ssj2008工作负载, 在100使用度时, 处理器在近似100的时间处于C0状态。 随着使用度降低, C0 停留以基本线性的方式也降低。 0019 诸个实施例因此利用与 C0 和 P0 停留均有关的信息来增强超频模式功率效率。更 为具体地, 如图 1 所示, 应用工作负载越高, 在 C0 状态所花费的时间越多。图 1 是根据本发 明的实施例的智能超频模式控制算法的图例。处理器使用度的更高级别也引发了 OS 将 P 状态设置到更高级别 (更低数目) 的状态。诸个实施例因此利用 C0P0 停留与使用度之间的 线性特性, 使得在 C0P0 停留与预定使用度百。
21、分比交叉时启用超频模式。如图 1 所示, 水平 线 25 和 30 对应于非超频模式相对于超频模式的不同权重。可以看到, 在非超频模式具有 更高权重时, 启用超频模式的阈值使用度级别越高。可以特别注意到, 在线 25 所示出的 8x 说 明 书 CN 103649864 A 5 3/9 页 6 权重下, 阈值使用度级别大约为 89, 而在线 30 所示出的 4x 权重下, 阈值使用度级别大约 为 79。 0020 在此所描述的实施例中, 可通过在每一个线程上维护的一组连续计数器来监控 C0P0停留。 这些计数器在此被称为超频模式计数器。 一实施例可使得给定超频模式计数器 在线程所请求的组合状态。
22、是 C0P0 时增加, 并在其他任何状态时减少。相对增加 / 减少可被 加权以调节使用度点 (诸如, 参考例如 SPECpower_ssj2008 的性能标准测试工作负荷) 至最 期望值。例如, 如果非 C0P0/C0P0 权重被设置为 8x, 则使用度点是 8/(8+1)=89%。结果是, 超频模式计数器增加前所经过的 C0P0 时间需要是非 C0P0 时间的 8 倍。或者等效地, 相对 于 C0P0 状态的增加, 计数器对非 C0P0 状态具有更大权重的减少。这样, 可以实现在启用超 频模式的使用度点上的改进控制。 0021 也通过提供连续计数器, 可在更深度C状态 (诸如, 更深度的睡眠。
23、状态) 的短时间猝 发期间增强超频模式性能。连续计数器也对更深度的 C 状态请求进行加权, 因为处理器通 常在那样的 C 状态中停留的更久些。在一个实施例中, 在功率控制单元所执行的每个功率 控制代码循环期间, 可更新 (诸如, 增加 / 减少) 每个计数器。在该实施例中, 可基于每个线 程来维持计数, 并将计数组合在一起进入域 (诸如, 电压域) 级别判定。处理器可包括多个电 压和频率程度或域。电压域可以是处理器的所有核心、 核心子集、 或单个核心, 这取决于处 理器设计, 每个域可以被单独地控制以处于给定电压和频率组合。 0022 多个实施例工作在吞吐 (所有核心都活动) 和单线程模式。一。
24、旦单个线程请求超频 模式达一延迟阈值 (将在下文描述) , 就启用超频模式。以每个线程为基础执行该算法也允 许延迟阈值被显著减少, 使得处理器对超频请求做出更快的响应。 0023 现在参考图 2, 图 2 是根据本发明实施例的用于配置处理器进行超频模式操作的 方法的流程图。如图 2 所示, 方法 200 被用于配置诸如处理器的功率控制单元来分析从处 理器上执行的多个线程所输入的多种输入信息, 以判定进入超频操作模式的合适点。注意 到, 在不同实施例中, 进入超频模式的这个点可以发生在处理器的相对较高的使用度级别, 诸如在80或更高的使用度级别, 即便处理器上正在执行大量的线程 (诸如, 12个。
25、或更多) 。 0024 如图 2 所示, 方法 200 可由设置超频模式和非超频模式之间的权重开始 (框 210) 。 也就是说, 上述的诸个实施例可对来自线程的非超频模式请求给予更多的权重, 以使得处 理器仅仅在从线程已经接收到相对大量的超频模式请求时才进入超频模式。 在一个实施例 中, 可以设置该加权以使得非超频模式请求的权重被设置为超频模式请求的值的八倍, 当 然, 本发明的范围不限于此。 这样, 仅仅在处理器达到相对高的使用率 (诸如, 在该示例中是 89) 时, 才进入超频模式。 这样, 该加权可以设置阈值使用度级别, 低于该阈值使用度级别 将不启用超频模式。 0025 设置该加权的。
26、各种方式可在不同实施例中实现。在一些实施例中, 该加权可以经 由处理器核外部分的功率控制单元中存在的固件而被硬编码。在其他实施例中, 可由多种 主体来设置该加权, 包括 : 通过提供在系统起动时由系统软件 (诸如基本输入 / 输出系统 (BIOS) ) 所设置的配置寄存器、 或由操作系统 (OS) 所控制的配置寄存器。在还有一个实施 例中, 该加权可通过提供用户可访问的配置寄存器被示出给用户以允许给定的加权。 因此, 在多个实施例中, 进入超频模式的阈值使用度级别的选择可以是静态的 (诸如, 在制造时固 定) 、 由诸如 BIOS 或 OS 之类的系统软件所控制、 或由用户经由用户可访问的配置。
27、寄存器来 说 明 书 CN 103649864 A 6 4/9 页 7 更为动态地配置。 0026 除了设置权重, 多个阈值也可以被设置 (框 220) 。在多个实施例中, 这些多个阈值 可提供迟滞水平, 由此, 在进入超频模式之前达到更高阈值, 而在超频模式中只要达到一至 少更小的阈值, 超频模式就可以保持活动。 因此, 这些阈值可被用于对应用中可能发生的超 频模式扰动进行过滤。 在一个实施例中, 这些阈值可被硬编码在处理器中, 并对应于多个计 数器级别, 当然本发明的范围不限于此。最后, 在设置这些加权和阈值之后, 可初始化多个 超频模式计数器 (框 230) 。更为具体的是, 功率控制单。
28、元可包括停留计数器, 用于跟踪 C0P0 请求 (例如, 以每个线程为基础) 。虽然在图 2 的实施例中示出具有该特定实现, 但应理解本 发明的范围不限于此方面。 0027 现在参照图3, 图3示出了根据本发明一个实施例的超频控制方法的流程图。 如图 3 所示, 方法 300 可被实现在处理器的功率控制单元 (诸如, 存在于处理器核外部分) 中。通 常, 方法 300 可被用于仅在处理器使用度大于预定级别时智能地进入超频模式。此外, 本方 法可提供对超频模式请求的过滤, 并且提供对滞后的测量, 使得一旦处于超频模式中, 处理 器就不会立即移出超频模式并且再重新进入超频模式, 进入并离开超频模式。
29、会产生更大的 功率消耗。 0028 通常, 在功率控制单元所执行的每个功率控制循环中执行方法 300。也注意到, 本 方法可以在多域处理器中被单独地针对多个域来执行。因此, 在具有多个电压域的处理器 中, 每个电压域 (诸如, 由给定调压器所供电) 可操作在电压和频率的均衡模式下。 0029 如所见, 方法 300 开始于确定线程是否请求 C0P0 组合 (菱形 310) 。如在此所使用 的, 该 C0P0 组合可对应于线程正在请求最高性能状态 (P0) 和最高核心功率状态 (C0) 的超 频模式请求。在一实施例中, 该判定可以基于对功率控制单元中存在的多种控制信息的分 析。例如, 可提供一组。
30、停留寄存器, 第一停留寄存器指示 C0 请求, 另一停留寄存器指示 P0 请求。 在这一实施例中, 这些停留寄存器可具有多个比特, 每个比特与执行在处理器上的一 给定线程相关联。因此, 当线程请求 C0P0 组合时, P0 停留寄存器和 C0 停留寄存器的对应 比特就被设置。 虽然在本实施方式中这些寄存器提供每个线程的信息, 但可以认识到, 其他 实施方式也是可能的。例如, C0 和 P0 停留寄存器可被提供用于每个域或甚至基于核心来 提供。 0030 如果在菱形框310判定线程请求C0P0状态, 控制就转到框315, 其中可增加用于该 线程的超频模式计数器。相反, 如果在菱形框 310 判定。
31、线程没有请求该 C0P0 状态, 则控制 转到框 320。在那里, 可减少用于该线程的超频模式计数器达一加权量。也就是说, 如上所 讨论的, 为了确保仅仅在高使用率下进入超频模式, 相比于超频模式请求, 那些非超频模式 请求将被给予更高的权重。 如以上示例中所述的, 该减少相比于增加可以是八倍的减少量。 这样, 在非超频模式请求时, 线程的超频模式计数器将被减少八 (8) , 而在超频模式请求时, 这个计数器将仅仅增加一 (1) (在本示例中如此) , 由此, 不同的加权被给予 C0P0 和非 C0P0 请求。 改变权重会调节目标使用度平衡点(break point)。 减少值越大, 则在进入。
32、超频之前 的使用度越高。接下来, 控制进入菱形框 330, 其中判定是否需要分析更多的线程。如果这 样, 控制返回到菱形框310。 否则, 对于该功率控制循环, 已经适当地更新了所有的线程和超 频模式计数器, 则控制转到菱形框 350。 0031 仍然参考图 3, 在菱形框 350, 判定是否有任何线程的超频模式计数器值大于超频 说 明 书 CN 103649864 A 7 5/9 页 8 触发阈值。 该超频触发阈值可对应于一计数器值, 高于此计数器值就应该进入超频模式。 因 此, 功率控制单元可分析所有线程的超频模式计数器, 以判定是否其中的至少一个计数器 具有大于该阈值的值。在一个实施例中。
33、, 实施方法 300 的功率控制单元可执行 OR(或) 函 数以判定是否任何超频模式计数器大于该触发阈值。如果是, 则控制转到框 355, 其中如果 处理器域先前不在超频模式中, 则激活超频模式。 如果处理器域已经在超频模式中, 则保持 超频模式。 0032 在图 3 中, 虽然为了简化示例原因没有示出, 但在一些实施例中, 可以实现一延迟 机制以在超过超频模式触发阈值之后, 将超频模式的进入延迟达一预定时间量。该延迟时 间段可在菱形框 350 的肯定判定之后发生。当该定时器超时之际, 可再次判定是否给定的 超频模式计数器仍然大于触发阈值。如果是, 则在框 355 进入超频模式, 否则则不进入。
34、。虽 然本发明的范围不限于此, 但该延迟定时器可以是大约 0.1 到 10 秒之间的量级。 0033 如果在菱形框 350 判定没有线程具有大于超频触发阈值的超频模式计数器值, 则 控制转到菱形框 360, 其中判定超频模式是否之前是活动的。如果不是, 则控制转到框 375, 其中对处理器域维持非超频模式。如果超频模式是生效的, 则控制转到菱形框 365, 其中判 定该处理器域的线程的最大超频模式计数器值是否小于超频禁用阈值。 该超频禁用阈值级 别可以是比超频模式触发阈值的级别要低, 以提供滞后测量, 由此在超频模式中, 短时间的 下降低于触发模式阈值不会引发超频模式退出。以此方式, 可适应程。
35、序的猝发形式, 以即 便在发生小型猝发低于超频模式触发阈值时也维持超频模式。因此, 只要该处理器域的诸 个线程的至少一个超频模式计数器值大于该禁用阈值, 就维持该处理器域的超频模式 (框 380) 。 否则, 如果该处理器域的诸个线程的所有超频模式计数器值都小于该禁用阈值, 则控 制转到框370, 其中对该给定处理器域禁用超频模式。 虽然在图3的实施例中示出具有该特 定实现, 但应理解本发明的范围不限于此方面。 0034 如表 1 所示出的, 根据本发明的实施例的单线程超频模式控制结果示出了具有变 化的非 C0P0 权重的 SPECpower 使用度点。这些非零超频模式请求的权重越高, 使用度。
36、点目 标就越高。这些结果清楚地显示了超频停留随着权重的增加而增加。更为具体地, 表 1 的 首行示出了从 60至 100的性能基准测试工作负载使用率。进一步的, 第一列示出了在 非超频模式和超频模式之间的不同加权, 第二列示出了结果目标或阈值使用率。余下的列 示出了处理器操作在超频模式中的时间的百分比。 表 1 说 明 书 CN 103649864 A 8 6/9 页 9 0035 如表 2 所示, 根据本发明的实施例的插座级 (socket-level) 超频模式控制结果相 比于单线程结果而言具有更低的SPECpower_ssj2008使用点, 因为P0超频请求的概率随着 活动线程的数目的增。
37、加而增加。 有两个参数可提高超频模式进入使用点。 第一, 越大的权重 会提高目标使用点。第二, 延迟阈值滤除了超频停留的短小干扰, 加强了对使用点的控制。 表 2 0036 现在参考图 4, 示出了根据本发明的实施例的处理器的框图。如图 4 所示, 处理器 400 可以是多核心处理器, 包括多个核心 410a-410n。在一个实施例中, 每个这样的核心都 被配置为工作在多个电压和 / 或频率, 并且按照指示进入超频模式。多个核心可经由互连 415 被耦合到系统代理或核外部分 420, 核外部分 420 包括多个组件。如所示出的, 核外部 分 420 可包括共享高速缓存 430, 该共享高速缓存。
38、 430 可以是最后一级高速缓存。此外, 核 外部分可包括集成存储器控制器 440、 各种接口 450 以及功率控制单元 455。 0037 在多个实施例中, 功率控制单元 455 可与 OS 功率管理代码进行通信。例如, 基于 从 OS 所接收到的请求, 功率控制单元 455 可更新合适的状态信息 (诸如, 分别存储在 P 状态 和 C 状态停留寄存器 4560-456n和 4570-457n中的 P 状态和 C 状态) , 并维持用于多个执行线 程的超频模式计数器 4580-458x。 0038 如进一步示出的, 功率控制单元包括超频模式逻辑 459。在多个实施例中, 逻辑 说 明 书 C。
39、N 103649864 A 9 7/9 页 10 459可执行如图3所执行的超频模式分析, 并进行一些配置操作以配置C0P0和非C0P0状态 之间的加权、 配置超频模式阈值、 等等。 0039 因此, 超频模式逻辑 459 可接收用于超频模式的进入请求, 并更新合适的计数器 和寄存器。随后, 在功率控制单元 455 的功率控制循环的执行期间, 超频模式逻辑 459 可分 析给定线程的超频模式计数器, 以判定是否进入、 退出或维持超频模式, 这取决于计数器的 值以及对应的阈值。响应于这些分析, 功率控制单元 455 可生成多个控制信号, 以使得一个 或多个域的诸个核心操作在超频模式或非超频模式中。
40、。以此方式, 超频模式逻辑 459 可仅 仅当处理器的使用率至少在相对高的阈值水平 (诸如, 80或更高) 时, 才启用超频模式的 进入和维持。此外, 在一些实施例中, 超频模式逻辑 459 可进一步延迟超频模式的进入直至 一给定的超频模式计数器超过触发阈值, 由此防止线程执行的短小猝发引起仅仅短时间的 超频模式进入。虽然在图 4 的实施例中示出具有该细节水平, 但应理解本发明的范围不限 于此方面。 0040 进一步参考图 4, 处理器 400 可 (诸如经由存储器总线) 与系统存储器 460 进行通 信。此外, 通过接口 450, 可连接到多种芯片外组件, 诸如, 外围设备、 大容量存储器、。
41、 等等。 尽管在图 4 的实施例中以该特定实现示出, 但本发明的范围在这方面不受限制。 0041 现在参照图 5, 图 5 示出了根据本发明一个实施例的处理器核的框图。如图 5 所 示, 处理核 500 可以是多级流水线类型的无序处理器。如图 5 所示, 核心 500 可操作在不同 的电压和频率 (均可以进入和离开超频模式) 。 0042 如图 5 所示, 核心 500 包括前端单元 510, 前端单元 510 可用于获取将被执行的 指令并将这些指令准备好以供以后在处理器中使用。例如, 前端单元 510 可包括获取单元 501、 指令高速缓存 503 和指令解码器 505。在某些实现中, 前端。
42、单元 510 可进一步包括跟 踪高速缓存、 微码存储以及微操作存储。获取单元 501 可 (例如, 从存储器或指令高速缓存 503) 获取宏指令并将它们馈送至指令解码器 505 以将它们解码为原语, 即用于通过处理器 执行的微操作。 0043 乱序 (OOO) 引擎 515 耦合在前端单元 510 与执行单元 520 之间, 乱序引擎 515 可用 于接收微指令并将它们准备好以供执行。更具体地, OOO 引擎 515 可包括多个缓冲器, 多个 缓冲器用于重排序微指令流并分配执行所需的多个资源, 以及提供对多个寄存器文件 (例 如, 寄存器文件 530 和扩展寄存器文件 535) 中的存储位置上。
43、的逻辑寄存器的重命名。寄存 器文件 530 可包括用于整数和浮点操作的单独的寄存器文件。扩展寄存器文件 535 可提供 向量尺寸单元的存储, 例如, 每寄存器 256 或 512 位。 0044 在执行单元 520 中可存在多种资源, 包括例如多种整数、 浮点和单指令多数据 (SIMD) 逻辑单元等其它专门硬件。 例如, 除了这些执行单元以外, 此类执行单元可包括一个 或多个算术逻辑单元 (ALU) 522。 0045 来自执行单元的结果可被提供至隐退逻辑, 即重排序缓冲器 (ROB) 540。 更具体地, ROB540可包括多种阵列和逻辑以接收与被执行的指令相关联的信息。 然后, 通过ROB。
44、540检 查该信息以确定指令是否可以有效隐退并且结果数据是否被提交至处理器的架构状态, 或 阻止指令的正常隐退的一个或多个异常是否发生。当然, ROB540 可处理与隐退相关联的其 他操作。 0046 如图 5 所示, ROB540 耦合至高速缓存 550, 在一个实施例中, 高速缓存 550 可以是 说 明 书 CN 103649864 A 10 8/9 页 11 低级高速缓存 (例如, L1 高速缓存) , 尽管本发明的范围不限于此。而且, 执行单元 520 可直 接耦合至高速缓存 550。例如, 从高速缓存 550, 可发生与更高级高速缓存、 系统存储器等等 的数据通信。虽然在图 5 的。
45、实施例中用高级框图示出, 但应理解本发明的范围不限于此方 面。例如, 虽然图 5 的实现方式涉及了诸如所谓的 x86 指令集架构 (ISA) 之类的乱序机, 但 本发明的范围在此方面不受限制。即, 其他实施例可在以下处理器中实现 : 顺序处理器 ; 诸 如基于 ARM 的处理器之类的精简指令集计算 (RISC) 处理器 ; 或具有另一类型 ISA 的处理 器, 该另一类型的ISA可经由仿真引擎和相关联的逻辑电路来仿真不同ISA的指令和操作。 0047 实施例可在许多不同的系统类型中实现。 现在参照图6, 其中示出了根据本发明的 实施例的系统的框图。如图 6 所示, 多处理器系统 600 是点对。
46、点互连系统, 且包括经由点对 点互连 650 耦合的第一处理器 670 和第二处理器 680。如图 6 所示, 处理器 670 和 680 中的 每一个可以是包括第一和第二处理器核心 (即处理器核心 674a 和 674b 以及处理器核 684a 和 684b) 的多核心处理器, 尽管这些处理器中可能存在更多核心。诸个处理器的一个或多 个域中的每一个域可被控制为仅仅在处理器的相对高使用度级别时进入超频模式, 如在此 所描述的。 0048 仍参照图 6, 第一处理器 670 还包括存储器控制器中枢 (MCH) 672 和点对点 (P-P) 接口 676 和 678。类似地, 第二处理器 680 。
47、包括 MCH682 与 P-P 接口 686 和 688。如图 6 所 示, MCH672 和 682 将处理器耦合到相应的存储器, 即存储器 632 和存储器 634, 这些存储器 可以是本地附连到相应处理器的系统存储器 (诸如, DRAM) 的诸个部分。第一处理器 670 和 第二处理器 680 可分别经由 P-P 互连 652 和 654 耦合至芯片组 690。如图 6 中所示, 芯片组 690 包括 P-P 接口 694 和 698。 0049 此外, 芯片组 690 包括通过 P-P 互连 639 将芯片组 690 与高性能图形引擎 638 耦 合的接口 692。接下来, 芯片组 6。
48、90 又经由接口 696 耦合至第一总线 616。如图 6 所示, 多 个输入 / 输出 (I/O) 设备 614 以及总线桥 618 可耦合至第一总线 616, 该总线桥 618 将第一 总线 616 耦合至第二总线 620。多个设备可耦合至第二总线 620, 包括例如键盘 / 鼠标 622、 通信设备 626 以及数据存储单元 628 (诸如盘驱动器或其它大容量存储设备, 在一个实施例 中其可包括代码 630) 。此外, 音频 I/O624 可耦合至第二总线 620。诸个实施例可被结合在 其他类型的系统中, 包括 : 诸如智能蜂窝电话的移动设备、 平板计算机、 上网本、 等等。 0050 。
49、现在参考图 7, 示出了根据本发明的实施例的超频模式控制的仿真结果。图 7 示 出了表示性的每线程 C0P0 停留计数器 (即在此所描述的超频模式计数器) 对 SPECpower_ ssj2008 工作负载的反应。X 轴示出了应用从开始到完成的时间。Y 轴示出了 C0P0 停留计 数器值 (诸如, 对于表示性线程) , 以及参照于计数器值的多个阈值。特别在图 7 的 Y 轴上示 出了禁用阈值 705, 在此, 如果在超频模式中计数器值低于该阈值, 则禁用超频模式。然而, 当计数器值高于该阈值时, 超频模式仅仅在其已经被开始时才被激活。 也就是说, 使得计数 器值大于禁用阈值不会启用超频模式的进入。相反, 当计数器值超过触发阈值 710 时, 才触 发超频模式的进入, 可以看到触发阈值 710 处于比禁用阈值更高的水平。计数器值随着应 用执行指令的增加而增大, 并随着执行停止而快速减小。所示出的是用于非 C0P0/C0P0 加 权等于8x时, 如上所讨论的。 工作负载是80使用度, 这不应该触发超频模式, 因为其低于 89目标。然而。