当前位置: 首页 > 专利查询>苹果公司专利>正文

处理器指令发布扼制制造技术

技术编号:8682200 阅读:196 留言:0更新日期:2013-05-09 02:20
本发明专利技术涉及处理器指令发布扼制。一种用于通过扼制所选择的有问题的指令的发布来降低功率消耗的系统和方法。处理器内的功率扼制单元维护针对相关联的指令类型的指令发布计数。指令类型可以是由处理器内的运行核心运行的所支持的指令类型的子集。指令类型可以是基于用于这些类型的指令处理的高功率消耗估计值来选定的。功率扼制单元可以确定给定指令发布计数超过给定阈值。作为响应,功率扼制单元可以选择给定指令类型来限制相应的发布比率。功率扼制单元可以为所选择的给定指令类型中的每种指令类型选定发布比率并使相关联的发布比率限制为选定发布比率。对给定指令类型和相关联的发布比率限制的选择是可编程的。

【技术实现步骤摘要】

本专利技术涉及计算系统,并且更具体地,涉及通过扼制对所选择的有问题的指令的发布来有效地降低功耗。
技术介绍
每一代半导体处理器核心上的器件和金属路线的几何尺寸越来越小。因此,在片上基板面的给定面积内提供越来越多功能。结果,诸如膝上型计算机、平板计算机、智能电话、视频相机之类的移动装置越来越流行。通常,这些移动装置从一个或多个电池单元接收电力。因为电池具有有限的容量,所以它们需要被定时地连接到外部充电器来充电。这些移动装置的一个关键问题是功率消耗。当功率消耗增大时,这些装置的电池寿命缩短并且再充电的频率增大。由于片上的集成电路的密度随着多个流水线、更大的缓存和更复杂的逻辑而增多,可以每时钟周期地切换的节点和总线的数目也显著增多。因此,功率消耗增加。另外,软件应用可能运行使得硬件达到高功率耗散值的特定计算机程序代码。这样的代码可能不是故意地或故意地(例如,功率病毒)这样做。功率耗散可能由于程序代码内多次发生给定指令类型而爬升。该功率耗散值可能达到或超过芯片的热设计功率(TDP)或甚至最大芯片功率耗散。除了以上所述以外,移动装置的冷却系统可能是针对给定热设计功率(TDP)或热设计点设计的。冷却系统在不超过半导体芯片的最高结温的情况下可以能够耗散TDP值。然而,给定指令类型的多次发生可能使得功率耗散超过半导体芯片的TDP。此外,存在电源的电流限制,该电流限制也可能被超过。如果功率模式不改变芯片的工作模式或关断芯片内的特定模块,则电池可能被很快放电。另外,物理损坏可能发生。尽管管理峰值功率耗散的一种方式可以是简单地限制指令发布以使得其不会超过特定阈值,但是,这可能导致整体性能的不可接受的降低。鉴于以上所述,期望通过扼制所选择的指令的发布来降低功率消耗的高效方法和机制。
技术实现思路
构想到用于通过扼制所选择的指令的发布来降低功率消耗的方法和机制。在一个实施例中,一种处理器包括功率扼制单元。该功率扼制单元可以在与调度器相同的流水线级内使用。该功率扼制单元维护一种或多种指令类型的一个或多个指令发布计数。所述指令类型可以是由处理器内的运行核心运行的所支持的指令类型的子集。指令类型可以是基于用于这些类型的指令处理的高功率消耗估计值来选定的。例如,浮点(FP)单指令多数据(SMD)指令类型可以具有宽数据通道以用于在多周期潜伏期期间处理矢量元素。在维护指令发布计数时的同时,功率扼制单元可以确定给定指令发布计数超过给定阈值。作为响应,功率扼制单元可以选择一种或多种指令类型来限制相应的发布比率。对一种或多种指令类型的选择可以基于功率状态估计。可替换地,该选择可以基于用户经由软件作出的改变。功率扼制单元可以为所选择的一种或多种候选指令类型中的每一种候选指令类型选定发布比率。对发布比率的该选定还可以基于特定控制寄存器的软件更新或功率状态估计。功率扼制单元可以使所选择的一种或多种候选指令类型中的每一种候选指令类型的相关联的发布比率限制为相应的选定发布比率。因此,发布比率限制可以改变或者是可编程的。参考以下描述和附图将进一步理解这些和其它实施例。附图说明图1是执行无序运行的处理器核心的一个实施例的一般框图。图2是用于半导体芯片的功率管理的一个实施例的一般框图。图3是图示出功率扼制单元的一个实施例的一般框图。图4是图示出用于控制特定指令类型的指令发布比率的方法的一个实施例的一般框图。图5是图不出扼制表的一个实施例的一般框图。图6是图示出限制指令发布比率的一个实施例的一般框图。图7是图示出限制指令发布比率的另一实施例的一般框图。图8是图示出限制指令发布比率的又一实施例的一般框图。图9是用于控制特定指令类型的指令发布比率的方法的一个实施例的一般框图。尽管本专利技术容易有各种修改和替代形式,但是其具体实施例将在附图中通过示例方式示出并且将在这里进行详细描述。然而,应当理解,附图以及对其的详细描述并不旨在将本专利技术限制于所公开的具体形式,而是相反,本专利技术要涵盖落在在本专利技术的由权利要求书限定的精神和范围以内的所有修改例、等同例和替换例。如贯穿本申请所使用的,词语“可以”以许可含义(即,意味着有可能)使用,而不是以强制含义(即,意味着必须)使用。类似地,词语“包括”意味着包括但不限于。各种单元、电路或其它组件可以描述为“被配置为”执行一个或多个任务。在这样的上下文中,“被配置为”是对结构的广义描述,一般是指“具有”在操作期间执行所述一个或多个任务的“电路”。因此,单元/电路/组件能够被配置为执行任务,即便该单元/电路/组件当前并没有在工作。总之,构成与“被配置为”的结构的电路可以包括硬件电路。同样地,在说明中为了方便起见,各种单元/电路/组件可以被描述为执行一个或多个任务。这样的说明应当被理解为包括短语“被配置为”。对被配置为执行一个或多个任务的单元/电路/组件的描述明确地不意图调用该单元/电路/组件援用美国专利法第112条第6款解释。具体实施例方式在以下描述中,阐述了大量具体细节以提供对本专利技术的透彻理解。然而本领域普通技术人员应当认识到,本专利技术可以在没有这些具体细节的情况下实施。在一些实例中,没有详细示出公知的电路、结构和技术以避免模糊本专利技术。参考图1,示出图示出执行无序运行的处理器核心100的一个实施例的一般框图。处理器100可以利用多级流水线来处理指令。指令缓存104可以存储用于软件应用的指令。可以从指令缓存104取回用由地址选择逻辑102递送的地址指示的一个或多个指令。如果不存在指令缓存失中的话,每个时钟周期可以从指令缓存104取回多个指令。下一取回预测器106可以递增地址。分支方向预测器108可以耦合到下一取回预测器106和后面流水级中的控制流评估逻辑110中的每一个。预测器106可以预测使指令流的流从运行下一后续指令改变的指令的信息。解码单元110可以对由多个取回的指令组成的操作码(opcode)进行解码。可替换地,所述指令可以被分割成多个微指令,或微操作码(micro-op)。这里使用的术语“指令”和“微操作码”可互换使用,因为本专利技术可以用于利用任一种实施方式的体系架构。解码单元110可以分配分派队列114中的条目。在一个实施例中,控制流评估模块112可以更改地址选择器102中的指令取回。例如,与非条件分支操作码相关联的绝对地址值可以被发送至地址选择器102。分派队列114中的指令具有相关联的操作数和由重命名器阵列118重新命名的目的地标识符。重命名器阵列118可以从自由列表分配器120接收候选名称。依赖性融合模块122可以为接收的指令生成依赖性矢量。在之前的流水线级中选择的经重新命名的标识符可以用来寻找和指示指令之间的依赖性。依赖性融合模块122可以向调度器124提供所述指令及相关联的经重新命名的标识符、程序计数器(PC)值、依赖性矢量等。调度器124可以对指令进行调度以供在运行核心130中运行。当操作数可用并且硬件资源也是可用的时,指令可以被从调度器124无序地发布给运行核心130内的功能单元中的一个功能单元。调度器124可以从体系架构的寄存器文件(未示出)或从操作数旁路逻辑读取其源操作数。源操作数可以被提供给运行核心130.运行核心130可以检测指令运行期间的各种事件,这些事件可以被报告给调度器124。两个示例包括错误预测的分本文档来自技高网
...

【技术保护点】
一种处理器,包括:调度器,所述调度器被配置为选择和发布指令;运行核心,所述运行核心被配置为接收和运行所发布的指令;以及功率扼制单元,其中,所述功率扼制单元被配置为:维护针对一种或多种指令类型的一个或多个指令发布计数,以及响应于确定所述一个或多个指令计数中的给定指令发布计数超过阈值:针对限制的指令发布比率来选择所述一种或多种指令类型中的至少一种指令类型,以及为所述至少一种指令类型选定新的发布比率。

【技术特征摘要】
2011.10.31 US 13/285,3611.一种处理器,包括: 调度器,所述调度器被配置为选择和发布指令; 运行核心,所述运行核心被配置为接收和运行所发布的指令;以及 功率扼制单元,其中,所述功率扼制单元被配置为: 维护针对一种或多种指令类型的一个或多个指令发布计数,以及 响应于确定所述一个或多个指令计数中的给定指令发布计数超过阈值: 针对限制的指令发布比率来选择所述一种或多种指令类型中的至少一种指令类型,以及 为所述至少一种指令类型选定新的发布比率。2.按权利要求1所述的处理器,其中,所述功率扼制单元还被配置为基于用软件写出的功率扼制代码来执行所述选择和所述选定。3.按权利要求1所述的处理器,其中,所述功率扼制单元还被配置为基于所述处理器的工作功率状态来执行所述选择和所述选定。4.按权利要求3所述的处理器,其中,所述功率扼制单元还被配置为基于所述处理器的工作功率状态来为所述一种或多种指令类型中的每种指令类型选择相应的阈值。5.按权利要求3所 述的处理器,其中,所述功率扼制单元还被配置为进一步基于哪个指令发布计数超过了相应的阈值来执行所述选择和所述选定。6.按权利要求3所述的处理器,其中,维护给定指令发布计数包括: 针对相关联的指令类型的指令被发布给所述运行核心的每个时钟周期使所述给定指令发布计数递增第一数量;以及 针对没有相关联的指令类型的指令被发布给所述运行核心的每个时钟周期使所述给定指令发布计数递减第二数量。7.按权利要求6所述的处理器,其中,所述功率扼制单元还被配置为响应于所述确定来改变所述第一数量和所述第二数量中的一者或多者。8.按权利要求6所述的处理器,其中,所述指令类型包括单指令多数据(SMD)指令。9.一种降低功率消耗的方法,包括: 维护针对一种或多种指令类型的一个或多个指令发布计数,以及 确定所述一个或多个指令发布计数中的给定指令发布计数超过给定阈值; 响应于所述确定: 选择一种或多种指令类型来限制相应的发布比率; 为所选择的一种或多种指令类型中的每种指令类型选定发布比率;以及使所选择的一种或多种指令类型中的每种指令类型的相关联的发布比率限制为相应的选定发布比率。10.按权利要求9所述的方法,还包括基于用软件写出的功率扼制代码来执行所述选择和所述选定。11.按权利要求9所述的方法,还包括基于处理器的工作功率状态来执行所述选择和所述选定。12.按权利要求11所述的方法,还包括基于所述处理器的工作功率状态来为所述一种或多种指令类型中的每种指令类型选择相应的阈值。13.按权利要求11所述的方法,还包括进一步基于哪个指令发布计数超过了相应的阈值来执行所述选择和所述选定。14.按权利要求9所述的方法,维护给定指令发布计数包括: 针对相关联的指令类型的指令被发布给所述运行核心的每个时钟周期,使所述给定指令发布计数递增第一数量;以及 针对没有相关联的指令类型的指令被发布给所述运行核心的每个时钟周期使所述给定指令发布计数递减第二数量。15.按权利要求14所述的方法,还包括响应于所述确定来改变所述第一数量和所述第二数量中的一者或多者。16.按权利要求14所述的方法,其中,所述指令类型包括单指令多数据(SMD)指令。17.一种功率扼制单兀,包括: 与调度器的第一接口,所述调度器被配置为选择和发布指令; 与运行核心的第二接口,所述运行核心被配置为接收和运行所发布的指令; 扼制控制逻辑器,其中,所述扼制...

【专利技术属性】
技术研发人员:丹尼尔·C·穆雷A·J·保蒙史密斯J·H·米里尔斯P·J·巴侬高柳俊成政郁曹
申请(专利权)人:苹果公司
类型:发明
国别省市:

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

1