用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法_5

文档序号:8435794阅读:来源:国知局
的一段时间时,增加处理器的频率。
[0130] 在一个其它方面,用于计算处理器的性能保证值的单元包括用于计算最后期限值 的单元。在一个其它方面,用于计算处理器的性能保证值的单元包括用于计算预算值的单 元。在一个其它方面,用于确定处理器的稳定状态工作负荷的单元可以包括用于确定被调 度为在处理器上执行的任务的要求的单元。在一个其它方面,计算设备可以包括用于通过 抽样所述繁忙和空闲状态之间的转换来生成脉冲序列的单元。
[0131] 在一个其它方面,计算设备可以包括用于经由单线程来完成确定处理器的稳定状 态工作负荷,确定在处理器上执行稳定状态工作负荷所需要的工作量,以及计算处理器的 性能保证值的操作的单元。在一个其它方面,计算设备可以包括用于在处理器上执行单线 程的单元。在一个其它方面,计算设备可以包括用于在计算设备的第二处理器上执行单线 程的单元。
[0132] 其它方面包括一种计算设备,其可以包括配置有处理器可执行指令以执行操作的 处理器,其可以包括第一处理器,其配置有处理器可执行指令以执行包括以下各项的操作: 确定第二处理器的稳定状态工作负荷,确定在第二处理器上执行确定的稳定状态工作负荷 所需要的工作量,计算第二处理器的性能保证值,将第二处理器从空闲状态转换到繁忙状 态,基于第二处理器的实际工作负荷来执行动态时钟和电压调节操作,以调节第二处理器 的频率,基于调节的频率来更新性能保证值,确定第二处理器是否已经在繁忙状态保持了 大于或等于确定的工作量和性能保证值之和的一段时间,以及当确定第二处理器已经在繁 忙状态保持了大于或等于确定的工作量和性能保证值之和的一段时间时,增加第二处理器 的频率。
[0133] 在一个方面,第一处理器可以配置有处理器可执行指令,以使得当确定第二处理 器已经在繁忙状态保持了大于或等于确定的工作量和性能保证值之和的一段时间时,增加 第二处理器的频率可以包括:将第二处理器频率增加到最大处理器频率。
[0134] 在一个其它方面,第一处理器可以配置有处理器可执行指令,以使得当确定第二 处理器已经在繁忙状态保持了大于或等于确定的工作量和性能保证值之和的一段时间时, 增加第二处理器的频率可以包括:逐渐地增加第二处理器的频率。
[0135] 在一个其它方面,第一处理器还可以配置有处理器可执行指令,以反复地执行以 下操作:基于调节的频率来更新性能保证值,确定第二处理器是否在繁忙状态保持了大于 或等于确定的工作量和性能保证值之和的一段时间,以及当确定第二处理器已经繁忙状态 保持了大于或等于确定的工作量和性能保证值之和的一段时间时,增加第二处理器的频 率。在一个其它方面,第一处理器可以配置有处理器可执行指令,以使得计算第二处理器的 性能保证值可以包括计算最后期限值。
[0136] 在一个其它方面,第一处理器可以配置有处理器可执行指令,以使得计算第二处 理器的性能保证值可以包括计算预算值。在一个其它方面,第一处理器可以配置有处理器 可执行指令配置,以使得确定第二处理器的稳定状态工作负荷包括确定被调度为在第二处 理器上执行的任务的要求。在一个其它方面,第一处理器可以配置有处理器可执行指令配 置,以执行还包括以下项的操作:通过抽样所述繁忙和空闲状态之间的转换来生成脉冲序 列。
[0137] 在一个其它方面,第一处理器可以配置有处理器可执行指令,以使得以下操作由 单线程来执行:确定第二处理器的稳定状态工作负荷,确定在第二处理器上执行稳定状态 工作负荷所需要的工作量,以及计算第二处理器的性能保证值。在一个其它方面,第一处理 器可以配置有处理器可执行指令,以使得单线程可以在第一处理器上执行。在一个其它方 面,第一处理器可以配置有处理器可执行指令配置,以使得完成以下各项的操作可以包括 在第二处理器上执行单线程:确定第二处理器的稳定状态工作负荷,确定在第二处理器上 执行稳定状态工作负荷所需要的工作量,以及计算第二处理器的性能保证值。
[0138] 其它方面包括一种非暂时性服务器可读存储介质,其上存储有处理器可执行软 件指令,所述可以配置有被配置为使得处理器执行操作,所述操作可以包括确定第二处理 器的稳定状态工作负荷,确定在第二处理器上执行确定的稳定状态工作负荷所需要的工作 量,计算第二处理器的性能保证值,将第二处理器从空闲状态转换到繁忙状态,基于第二处 理器的实际工作负荷来执行动态时钟和电压调节操作,以调节第二处理器的频率,基于调 节的频率来更新性能保证值,确定第二处理器是否已经在繁忙状态保持了大于或等于确定 的工作量和性能保证值之和的一段时间,以及当确定第二处理器已经在繁忙状态保持了大 于或等于确定的工作量和性能保证值之和的一段时间时,增加第二处理器的频率。
[0139] 在一个方面,存储的处理器可执行软件指令可以被配置为使得处理器执行操作, 以使得当确定第二处理器已经在繁忙状态保持了大于或等于确定的工作量和性能保证值 之和的一段时间时,增加第二处理器的频率可以包括:将第二处理器频率增加到最大处理 器频率。
[0140] 在一个其它方面,存储的处理器可执行软件指令可以被配置为使得第二处理器执 行操作,以使得当确定所述第二处理器已经在繁忙状态保持了大于或等于确定的工作量和 性能保证值之和的一段时间时,增加第二处理器的频率可以包括逐渐地增加第二处理器的 频率,以及反复地执行以下操作:基于调节的频率来更新性能保证值,确定第二处理器是否 已经在繁忙状态保持了大于或等于确定的工作量和性能保证值之和的一段时间,以及当确 定第二处理器已经在繁忙状态保持了大于或等于确定的工作量和性能保证值之和的一段 时间时,增加第二处理器的频率。
[0141] 在一个其它方面,存储的处理器可执行软件指令可以被配置为使得处理器执行操 作,以使得计算第二处理器的性能保证值可以包括计算最后期限值。在一个其它方面,存储 的处理器可执行软件指令可以被配置为使得处理器执行操作,以使得计算第二处理器的性 能保证值可以包括计算预算值。在一个其它方面,存储的处理器可执行软件指令可以被配 置为使得处理器执行操作,以使得确定第二处理器的稳定状态工作负荷可以包括确定被调 度为在第二处理器上执行的任务的要求。在一个其它方面,存储的处理器可执行软件指令 可以被配置为使得处理器执行操作,所述操作包括通过抽样所述繁忙和空闲状态之间的转 换来生成脉冲序列。
[0142] 在一个其它方面,存储的处理器可执行软件指令可以被配置为使得处理器执行操 作,以使得以下操作由单线程来执行:确定第二处理器的稳定状态工作负荷、确定在第二处 理器上执行稳定状态工作负荷所需要的工作量,以及计算第二处理器的性能保证值。在一 个其它方面,存储的处理器可执行软件指令可以被配置为使得处理器执行操作,以使得单 线程在处理器上执行。在一个其它方面,存储的处理器可执行软件指令可以被配置为使得 处理器执行操作,以使得单线程在第二处理器上执行。
[0143] 各个方面提供了很多益处,并且可以实现在笔记本膝上型计算机和其它移动设备 中,在这些设备中性能、功耗和/或响应度是很重要的。各个方面可以实现在服务器和个人 计算机中,以降低低负荷机器的能量和冷却开销。降低热量输出允许系统冷却风扇减低速 度或关闭,降低噪声水平,以及进一步减少功耗。各个方面还可以用于在温度达到某个阈值 时,降低不够冷却的系统中的热度。
[0144] 虽然上面出于说明性的目的围绕着处理内核描述了各个方面,但是各方面方法、 系统和可执行指令可以实现在这些方法在其中能够识别并控制频率或电压的任何系统中。 此外,调节频率或电压的操作可以在任何单处理器或多处理器系统上执行。
[0145] 各个方面可以实现在不同的便携式或移动式计算设备中,图14中描绘了一个示 例。该便携式计算设备1400可以包括耦合到存储器1402和收发机1405的处理内核1401。 收发机1405可以耦合到用于发送和接收电磁辐射的天线1404。该便携式计算设备1400还 可以包括用于接收用户输入的显示器1403 (例如,触摸屏显示器)和菜单选择按钮或摇杆 开关1406。在一些便携式计算设备中,可以提供多个处理器1401,比如一个处理器专用于 无线通信功能,一个处理器专用于运行其它应用。
[0146] 各个方面还可以实现在不同商业用途服务器设备的任何一个上,比如图15中描 绘的服务器1500。这样的服务器1500通常包括处理内核1501,并且可以包括多个处理器 系统1511、1521、1531,它们中的一个或多个可以是或包括多核处理器。处理内核1501可以 耦合到易失性存储器1502和大容量非易失性存储器,比如硬盘驱动1503。该服务器1500 还可以包括耦合到处理内核1501的软盘驱动、压缩光盘(⑶)或DVD光盘驱动1506。该服 务器1500还可以包括耦合到处理内核1501的网络访问端口 1504,用于与网络1505建立数 据连接,比如耦合到其它广播系统计算机和服务器的局域网。
[0147] 上面描述的方面还可以实现在不同个人计算设备中,比如图16中描绘的膝上型 计算机1600。膝上型计算机1600可以包括耦合到易失性存储器1602和大容量非易失性存 储器(比如闪存的磁盘驱动1604)的处理内核1601。计算机1600还可以包括耦合到处理 内核1601的软盘驱动1606和压缩光盘(CD)驱动1608。该计算机设备1600还可以包括耦 合到处理内核1601的多个连接器端口,用于建立数据连接或接收外部存储设备,比如USB、 FireWire?或Lightning?连接器插口或其它网络连接电路,用于将处理内核1601耦合 到网络或计算机。在笔记本电脑配置中,计算机外壳包括全部耦合到处理内核1601的触摸 板1616、键盘1618和显示器1620。计算设备的其它配置可以包括众所周知的耦合到处理 器(例如,经由USB输入)的计算机鼠标或轨迹球。
[0148] 处理内核1401、1501、1601可以是任何可编程处理器、微处理器、微型计算机、多 核处理器或多处理器芯片,其可以由软件指令(应用)来配置以执行多种功能,包括本文描 述的各个方面的功能和操作。通常,软件应用在被存取并加载到处理内核1401、1501、1601 中之前可以被存储在内部存储器1402、1502、1602中。每个处理内核1401、1501、1601可以 包括足够存储应用软件指令的内部存储器。在一些计算设备中,另外的存储器芯片(例如, 安全数据(SD)卡)可以被插入计算设备并耦合到处理内核1401、1501、1601。该内部存储 器1402、1502、1602可以是易失性或非易失性存储器,比如闪存或二者的混合。出于本说明 书的目的,对存储器的一般引用指的是处理内核1401、1501、1601可访问的所有存储器,包 括内部存储器1402、插入到移动设备中的可移除存储器和处理内核1401中的存储器。
[0149] 处理内核1501、1601、1710可以包括足够存储应用软件指令的内部存储器。在很 多设备中,该内部存储器可以是易失性或非易失性存储器,比如闪存或它们二者的混合。出 于本说明书的目的,对存储器的一般引用指的是可以由处理器1501、1601、1710访问的存 储器,包括处理内核1501、1601、1710本身中的内部存储器或插入到设备中的可移除存储 器以及存储器。
[0150] 上述方法描述和处理流程图仅仅作为示例性示例提供,而并不旨在要求或暗示各 个方面的步骤必须以示出的顺序执行。本领域的技术人员应该了解的是,上述方面中的步 骤的顺序可以以任何顺序来执行。比如像"之后"、"然后"、"接下来"等词语并不旨在限制 步骤的顺序;这些词语仅仅用于贯穿方法的描述来引导读者。此外,任何以单数形式对权利 要求元素的引用,例如使用冠词"一(a) "、"一个(an)"或"所述(the)"并不被解释为将该 单元限制为单数。
[0151] 结合本文公开的方面所描述的各种说明性的逻辑框、模块、电路和算法步骤可以 实现成电子硬件、计算机软件或其组合。为了清楚地示出硬件和软件之间的可交换性,上面 对各种说明性的组件、方框、模块、电路和步骤已经围绕其功能进行了总体描述。至于这种 功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束。 熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现 决策不应被解释为背离本发明的保护范围。
[0152] 被设计为执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或者晶体管逻辑器件、 分立硬件组件或者其任意组合,可以实现或执行用于实现结合本文公开的方面描述的各种 说明性的逻辑单元、逻辑框、模块和电路的硬件。通用处理器可以是多处理器,或者,该处理 器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以实现为计算设 备的组合,例如,DSP和多处理器的组合、多个多处理器、一个或多个多处理器与DSP内核的 结合,或者任何其它此种结构。另外,一些步骤或方法可以由专用于给定功能的电路来执 行。
[0153] 在一个或多个示例性方面,所描述的功能可以用硬件、软件、固件,或其任意组合 来实现。如果在软件中实现,则所述功能可以作为一条或多个处理器可执行指令或代码存 储在非暂时性计算机可读存储介质上。本文中公开的方法或算法的步骤可以体现在处理器 可执行软件模块中,其可以驻留在有形的或非暂时性计算机可读存储介质上。非暂时性计 算机可读存储介质可以是计算机可存取的任何可用存储介质。举个例子,但是并不作为限 制,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或 其它磁存储设备,或可以用于以指令或数据结构的形式携带或存储期望的程序代码并可以 由计算机存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光 盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘 则通常利用激光来光学地复制数据。上述的组合也应当包括在非暂时性计算机可读介质 的范围内。另外,方法或算法的操作可以作为非暂时性机器可读介质和/或非暂时性计算 机可读介质上的代码和/或指令的一个或任何组
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1