当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于指定应用线程性能状态的指令的指令处理装置及相关方法制造方法及图纸

技术编号:15746411 阅读:47 留言:0更新日期:2017-07-03 01:40
描述了一种包括处理器的装置。该处理器具有执行指定应用线程的性能状态的指令的处理核。该指令属于应用线程。该处理器包括存储性能状态的寄存器。该处理器包括耦合到寄存器以根据该性能状态设置处理核的性能状态的功率管理控制逻辑。

Instruction processing apparatus and related method for specifying instruction of application thread performance state

A device including a processor is described. The processor has a processing kernel that executes instructions that specify the performance state of the application thread. The instruction belongs to the application thread. The processor includes a register storing the performance status. The processor includes a power management control logic coupled to the register to set the performance state of the processing kernel according to the performance state.

【技术实现步骤摘要】
用于指定应用线程性能状态的指令的指令处理装置及相关方法本申请是国际申请日为2011/12/22,国际申请号为PCT/US2011/067025,进入中国国家阶段的申请号为201180075795.7,题为“用于指定应用线程性能状态的指令的指令处理装置及相关方法”的专利技术专利申请的分案申请。
本申请通常涉及计算科学,且尤其涉及指定应用线程性能状态的指令。
技术介绍
随着多年来处理器性能的增加,它们的功率消耗也已经增加。无论是“绿色能源”意识、尝试最小化电池消耗还是简单地尝试最小化计算系统的用户的物业账单,计算系统的用户日益聚焦于他们的内部处理器的功率管理能力。因而,大多数现代处理器具有内建的功率管理电路。内建的功率管理电路通常被设计为在硬件中动态地进行细粒度的功率管理调整,以及/或者,从软件支持粗粒度的功率管理调整/指导。通常,可以通过三种主要技术中的任意技术来控制电子电路的功率消耗:1)频率缩放;2)时钟门控;以及3)电压缩放。这些技术中的每一种都考虑电子电路的功率消耗的基本原理。大体上,电子电路操作得越快,其性能和功率消耗将越大。下面提供对这些技术中的每一种的回顾。频率缩放调整逻辑电路的模块的工作频率。在这里,在以增加其功率消耗为代价对逻辑块期望较高性能时,提高逻辑块的工作频率。同样地,在以较低性能为代价期望较低功率消耗时,降低逻辑块的工作频率。频繁缩放的不同逻辑块的大小和功能可以取决于设计师期望的粒度而改变。时钟门控可以被看作是频率缩放的极端形式。在时钟门控的情况中,取消去往逻辑块的时钟信号以便将该模块的性能和功率消耗两者减少到零。在要使用该逻辑块时,时钟信号再度出现,使得该逻辑块复活。时钟门控因此具有启用/禁用逻辑块的效果。除了降低/提高电源电压以便降低/减少逻辑块的性能和功率消耗之外,电压缩放类似于频率缩放。值得注意的是,电子电路接收到的电源电压越高,可以施加到逻辑块的最大时钟频率就越高。处理器核迄今为止已经被设计为带有这样的硬件控制逻辑电路:响应于所检测到的处理器芯片的使用,可以快速地和动态地调整对处理器芯片的小的、中等的和/或大的逻辑块的频率缩放、时钟门控和/或电压缩放设置。例如,取决于指令队列中是否存在任何浮点指令,可以经由时钟门控禁用/启用流水线中的浮点执行单元。在这里,因为硬件控制可以快速地调整小尺寸或中等尺寸的逻辑块的功率管理设置,应理解,硬件功率管理控制能够进行“细粒度”控制。话虽如此,应理解,频率和电压缩放具有与它们各自的状态转换相关联的不期望的等待时间。即是说,即使硬件频率和/或电压缩放控制逻辑可以快速地做出需要改变频率和/或电压的决定,但实现改变本身要花费时间,这是因为,通常在没有数据恶化的风险的前提下不能对操作逻辑快速地改变电子逻辑电路的工作频率和/或供电电压。当在启用/禁用状态之间切换时,中等尺寸到大尺寸的逻辑块的时钟门控也倾向于具有相似的不期望的等待时间。举例来说,如果禁用了整个处理器核,通常不能在“下一个”时钟周期复活。在这一方面,值得注意的是,硬件功率管理控制是反应性的,这是因为它只能对它所观察到的处理器使用反应。在所观察的处理器使用显著改变时,至少部分由于在上面讨论的功率管理状态变化之间的等待时间,硬件控制的反应性本质引起性能冲击或工作量失衡。举例来说,如果大的多核处理器处于低功率状态,且已经由于低利用率禁用了多个核,并且突然给处理器呈现大量的线程以供执行,则新近呈现的线程中的许多必须不期望地“等待”在核心可以执行之前启用核心。然而,一些运行时编译器(例如,OpenMP和MPI)和操作系统(OS)调度程序可以向硬件提供即将到来的处理器使用的提示。借助于这样的提示,硬件可以为即将到来的使用改变提前做好准备,且在这样做时,通过在实际上呈现使用改变之前开始改变性能状态,理想地避免了性能冲击或工作量失衡。相对于软件功率管理控制,应理解,软件功率管理控制主要是(如果不是全部是的话)“粗粒度的”。即是说,软件功率管理控制通常影响中等尺寸到大尺寸的逻辑块,并且,此外,不能快速改变软件控制的功率管理设置(相反,它们持续扩展的时间周期)。因而,在处理器硬件提供软件可写控制字段或其他“钩子(hooks)”以便辅助软件功率管理的意义上,这样的字段/钩子不直接地实现任何细粒度控制。另外,许多现有软件功率管理控制机制依赖于或有效地仅仅监督功率管理的特定硬件实现,例如特定处理器的P状态。因而,真正的软件功率管理技术跨越不同硬件实现的可移植性较差。这种观点的最广为人知的可能的例外是PAUSE指令,PAUSE指令是引起执行将被置于睡眠状态的指令的线程的指令。附图说明作为示例而非限制在附图的各图中阐释本专利技术,附图中,类似的标号指示相似的元素,且附图中:图1示出处理器;图2a和图2b涉及所述处理器的逻辑块性能状态;图3示出利用每个线程的TCMHINT指令来控制所述应用的功率消耗的多线程应用的结构流;图4示出利用每线程TCMHINT指令来控制所述第二应用的功率消耗的第二多线程应用的结构流;图5示出指令执行流水线的实施例;具体实施方式在此描述的是专用指令TCMHINT,可以由应用软件开发者施加该指令以便通过软件以细粒度方式控制他们的应用的功率管理。具体地,在此描述的所述指令和被设计为支持它的处理器架构准许应用软件开发者用多个性能状态中的一个来标记他们的应用的每一线程。由底层处理器使用每个线程性能状态标签来适当地将处理器的性能/功率消耗特性设置为与应用软件开发者期望一致。同时,该指令不依赖于功率管理技术或硬件中的处理器架构的任何特定实现,这使得这一指令使用可移植到其他架构,并允许用于任何将来的可能处理器和系统架构的最佳指令实现。此外,可以作为在对程序流结构/行为的即将到来的改变之前的提示而嵌入TCMHINT指令,以便在改变之前“设置”处理器的性能/功率消耗特性。因而,可以避免由处理器从第一性能/功率状态转换到另一性能/功率状态所需要的时间引起的性能或工作量失衡。(由于处理器消耗的功率与其性能能力相关,在下文中,术语“性能状态”将用来指代影响处理器的性能能力或功率消耗的任何功率管理设置。)在这里,应用软件开发者容易理解他们的应用程序的流或“结构”、他们的应用程序的性能和功率消耗含义、以及整个应用或应用的不同部分应该落在高性能与低功率消耗设计点的关系的哪一侧。根据一种实施例,可以根据三种不同性能状态中的一种标记各线程:1)高性能(高功率消耗)——例如,其中一个或多个所标记的线程正要求最高可能性能的状态,例如在应用的串行部分(例如为IO事务提供服务):硬件实现可以允许向单个线程提供最高可能性能,从而减少线程执行的“等待时间”;2)中等性能(中等功率消耗)——例如,其中通过多个线程的并发执行实现最好总体性能的状态,且因而可以减少每一线程的性能(相对于高性能状态),同时基于由多个线程提供的较高的计算吞吐量改善总体应用性能;3)低性能(低功率消耗)——例如,其中可以由硬件优化线程执行以便即使付出进一步减少线程所提供的性能的代价也改善总体功率消耗的状态。为了进一步说明,软件开发者通常知道他/她的线程化应用的特性,且可以说出应当借助于串行算法还是高度可并行算法来实现该应用的特定部分。一些算法本质上是串行本文档来自技高网...
用于指定应用线程性能状态的指令的指令处理装置及相关方法

【技术保护点】
一种处理器,包括:多个精简指令集(RISC)多线程核,所述多线程核中的至少一个多线程核同时执行多个线程;所述多线程核中的至少一个多线程核包括:指令获取电路,用于获取所述多个线程的指令;一级(L1)高速缓存,用于在执行之前存储所述指令;解码器,用于解码所述指令;执行资源,用于执行所述线程的所述指令;分配电路,用于基于对所述第一线程与所述第二线程的性能要求将相对较大百分比的所述执行资源分配给第一线程而非分配给第二线程;功率管理电路,用于至少部分地响应于在所述第一线程和/或第二线程中执行的功率模式指令,基于对所述第一线程和/或第二线程的所述性能要求选择所述多线程核的当前功率状态;其中,至少部分地通过执行频率/电压转换与时钟门控来实现所述功率状态;其中,至少一个功率状态与超频率相关联。

【技术特征摘要】
1.一种处理器,包括:多个精简指令集(RISC)多线程核,所述多线程核中的至少一个多线程核同时执行多个线程;所述多线程核中的至少一个多线程核包括:指令获取电路,用于获取所述多个线程的指令;一级(L1)高速缓存,用于在执行之前存储所述指令;解码器,用于解码所述指令;执行资源,用于执行所述线程的所述指令;分配电路,用于基于对所述第一线程与所述第二线程的性能要求将相对较大百分比的所述执行资源分配给第一线程而非分配给第二线程;功率管理电路,用于至少部分地响应于在所述第一线程和/或第二线程中执行的功率模式指令,基于对所述第一线程和/或第二线程的所述性能要求选择所述多线程核的当前功率状态;其中,至少部分地通过执行频率/电...

【专利技术属性】
技术研发人员:A·赛敏
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1