书签 分享 收藏 举报 版权申诉 / 17

用于按照核心的性能状态的方法和装置.pdf

  • 上传人:Y948****062
  • 文档编号:468557
  • 上传时间:2018-02-18
  • 格式:PDF
  • 页数:17
  • 大小:2.65MB
  • 摘要
    申请专利号:

    CN201280071304.6

    申请日:

    2012.03.13

    公开号:

    CN104204999A

    公开日:

    2014.12.10

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 1/26申请日:20120313|||公开

    IPC分类号:

    G06F1/26; G06F1/32; G06F15/80; G06F9/46

    主分类号:

    G06F1/26

    申请人:

    英特尔公司

    发明人:

    M·布汉达鲁; E·J·德哈默; S·W·何; S·P·波布霍尔兹; C·A·老普艾里耶

    地址:

    美国加利福尼亚州

    优先权:

    专利代理机构:

    上海专利商标事务所有限公司 31100

    代理人:

    张东梅

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了用于处理器中的按照核心的性能状态的方法和装置。按照核心的性能状态(PCPS)是指各个核心在不同的电压和/频率点下的并行工作。在本发明的一种实施例中,处理器具有多个处理核心和功率控制模块,该功率控制模块与所述多个处理核心中的每一个相耦合。功率控制模块促进每一处理核心在与其他处理核心不同的性能状态下工作。通过允许其核心具有按照核心的性能状态配置,处理器可以减少其功耗并提高其性能。

    权利要求书

    1.  一种处理器,包括:
    多个核心;以及
    功率控制模块,其与所述多个核心中的每一个耦合,其中,所述功率控制模块促进每一核心在与其他核心不同的性能状态下工作。

    2.
      如权利要求1所述的处理器,其特征在于,每一核心包括用于以下的逻辑:
    从一个或多个线程中的每一个接收性能状态请求;
    从所述一个或多个线程中的每一个解析所述性能状态请求,以便确定经解析的性能状态请求;以及
    向所述功率控制模块指出经解析的性能状态请求。

    3.
      如权利要求1所述的处理器,其特征在于,促进每一核心在与其他核心不同的性能状态下工作的所述功率控制模块:
    促进每一核心在与其他核心不同的电压等级和频率设置下工作。

    4.
      如权利要求2所述的处理器,其特征在于,所述功率控制模块还:
    确定来自每一核心的经解析的性能状态请求;
    把多播消息发送给具有共同的经解析的性能状态的所有核心,以便切换到所述共同的经解析的性能状态;以及
    把单播消息发送给具有不同于所述共同的经解析的性能状态的经解析的性能状态每一核心,以便切换到不同的经解析的性能状态。

    5.
      如权利要求2所述的处理器,其特征在于,每一核心包括寄存器,且其中,向所述功率控制模块指出经解析的性能状态请求的每一核心中的所述逻辑把所述寄存器的一个或多个比特设置为向所述功率控制模块指出经解析的性能状态请求。

    6.
      如权利要求1所述的处理器,其特征在于,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的、每一核心中的所述逻辑:
    确定所述一个或多个线程的第一最大性能状态;
    从来自所述一个或多个线程中的每一个的所述性能状态请求确定第二最大性能状态;
    确定所述第二最大性能状态是否高于所述第一最大性能状态;以及
    响应于确定所述第二最大性能状态不同于所述第一最大性能状态,基于所述第二最大性能状态确定经解析的性能状态请求。

    7.
      如权利要求1所述的处理器,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括睡眠状态请求,且其中,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的、每一核心中的所述逻辑:
    在所述睡眠状态请求的持续时间少于把所述核心切换到所述睡眠状态的持续时间时,抑制来自所述一个或多个线程中的每一个的所述睡眠状态请求。

    8.
      如权利要求1所述的处理器,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括短暂睡眠状态请求,且其中从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的、每一核心中的所述逻辑:
    为具有所述短暂睡眠状态请求的每一线程保留表决权。

    9.
      如权利要求1所述的处理器,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括唤醒请求,且其中,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的、每一核心中的所述逻辑:
    确定具有所述唤醒请求的每一线程的先前性能状态,其中,所述先前性能状态是每一线程在进入睡眠状态之前的性能状态;以及
    基于所述具有所述唤醒请求的每一线程的先前性能状态,确定经解析的性能状态请求。

    10.
      如权利要求4所述的所述处理器,其特征在于,所述功率控制模块还:
    确定来自每一核心的所有经解析的性能状态请求都是睡眠状态请求;以及
    指出所述处理器处于睡眠状态。

    11.
      一种系统,包括:
    存储器;
    处理器,其与所述存储器耦合,所述处理器包括:
    多个核心;以及
    功率控制模块,其与所述多个核心中的每一个耦合,其中,所述功率控
    制模块促进每一核心在独立的性能状态下工作。

    12.
      如权利要求11所述的系统,其特征在于,每一核心包括进行以下的逻辑:
    从一个或多个线程中的每一个接收性能状态请求;
    从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求;以及
    向所述功率控制模块指出经解析的性能状态请求。

    13.
      如权利要求11所述的系统,其特征在于,促进每一核心在所述独立的性能状态下工作的所述功率控制模块:
    促进每一核心在独立的电压等级和独立的频率设置下工作,以使得不违反所述系统的热约束和电约束。

    14.
      如权利要求12所述的系统,其特征在于,所述功率控制模块还:
    确定来自每一核心的经解析的性能状态请求;
    把多播消息发送给具有共同的经解析的性能状态的所有核心,以便切换到所述共同的经解析的性能状态;以及
    把单播消息发送给具有不同于所述共同的经解析的性能状态的经解析的性能状态的每一核心,以便切换到不同的经解析的性能状态。

    15.
      如权利要求12所述的系统,其特征在于,每一核心包括寄存器,且其中,向所述功率控制模块指出经解析的性能状态请求的、每一核心中的所述逻辑把所述寄存器的一个或多个比特设置为向所述功率控制模块指出经解析的性能状态请求。

    16.
      如权利要求11所述的系统,其特征在于,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的每一核心中的所述逻辑:
    确定所述一个或多个线程的第一最大性能状态;
    从来自所述一个或多个线程中的每一个的所述性能状态请求确定第二最大性能状态;
    确定所述第二最大性能状态是否不同于所述第一最大性能状态;以及
    响应于确定所述第二最大性能状态不同于所述第一最大性能状态,基于所述第二最大性能状态确定经解析的性能状态请求。

    17.
      如权利要求11所述的系统,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括睡眠状态请求,且其中,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的每一核心中的所述逻辑:
    在所述睡眠状态请求的持续时间少于把所述核心切换到所述睡眠状态的持续时间时,抑制来自所述一个或多个线程中的每一个的所述睡眠状态请求。

    18.
      如权利要求11所述的系统,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括短暂睡眠状态请求,且其中,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的、每一核心中的所述逻辑:
    为具有所述短暂睡眠状态请求的每一线程保留表决权。

    19.
      如权利要求11所述的系统,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括唤醒请求,且其中,从所述一个或多个线程中的每一个解析所述性能状态请求以确定经解析的性能状态请求的每一核心中的所述逻辑:
    确定具有所述唤醒请求的每一线程的先前性能状态,其中,所述先前性能状态是每一线程在进入睡眠状态之前的性能状态;以及
    基于所述具有所述唤醒请求的每一线程的先前性能状态,确定经解析的性能状态请求。

    20.
      如权利要求14所述的系统,其特征在于,所述功率控制模块还:
    确定来自每一核心的所有经解析的性能状态请求都是睡眠状态请求;以及
    指出所述处理器处于睡眠状态。

    21.
      一种方法,包括:
    接收一个或多个线程中的每一个的性能状态请求;
    解析来自所述一个或多个线程中的每一个的所述性能状态请求,以确定经解析的性能状态请求;以及
    向性能控制模块指出经解析的性能状态请求。

    22.
      如权利要求21所述的方法,其特征在于,向所述性能控制模块指出经解析的性能状态请求包括把寄存器的一个或多个比特设置为向所述性能控制模块指出经解析的性能状态请求。

    23.
      如权利要求21所述的方法,其特征在于,解析来自所述一个或多个线程中的每一个的所述性能状态请求以确定经解析的性能状态请求包括:
    确定所述一个或多个线程的第一最大性能状态;
    从来自所述一个或多个线程中的每一个的所述性能状态请求确定第二最大性能状态;
    确定所述第二最大性能状态是否高于所述第一最大性能状态;以及
    响应于确定所述第二最大性能状态不同于所述第一最大性能状态,基于所述第二最大性能状态,确定经解析的性能状态请求。

    24.
      如权利要求21所述的方法,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括睡眠状态请求,且其中,解析来自所述一个或多个线程中的每一个的所述性能状态请求以确定经解析的性能状态请求包括:
    在所述睡眠状态请求的持续时间少于把所述核心切换到所述睡眠状态的持续时间时,抑制来自所述一个或多个线程中的每一个的所述睡眠状态请求。

    25.
      如权利要求21所述的方法,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括短暂睡眠状态请求,且其中,解析来自所述一个或多个线程中的每一个的所述性能状态请求以确定经解析的性能状态请求包括:
    为具有所述短暂睡眠状态请求的每一线程保留表决权。

    26.
      如权利要求21所述的方法,其特征在于,来自一个或多个线程中的每一个的所述性能状态请求包括唤醒请求,且其中,解析来自所述一个或多个线程中的每一个的所述性能状态请求以确定经解析的性能状态请求包括:
    确定具有所述唤醒请求的每一线程的先前性能状态,其中,所述先前性能状态是每一线程在进入睡眠性能状态之前的性能状态;以及
    基于所述具有所述唤醒请求的每一线程的先前性能状态,确定经解析的性能状态请求。

    说明书

    用于按照核心的性能状态的方法和装置
    发明领域
    本公开内容涉及集成电路以及在其上执行的代码中的能效和节能,且尤其但不排他地涉及用于处理器中的按照核心的性能状态的方法和装置。
    背景描述
    半导体处理和逻辑设计方面的进步已经允许集成电路器件上可存在的逻辑量的增加。结果,计算机系统配置已经从系统中的单个或多个集成电路发展成各集成电路上的多硬件线程、多核、多设备和/或完整的系统。此外,由于集成电路的密度增长了,(从嵌入式系统到服务器的)计算系统的功率需求也逐步上升了。
    例如,在多核心套件中,所有核心可以在共同的电压和频率点下工作,该频率点是由它的活动线程所请求的最大频率。在各核心都不同等地负载或使用时,多核心套件中的所有核心的公共性能状态引起耗费比必要更多的功率,这进而增加了冷却成本并降低了电池寿命。
    此外,软件低效及其对硬件的要求也已经引起计算设备能量消耗的增加。事实上,一些研究表明,计算设备消耗了国家(例如美国)的整个电力供应中的显著百分比。结果,存在对与集成电路相关联的能量效率和节能相关联的至关重要的需要。当服务器、台式计算机、笔记本、上网本、超极本、平板电脑、移动电话、处理器、嵌入式系统等变得甚至更为盛行(从包括在典型计算机、汽车和电视机中到包括在生物技术中),这些需要将增加。
    附图简述
    从本主题的以下详细描述明显看出本发明的特征和优点,其中:
    图1阐释根据本发明的一种实施例的处理器中每一核心的性能状态;
    图2阐释根据本发明的一种实施例的中央功率控制单元;
    图3阐释根据本发明的一种实施例的处理器的状态转变;
    图4阐释根据本发明的一种实施例的寄存器的字段;以及
    图5阐释根据本发明的一种实施例实现在此公开的方法的系统。
    详细描述
    作为示例而非限制在附图中示出在此描述的本发明的各实施例。为说明的简单和清楚起见,在附图中示出的元素不一定按比例绘制。例如,为清楚起见,某些元素的尺寸可能相对于其它元素而放大。进一步,在认为适当时,在附图中重复附图标记以指出相应或相似要素。在本说明书中对本发明的“一个实施例”或“一种实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因而,在本说明书各处出现的短语“在一个实施例中”并不一定均指代同一实施例。
    出于阐释的清晰起见,本说明书中对线程的引用意味着硬件线程或逻辑处理器或逻辑核心。出于阐释的清晰起见,与具体的性能状态(P状态)相关联的数字的递减顺序表示性能状态的递增顺序。在本说明书中,出于阐释的清晰起见,较高的性能状态暗示在较高的电压/频率下工作的核心,且因而可以提供较高的性能。在ACPI文献中,这将转换到具有较低数字的P状态。传统上,最高的性能状态被指出为P0,且P1是较低的性能状态。历史上,P1对应于低于P0的1个频率点,P2是低于P0的两个频率点,等等。仅在我们提及ACPI P状态记号法时,我们才具有这些与直观不一致的表示。
    本发明的各实施例提供用于处理器中的按照核心的性能状态的方法和装置。出于阐释的清晰起见,按照核心的性能状态(PCPS)是指个体核心在不同的电压和频率点下的并行工作,即,每一核心的工作点可以独立于其他核心而配置(在总体系统功率约束和热约束内)。在本发明的一种实施例中,由于启用被集成在处理器中的全集成电压调节器(FIVR)的技术,PCPS是可行的。FIVR允许独立配置每一核心,且配置包括但不限于电压设置、频率设置、时钟设置和影响每一核心的功耗的其他参数。
    在本发明的一种实施例中,处理器具有多个处理核心以及与所述多个处理核心中的每一个耦合的功率控制模块。功率控制模块促进每一处理核心在独立于其他处理核心的性能状态的性能状态下工作,其中不违反封装或系统的总体热约束和电约束。
    图1 100阐释根据本发明的一种实施例的处理器105中的每一核心的性能状态。图1 100阐释核心的四种状态1 150、2 152、3 154和4 156。该性能状态阐释 每一核心的配置,该配置包括但不限于电压、频率和影响核心的性能或功耗的其他参数。在本发明的一种实施例中,核心的性能状态1150、2152、3154和4156阐释核心的四种不同的配置。
    在本发明的一种实施例中,处理器105可以在不同的性能状态下操作其核心,例如,如图1中所阐释的十八个核心。例如,处理器105被阐释为在性能状态1150下执行核心1110、5118、11130、13134和18144,在性能状态2152下执行核心2112、7122、14136、15138和16140,在性能状态3154下执行核心3114、4116、9126、10128和17142,以及执行核心6120、8124和12132。
    在本发明的一种实施例中,通过允许其各核心具有按照核心的性能状态配置,处理器105可以减少其功耗。例如,性能状态4156被假设为具有比性能状态1150、性能状态2152和性能状态3154更高的功耗。通过使得5个核心分别在性能状态1150、性能状态2152和性能状态3154中的每一种下执行,且使得3个核心在性能状态4156下执行,相比于在性能状态4156下执行其所有核心,处理器105节省了功耗。
    图1100不意味着是限制性的,且在本发明的另一实施例中处理器105可以具有任何数量的核心。在本发明的另一实施例中,处理器105可以用多于或少于四种性能状态配置其核心。在本发明的一种实施例中,这样的性能状态的数量取决于核心的数量和最大处理器额定功率两者。
    图2200阐释根据本发明的一种实施例的中央功率控制单元230。出于本发明的清晰起见,参考图1100讨论图2200。中央功率控制单元230与处理器中的核心i 210和核心n 220耦合起来。在本发明的一种实施例中,核心n 220阐释中央功率控制单元230可以与任何数量的核心耦合起来。
    在本发明的一种实施例中,核心i 210正在执行多个线程。每一线程向核心i210发送性能状态请求,且核心i 210具有解析来自多个线程的所有性能状态请求的逻辑。在本发明的一种实施例中,每一线程请求被存储在寄存器中。例如,寄存器thread_reg i1 212存储对线程i1的线程请求。核心i 210可以支持任何数量的线程,如存储对线程in的线程请求的寄存器thread_reg in 214所阐释的。在本发明的一种实施例中,来自所有线程(也称为硬件线程或逻辑核心)的请求的硬件合并与物理核心相关联。
    在本发明的一种实施例中,核心i 210接收来自所有线程的所有性能状态请求,并确定经解析的性能状态请求。在本发明的一种实施例中,经解析的性能状态请求 被存储在寄存器core_reg i 218中。在本发明的一种实施例中,通过合并每一核心中的线程请求,它有助于可扩展性且减少处理性能状态请求所要求的固件或软件循环。
    在本发明的一种实施例中,核心i 210向中央功率控制单元230发送核心请求232,以便指出它具有新的经解析的性能状态请求。核心i 210的工作类似于核心n220的工作,且在此不再描述。在本发明的一种实施例中,核心n 220类似地向中央功率控制单元230发送核心请求234,以便指出它具有经解析的性能状态请求。
    中央功率控制单元230分别从核心i 210和核心n 220接收核心性能状态请求232和234。例如,在本发明的一种实施例中,core_reg i 218中的一个或多个比特被用来存储经解析的性能状态请求,且中央功率控制单元230读取core_reg i 218的相关比特,以便确定核心i 210的经解析的性能状态请求。
    在确定对核心i 210和核心n 220的经解析的性能状态请求之后,中央功率控制单元230分别向核心i 210和核心n 220发送新的核心性能状态(P状态)240和242。中央功率控制单元230负责确保核心性能状态请求是合法的,满足最小和最大性能状态限制,且判断是否可以批准请求,即,不违反功率、电、热和其他约束。基于这些考虑,可以调整核心请求,且可以把新的请求传输给各核心。核心i 210和核心n 220分别接收新的核心性能状态240和242,并基于所指派的新的核心性能状态改变或配置其(多个)工作参数。(多个)工作参数包括但不限于频率和电压,且又包括核心的性能状态。
    图2中的阐释不意味着是限制性的。在本发明的另一实施例中,核心可以使用其他装置来向中央功率控制单元230指出它具有经解析的性能状态请求。例如,在本发明的另一实施例中,每一核心可以使用通信协议来把经解析的性能状态请求发送给中央功率控制单元230(在本发明的一种实施例中)。相关领域中的普通技术人员将容易地明白如何使用指出经解析的性能状态请求的其他手段,且在此不再描述。
    图3 300阐释根据本发明的一种实施例的处理器的状态转变。为了阐释的清晰和方便起见,处理器被假设为具有一个处理核心,且该处理核心正在执行硬件线程或逻辑核心1 310和2 320。这不意味着是限制性的,且在本发明的另一实施例中处理器可以具有任何数量的核心,且每一核心可以执行任何数量的线程。
    图3阐释在本发明的一种实施例中的三种场景302、304和306。在场景1 302中,线程1 310和线程2 320被假设为分别处于唤醒状态312和322。在本发明的 一种实施例中,唤醒状态或活动状态是指其中线程活动的状态。例如,在本发明的一种实施例中,处理器支持与高级配置和功率接口规范(ACPI标准,“Advanced Configuration and Power Interface Specification(高级的配置和功率接口规范)”,修订版5.0,2011年12月16日公布)兼容的性能状态。在本发明的一种实施例中,在处理器与ACPI标准兼容时,唤醒状态包括C0处理器性能状态。
    表360阐释用于解析来自线程1 310和线程2 320的性能状态请求的示例性算法。在本发明的一种实施例中,处理器中的逻辑确定核心的当前最大性能状态。例如,在本发明的一种实施例中,处理器中的逻辑通过确定线程1 310和线程2 320的最大性能状态来确定核心的当前最大性能状态。
    处理器中的逻辑通过确定线程1 310和线程2 320的性能状态请求中的最大者来确定核心的新的最大性能状态。在本发明的一种实施例中,如果核心的新的最大性能状态不等于核心的当前性能状态,则逻辑发送新的性能状态请求330以便把核心的性能状态改变成新的最大性能状态。
    在处理器接收到睡眠请求340时,在本发明的一种实施例中,场景2 304阐释核心的可能状态改变。表362阐释用于从解析来自线程1 310和线程2 320的性能状态请求的示例性算法。出于阐释的清晰起见,在场景2 304中,线程2 320被假设为向核心发送睡眠请求340。
    在本发明的一种实施例中,处理器中的逻辑检查睡眠请求340并基于睡眠请求的类型解析该请求。为了避免无价值的性能状态转变,在睡眠状态请求的持续时间小于把核心切换到睡眠状态的持续时间时,该逻辑抑制来自一个或多个线程中的每一个的睡眠状态请求。
    例如,在本发明的一种实施例中,在睡眠请求340是改变成C1E处理器非活动状态的短暂睡眠状态请求时,该逻辑不发起核心P状态改变。这是因为把核心改变成C1E对应的最大效率性能状态的时间比C1E处理器非活动状态的持续时间更长。在本发明的一种实施例中,重新定义请求短暂睡眠状态的线程的线程表决权,以使得它将不失去其表决。在本发明的一种实施例中,这允许请求短暂睡眠状态的线程避免或防止该核心切换到低的性能状态,且不存在退出时延惩罚。
    例如,在睡眠请求340是改变到C3或C6睡眠状态的睡眠状态请求时,处理器中的逻辑把线程2 320保持在唤醒状态322。这是因为线程1 310仍然处于唤醒状态312。
    在处理器接收睡眠请求344时,在本发明的一种实施例中,场景3 306阐释核 心的可能的状态改变。表364阐释用于解析来自线程1 310和线程2 320的性能状态请求的示例性算法。出于阐释的清晰起见,线程1 310被假设为向该核心发送睡眠请求344。
    在场景3 306中,在本发明的一种实施例中,由于线程1 310和线程2 320两者正在请求睡眠状态,处理器中的逻辑把该核心切换到睡眠状态。线程1 310和线程2 320分别切换到睡眠状态314和324。在每种睡眠状态中,采用了不同的功率减少技术。例如,在本发明的一种实施例中,在线程1 310和线程2 320处于C1E睡眠状态时,通过时钟门控核心来减少核心的功率。在本发明的另一实施例中,在线程1 310和线程2 320处于C3状态时,通过把主电压降低到保留电压来减少核心的功率。在本发明的另一实施例中,在线程1 310和线程2 320处于诸如C6状态等的深度睡眠状态时,核心保存其体系结构状态且关闭核心的电源。在本发明的另一实施例中,在线程1 310和线程2 320两者正在请求不同的睡眠状态时,在本发明的一种实施例中,处理器中的逻辑把核心切换到具有较高的性能的较低的睡眠状态。
    在本发明的一种实施例中,在线程1 310和线程2 320去往睡眠状态314和324之前,处理器的逻辑保持线程1 310和线程2 320的性能状态。这允许当核心从它们的睡眠状态恢复或唤醒时核心返回到它们的先前的睡眠性能状态。在本发明的一种实施例中,这防止了从睡眠到最小P状态和从最小P状态到操作系统所请求的P状态的背靠背转变。
    在本发明的一种实施例中,在线程1 310和线程2 320两者处于睡眠状态314和324时,该逻辑生成指出核心处于空闲的模式的信号。在本发明的一种实施例中,该信号允许处理器中的所有线程处于某种睡眠状态的硬件检测,且可以立即开始激进的封装级功率节省。
    唤醒请求346阐释从场景3 306转变回到场景2 304,且唤醒请求342阐释从场景2 304转变回到场景1 302。相关的领域中的普通技术人员将容易地明白如何执行逆向转变,且在此不再讨论。
    图4 400阐释根据本发明的一种实施例的寄存器的字段。出于阐释的清晰起见,参考图2和图3讨论图4。寄存器阐释core_reg i 218的一种实施例。在本发明的一种实施例中,寄存器具有32比特,且具有包括但不限于以下的字段:性能状态请求(P_state_req)、最小性能状态(Min_p_state)、能量效率策略(energy_efficiency_policy)、表决请求(vote_request)和超频模式禁用比特 (core_turbo_disable)。
    在本发明的一种实施例中,性能状态请求字段(比特范围6:0)被用来存储对具体核心的经解析的P状态请求。在本发明的一种实施例中,经解析的P状态请求是跨越与具有表决权的具体核心相关联的线程而请求的P状态最大者。
    在本发明的一种实施例中,最小性能状态字段(比特范围14:8)被用来存储对与各线程相关联的核心的操作系统(OS)最小P状态请求。在本发明的一种实施例中,OS最小P状态请求是对也具有表决权的、与具体核心相关联的线程请求的最小OS P状态的最大者。
    为了阐释,在带有两个线程1 310和线程2 320的核心中,假定OS想要(最好使得)线程1 310在P状态P1下执行,但它仅需要(即是说,服务质量的最小p状态)线程1 310在P状态P2下执行,并且假定OS想要线程2 320在P状态P0下执行,但它仅需要线程2 320在P状态P3下执行,则核心中的逻辑解析两个线程1 310和线程2 320的P状态要求。在这种阐释中,逻辑比较OS对于线程1 310和线程2 320所想要的P状态请求,并确定OS所想要的最大P状态是P状态P0(使用ACPI术语,P状态P0具有比P状态P1更高的性能状态)。类似地,逻辑比较OS对于线程1 310和线程2 320所需要的P状态请求,并确定OS所需要的最大P状态是P状态P2(P状态P2具有比P状态P3更高的性能状态)。在本发明的一种实施例中,该逻辑把P状态P0存储在性能状态请求字段中,并把P状态P2存储在最小性能状态字段。
    在本发明的一种实施例中,能量效率策略字段(比特范围19:16)被用来存储用于具体核心的能量效率策略。能量效率策略是跨越具有表决权的、与具体的核心相关联的线程的最小值(最大性能)。在本发明的一种实施例中,值0意味着性能偏置,并且它支持跨越具有表决权的、与具体核心相关联的线程所请求的最大性能。
    在本发明的一种实施例中,表决请求字段(比特范围30)被用来存储表决请求。表决请求是来自与具体核心相关联的线程的vote_request的逻辑或。在本发明的一种实施例中,对于活动的线程,表决请求被设置为逻辑1。
    在本发明的一种实施例中,超频模式禁用比特字段(比特范围31)被用来设置超频模式。如果该核心的超频模式被全局禁用,或者被与该核心相关联的任何线程禁用,则核心的超频模式被禁用。例如,在本发明的一种实施例中,如果对于核心存在两个线程,则从thread_0_turbo_disable、thread_1_turbo_disable和global_turbo_disable的逻辑或中获得超频模式禁用。
    图4中的寄存器的描述并不意味着是限制性的。可以以任何合适的尺寸和位置安排寄存器的字段,而不会影响本发明的工作。
    诸如LinuxTM、WindowsTM和Mac OS等的操作系统具有常常请求下列三种性能状态中的一个的倾向:最大保证频率(P1)、具有最大效率的频率(Pn)和超频模式(P0)。不经常请求在最大保证频率和最大效率频率之间的中间频率。为了支持这中常见的使用情况,定义了四种掩码:Turbo_core_mask、Max_efficiency_core_mask、Max_guaranteed_core_mask和Other_core_mask。
    对于具有所请求的最大保证频率的核心,在本发明的一种实施例中,使用了简单多播通信。多播通信也被用于请求最大效率频率的核心。
    对于请求诸如超频模式或任何其他P状态等的不同P状态的核心,在本发明的一种实施例中,使用了单播通信。掩码有助于可扩展性,且加速新的核心工作点的通信。
    图5阐释根据本发明的一种实施例实现在此公开的方法的系统或平台500。系统500包括但不限于台式计算机、平板计算机、膝上型计算机、上网本、笔记本计算机、个人数字助理(PDA)、服务器、工作站、蜂窝式电话、移动计算设备、智能电话、因特网家电或任何其他类型的计算设备。在另一实施例中,被用来实现在此公开的方法的系统500可以是片上系统式(SOC)系统。
    处理器510具有执行系统500的指令的处理核心512。处理核心512包括但不限于取出指令的取指逻辑、解码指令的解码逻辑、执行指令的执行逻辑等等。处理器510具有缓存系统500的指令和/或数据的高速缓存存储器516。在本发明的另一实施例中,高速缓存存储器516包括但不限于1级、2级和3级高速缓存存储器或在处理器510内的高速缓存存储器的任何其他配置。在本发明的一种实施例中,处理器510具有中央功率控制单元PCU 513。
    存储器控制中枢(MCH)514执行允许处理器510访问包括易失性存储器532和/或非易失性存储器534的存储器530并与之通信的功能。易失性存储器532包括但不限于同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备。非易失性存储器534包括但不限于NAND闪速存储器、相变存储器(PCM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或任何其他类型的非易失性存储器设备。
    存储器530存储由处理器510执行的信息和指令。在处理器510正在执行指 令的同时,存储器530也可以存储临时变量或其他中间信息。芯片组520经由点对点(PtP)接口517和522与处理器510连接。芯片组520允许处理器510连接到系统500中的其他模块。在本发明的另一实施例中,芯片组520是平台控制器中枢(PCH)。在本发明的一种实施例中,接口517和522根据诸如快通互连(QPI)等的PtP通信协议进行工作。芯片组520连接到GPU或显示设备540,包括但不限于液晶显示器(LCD)、阴极射线管(CRT)显示器或任何其他形式的可视显示设备。在本发明的另一实施例中,GPU 540不连接到芯片组520,且是处理器510的一部分(未示出)。
    另外,芯片组520连接到一个或多个总线550和560,总线550和560互连各种模块574、580、582、584和586。如果总线速度或通信协议中存在不匹配,则总线550和560可以经由总线桥572相互连接到一起。芯片组520与非易失性存储器580、(多个)大容量存储设备582、键盘/鼠标584和网络接口586耦合,但不限于此。大容量存储设备582包括但不限于固态驱动器、硬盘驱动器、通用串行总线闪速存储器驱动器或任何其他形式的计算机数据存储介质。使用任何类型的公知的网络接口标准来实现网络接口586,这些网络接口标准包括但不限于以太网接口、通用串行总线(USB)接口、外围组件互连(PCI)快速接口、无线接口和/或任何其他合适类型的接口。无线接口根据IEEE 802.11标准及其相关系列、家庭插座AV(HPAV)、超宽带(UWB)、蓝牙、WiMax或任何其他形式的无线通信协议来工作,但不限于此。
    虽然图5中所示的模块被描绘为系统500内的不同块,但是这些块中的一些块所执行的功能可被集成在单个半导体电路内,或者可使用两个或更多个不同的集成电路来实现。在本发明的另一实施例中,系统500可包括一个以上的处理器/处理核心。
    在此公开的方法可用硬件、软件、固件或其任何其他组合来实现。尽管描述了所公开的主题的实施例的示例,但是相关领域的普通技术人员将容易理解,可替代地使用实现所公开的主题的许多其他方法。在之前的描述中,已描述了所公开的主题的各个方面。出于解释的目的,阐述了特定数量、材料和配置,以便提供对本主题的全面理解。然而,受益于本公开的相关领域技术人员可以明显看出,可以在没有特定细节的情况下实现本主题。在其他实例中,忽略、简化、组合或分割公知的特征、组件或模块,以免模糊所公开的本主题。
    在此所使用的术语“可操作”意味着设备、系统、协议等在设备或系统处于 掉电状态下能操作或适于操作其所需功能。所公开的本主题的各种实施例可以以硬件、固件、软件或其组合实现,且可以通过参考程序代码或者与程序代码结合而描述,程序代码例如指令、函数、过程、数据结构、逻辑、应用程序、设计表示或用于设计的仿真、模拟和制造的格式,在由机器访问时,这些代码引起机器执行任务、定义抽象数据类型或低级硬件上下文或产生结果。
    可以使用在诸如通用计算机或计算设备等的一个或多个计算设备上存储和执行的代码和数据来实现附图中所示出的技术。这样的计算设备使用机器可读介质来存储和通信(内部地以及在网络上与其他计算设备通信)代码和数据,机器可读介质例如机器可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪速存储器设备;相变存储器)和机器可读通信介质(例如,电、光、声或其他形式的传播信号——例如载波、红外信号、数字信号等等)。
    尽管已经参考所示实施例描述所公开的主题,但不预期以限制的含义解释本说明书。所公开的本主题所涉及到的相领域中的技术人员明显看出的说明性实施例的各种修改以及本主题的其他实施例被认为是是落在所公开的本主题的范围内。

    关 键  词:
    用于 按照 核心 性能 状态 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:用于按照核心的性能状态的方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-468557.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1