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

提高多内核处理器性能的方法、系统和装置制造方法及图纸

技术编号:2822237 阅读:148 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于提高多内核处理器性能的系统、装置和方法,以使内核定量分配逻辑可启用多内核处理器的内核来遵守各种功率约束和热约束。

【技术实现步骤摘要】

本专利技术所公开的内容涉及功率管理领域。更具体地说,本专利技术的公开 内容涉及一种尽管有功率约束也可提高多内核(multi-core)处理器性能的 新方法和装置。
技术介绍
对于多种类型的系统和集成设备例如服务器、膝上计算机、处理器和 桌面计算机来说,功率管理方案可减少功耗从而实现低功率的应用。 一般 地,对系统和集成设备采用软件方法来支持多功率状态,从而至少部分地 基于中央处理单元(CPU)的活动性来优化性能。当前的功率管理方案或者降低电压或频率,或者同时降低二者,从而 减少功耗。然而,这使得整体性能降低了。而且, 一些方法包含了若干模 拟设计,这些模拟设计具有和用于暂态工作负载、校准及调谐的循环稳定 性相关的许多挑战。随着多内核的处理器的引入,功率管理成为了一个很大的问题,因为 多个内核以高频率和高电压运行,并且需要遵守多种功率约束,例如热极 限、最大电流以及Vcc范围等。
技术实现思路
为了解决以上问题,本专利技术提供了一种尽管有功率约束也可提高多内 核(multi-core)处理器性能的新方法和装置。根据本专利技术的一个方面,所 要求的主题物是一种用于在多个处理器内核当中禁止到其中至少一个处理器内核的时钟的方法,该方法包括至少部分地基于工作负载,计算执行内核极限;执行n个可用线程,其中n是整数;启用m个处理器内核,其 中m是整数,并小于或等于可用线程的数量n。根据本专利技术的另一方面,还提供了一种用于为多个处理器内核中的至少一个处理器内核选择电压和频率工作点的方法,包括预测在所有所述 多个处理器内核上运行的多个线程的活动性级别;至少部分地基于所述活 动性级别,启用所述多个处理器内核中的一个子集。根据本专利技术的另一方面,本专利技术所要求的主题物中还包括一种用于多 个多内核处理器的状态图,其包括用于未分配线程的内核的第一状态;第 二状态,该状态让一个队列存储分配有线程的内核;用于启用所述内核以 运行线程的第三状态;以及用于禁止内核的第四状态。根据本专利技术的又一方面,本专利技术还提供了一种用于多个多内核处理器 的状态图的方法,该方法包括向未分配线程的内核分配第一状态;对于 存储分配有线程的内核的队列,分配第二状态;比较己启用的内核数量和 执行内核极限,如果所述已启用内核的数量小于所述执行内核极限,则分 配第三状态以启用所述内核来运行一个线程;以及分配第四状态以禁止内 核。根据本专利技术的另外一方面,所要求的主题物中还包括一种多内核处理 器系统,该系统包括至少一个多内核处理器,其耦合到缓存,并至少耦合 到两条用于接收请求和响应的顺时钟方向的总线;和内核定量分配逻辑, 用于管理已启用内核的数量以使其小于或等于执行内核极限。附图说明附图中示例性而非限制性地示出了本专利技术。图1示出了根据实施例而利用的方法的流程图。图2示出了根据实施例而利用的柱状图。图3示出了根据实施例而利用的柱状图。图4示出了根据一个实施例的装置。具体实施例方式下面的描述提供了用于尽管存在功率约束也可提高多内核处理器性能 的方法和装置。在下面的描述中,给出了大量具体细节以提供对本专利技术更 透彻的理解。然而,本领域内的技术人员将会认识到没有这些具体细节也 可实施本专利技术。利用所包含的描述,本领域内的技术人员不必进行太多试 验就能够实现适当的逻辑电路。如上所述,在遵守功率约束的同时提高处理器性能会存在一个问题。 现有的方法包括以降低整体性能为代价来降低电压或频率。相反,所要求 的主题物在遵守功率约束的同时提高了整体性能。例如,"为处理器系统 定量分配执行内核的数量"这一原理使得在若干内核等待存储器事务完成 时的空闲状态下禁止其时钟,因而提高频率。例如,所要求的主题物利用 了通过禁止到某些处理器内核的时钟而形成的这些内核的空闲时间段,从 而获得了较少的功耗。因此,由于降低了功耗,所以可以利用更高的频 率。在一个实施例中,对于所述工作负载计算合适的执行内核极限。而 且,在同一个实施例中,所述执行内核的数量小于或等于可用并就绪的线 程的数量。线程是用于特定应用的一个独立指令集合。在一个实施例中,所要求的主题物基于对运行在所有内核上的线程的 活动性水平进行总体性的预测,从而帮助选择一个电压/频率工作点。例如,TPC-C线程往往在50-60%的时间中是活动的,它们40-50%的时间是 空闲的,等待存储器引用的完成。在这种环境下,在一个实施例中,可以指定这样的执行内核极限,其等于管芯上内核总数的60%;在此情形下,如果有8个内核,则可以将执行内核极限设置为5。然后,可以指定一个 电压-频率工作点,其对应于在一个时刻只有5个活动的内核,3个内核不 活动(低功率状态);这一工作频率与如果允许所有8个内核同时都活动 时可以指定的频率相比要高得多。所述内核定量分配逻辑约束了管芯的工 作,确保在任何给定的时刻都不会有超过5个(在此情形下)内核是活动 的。收集关于等待和定量分配队列的占用情况的统计数据(下面将结合图 1进一步讨论);以一定的间隔对这些统计数据进行分析,以确定是否应 改变工作点(执行内核极限及其关联电压/频率对)。如果等待队列总是为空而定量分配队列总是为满,这就指示了内核在可以推进时却没有推进, 并且指示了应该提高执行内核极限并且降低电压/频率,以提高性能;相 反,如果定量分配队列总是为空而等待队列总是为满,这就指示了可以通 过降低执行内核极限并提高电压/频率点来提高性能。图1示出了根据实施例而利用的方法的流程图。在一个实施例中,该 流程图示出了用于状态图的方法。在同一实施例中,所述状态图示出了用于系统中的处理器内核的预定 状态机。在这一相同的实施例中,所述状态机辅助"内核的定量分配", 由于禁止了到等待存储器事务完成的内核的时钟,因而提高了处理器性 能。在一个实施例中,所述状态图具有4个已定义的状态,如"内核未分配"状态202、"执行"状态204、"定量分配FIFO队列"状态206以及 "等待"状态208。 一开始,如下定义"内核未分配"状态每个内核都 没有所分配的线程。随后,如果一个线程被分配到某个内核,则所要求的 主题物转换到"定量分配FIFO队列"状态206。在一个实施例中,FIFO 被定义为先进先出。一转换到"定量分配FIFO队列"状态,则确定执行内核的数量和执 行内核极限(ECL)之间的对比关系。在一个实施例中,处理器或系统规 范确定了合适的执行内核极限以遵守热功率考虑因素。在一个实施例中, ECL由应用中下面将描述的公式来确定。当执行内核的数量小于ECL 时,如果某个特定的内核是FIFO队列中将得到处理的下一个内核,则该 内核转换到"执行"状态204。否则,该内核仍处于"定量分配FIFO队 列"状态206。一进入"执行"状态,所述内核就保持这一状态,除非发生某个事 件,例如存储器引用和过热事件和/或公平性超时(fairness timeout)。例 如,公平性超时可被利用来防止可能出现的现场锁定(live lock)状态。 在此上下文中,存储器引用指的是对特定存储器地址的读或写操作,该存 储器地址未驻留在耦合到处理器的任何缓存中("所有缓存级中的缺 失")。因此,启动对主存储器的访问。如果发生了上述事件,则内核转换到"等待"状态208。事件一完成,内核就转换到"定量分本文档来自技高网...

【技术保护点】
一种用于为多个处理器内核中的至少一个处理器内核选择电压和频率工作点的方法,包括:预测在所有所述多个处理器内核上运行的多个线程的活动性级别;至少部分地基于所述活动性级别,启用所述多个处理器内核中的一个子集。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:丹尼尔W贝利托德达顿特里格韦福萨姆
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1