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

用于通过将第一核类型与第二核类型耦合来提高功率性能的装置、方法和系统制造方法及图纸

技术编号:8327647 阅读:211 留言:0更新日期:2013-02-14 13:35
本文中描述了用于将第一类型的处理器核与第二类型的协同设计的核耦合的装置和方法。监测程序代码在第一核上的执行,并标识该程序代码的热段。那些热段针对在协同设计的核上的执行而被优化,使得一旦随后遇到那些热段,则经优化的热段就在协同设计的核上执行。当协同设计的核正在执行经优化的热代码时,第一处理器核可以处于低功率状态以节省功率,或并行地执行其它代码。此外,冷代码的多个线程可在第一核上流水线化,同时冷代码的多个线程在协同设计的核上流水线化以实现最大性能。

【技术实现步骤摘要】
【国外来华专利技术】领域本专利技术涉及处理器领域,具体涉及优化功率、性能效率。背景半导体处理和逻辑设计中的进步已允许集成电路器件上存在的逻辑数量增加。因此,计算机系统配置已经从系统中的单个或多个集成电路发展到单个集成电路上存在的多个核、多个硬件线程以及多个逻辑处理器。处理器或集成电路典型地包括单个物理处理器管芯,其中该处理器管芯可包括任何数量的核、硬件线程或逻辑处理器。集成电路上的数量不断增加的处理元件——核、硬件线程以及逻辑处理器——使得更多任务能并行地完成。然而,在一些情况下,采用全部无序核的处理器可能导致功率低效和/或性能低效。因此,已开发出一些硬件-软件协同设计的系统以抗衡该功率-性能效率问题。在该系统中,可利用一般的、简单的有序处理器,同时软件优化并调度程序以在该有序硬件上高效地运行。然而,硬件-软件协同设计的系统通常与两个不利的影响相关联:(1)利用二进制转换器对代码的转换和/或优化可能会减缓具有短运行任务和小响应时间约束的一些应用(二进制转换脆弱性);以及(2)有序处理器对于更适合并行执行的一些风格的程序可能表现不佳(有序脆弱性)。为了说明二进制转换(BT)脆弱性问题,检查用于执行Microsoft Excel应用的典型概况的示例。对于被执行的100亿个动态86指令,模拟表明23%的动态指令是来自静态指令,静态指令重复少于100,000次,可被称为冷代码(cold code)。如果这些x86指令利用二进制转换软件来解析和转换(具有用于转换/解析以及带有优化的性能增益的典型开销),则冷代码将比本机x86执行额外花费3.6倍的指令来运行。此外,转换导致整个10B指令额外执行1.4倍的指令。考虑所执行代码中的约25%是冷代码,则平均而言,转换开销将使冷代码运行慢4.4倍。而且使整个执行比本机执行慢1.7倍。为了说明有序脆弱性,检查基准模拟期间的有序处理器的性能与无序处理器相比的示例。在同样配备的有序和无序(OOO)处理器上对多个程序的模拟期间,发现约大于40%的程序在OOO处理器上运行快1.57倍,而约40%的程序在有序处理器上运行快1.45倍。尽管这些模拟仅仅是说明性的,而且结果不同,但它们说明两个系统都潜在地包括功率和/或性能上的低效。附图简述本专利技术通过附图部分中的附图作为示例来说明,且不旨在受附图部分中的附图限制。图1示出包括两个不对称核的处理器的实施例。图2示出包括本机核、受软件管理核以及代码分配模块的处理器的实施例。图3示出用于在核之间分配代码以实现最大性能和最大功率节省的处理器的实施例。图4示出在无序核和有序核之间分配代码以实现最大性能和功率节省的方法的流程图的实施例。图5示出在无序核和有序核之间分配代码以实现最大性能和功率节省的方法的流程图的另一实施例。具体实施方式在以下描述中,陈述了多个具体细节,诸如特定类型的处理器核、特定处理器配置、特定热代码区识别算法、用于存储已转换/优化的代码的特定结构、硬件/软件之间的任务的特定划分、特定处理器单元/逻辑等等的示例,以提供对本专利技术的透彻理解。然而,对本领域普通技术人员显而易见的是,不需要采用这些特定细节来实施本专利技术。在其它实例中,未详细描述公知的组件或方法,诸如特定或替代的处理器体系结构、用于所描述算法的特定逻辑电路/代码、特定代码实现方式、特定二进制转换细节以及微处理器的其它特定操作细节,以避免不必要地遮蔽本专利技术。本文中所描述的方法和装置是用于利用受软件管理核实现本机核,以实现最大性能和节能。具体而言,主要参考无序核和有序的协同设计核来讨论核之间的合作。然而,本文中描述的装置和方法不限于此,因为它们可按照在不对称核之间的代码的任何分配方式来实现。例如,可在实现唯一指令集体系结构(ISA)的两个无序核的情况下,利用本文中描述的代码分配方法和装置。此外,通常在硬件机制与代码/软件之间分离地讨论此类核之间的合作。然而,可利用硬件、软件和/或固件的任何混合或排它使用来实现下文中描述的方法和装置。参考图1,示出了包括多个核的处理器的实施例。处理器100包括任何处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用于执行代码的其它装置。在一个实施例中,处理器100包括不同类型的至少两个核——核101和102。然而,处理器100可包括任何数量的处理元件。在一个实施例中,处理元件指的是线程单元、线程槽、处理单元、上下文、逻辑处理器、硬件线程、核和/或任何其它元件,这些元件能够保持处理器的诸如执行状态或体系结构状态之类的状态。换言之,在一个实施例中,处理元件指的是能够独立地与代码(诸如软件线程、操作系统、应用或其它代码)相关联的任何硬件。典型地,物理处理器指的是集成电路,该集成电路潜在地包括任何数量的其它处理元件(诸如核或硬件线程)。核通常指的是位于集成电路上的能够维持独立体系架构状态的逻辑,其中每个独立维持的体系架构状态与至少一些专用的执行资源相关联。与核相比,硬件线程典型地表示位于集成电路上的能够维持独立体系架构状态的任何逻辑,其中被独立维持的体系架构状态共享对执行资源的访问。如可以看到,当某些资源被共享而其它资源专属于一体系结构状态时,硬件线程与核的命名之间的界限交迭。不过,核和硬件线程通常被操作系统视为单独的逻辑处理器,其中操作系统能够单独地调度每个逻辑处理器上的操作。如图1所示的物理处理器100包括两个核,即核101和102。在此,核101和102被视为不对称核,即这些核具有不同的配置、功能单元和/或逻辑。在一个实施例中,核101包括无序处理器核,而核102包括有序处理器核。然而,核101和102可从任何类型的核中单独地选择,诸如本机核、受软件管理核、适于执行本机指令集体系结构(ISA)的核、适于执行转换指令集体系结构(ISA)的核、协同设计的核或其它已知核。不过,为进一步讨论,在下文中更详细地描述图1中示出的功能单元。如所描绘,核101包括两个硬件线程101a和101b,两个硬件线程101a和101b也可称为硬件线程槽101a和101b。相比之下,核102包括一个硬件线程102a。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器100视为三个独立的处理器,即能够并发地执行三个软件线程的三个逻辑处理器或处理元件。替代地,软件实体可仅将处理器100视为...
<a href="http://www.xjishu.com/zhuanli/55/201180027661.html" title="用于通过将第一核类型与第二核类型耦合来提高功率性能的装置、方法和系统原文来自X技术">用于通过将第一核类型与第二核类型耦合来提高功率性能的装置、方法和系统</a>

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.06.29 US 12/826,1071.一种装置,包括:集成电路,所述集成电路包括,
无序(OOO)处理器核,适于无序地执行程序代码;以及
有序处理器核,适于按照程序顺序来执行所述程序代码的热部分。
2.如权利要求1所述的装置,其特征在于,所述集成电路进一步包括监
测器硬件,所述监测器硬件适于标识所述程序代码的热部分。
3.如权利要求2所述的装置,其特征在于,所述监测器硬件适于标识所
述程序代码的热部分包括:所述监测器硬件适于:
监测所述程序代码在所述OOO处理器核上的执行;
基于对所述程序代码在所述OOO处理器核上的执行的监测,确定所述程
序代码的热部分的复现模式;以及
基于所述复现模式来标识所述程序代码的热部分。
4.如权利要求3所述的装置,其特征在于,所述监测器硬件适于基于对
所述程序代码在所述OOO处理器核上的执行的监测来确定所述程序代码的热
部分的复现模式包括:所述监测器硬件适于确定所述程序代码的热部分随时间
的被执行次数;以及其中所述监测器硬件适于基于所述复现模式来标识所述程
序代码的热部分包括:所述监测器硬件适于响应于所述次数大于热代码阈值来
标识所述程序代码的热部分。
5.如权利要求3所述的装置,其特征在于,所述监测器硬件被包括在所
述集成电路的一部分中,所述集成电路的一部分从以下项组成的组中选择:所
述OOO处理器核、所述有序处理器核、以及未包括在所述OOO处理器核或
所述有序处理器核中的所述集成电路的无关部分。
6.如权利要求2所述的装置,其特征在于,所述监测器硬件适于标识所
述程序代码的热部分包括:所述监测器硬件适于在所述OOO处理器核上的执
行期间测量所述程序代码的热部分的性能度量,并且响应于所述OOO处理器
核上的性能度量低于阈值来标识所述程序代码的热部分。
7.如权利要求6所述的装置,其特征在于,所述监测器硬件还适于在所
述有序处理器核上的执行期间测量所述程序代码的热部分的性能度量,并且响

\t应于所述有序处理器核上的执行期间的所述程序代码的热部分的性能度量低
于在所述OOO处理器核上的执行期间的所述程序代码的热部分的性能度量,
指示所述程序代码的所述热部分不再被视为程序代码的热部分。
8.如权利要求1所述的装置,其特征在于,所述集成电路进一步包括:
合作硬件,适于将来自所述OOO处理器核的输入值提供给所述有序处理
器核。
9.如权利要求8所述的装置,其特征在于,适于将来自所述OOO处理器
核的输入值提供给所述有序处理器核的所述合作硬件包括:上下文切换逻辑,
适于执行从所述OOO处理器核到所述有序处理器核的至少部分上下文切换,
其中所述至少部分上下文至少包括输入值。
10.如权利要求8所述的装置,其特征在于,适于将来自所述OOO处理
器核的输入值提供给所述有序处理器核的所述合作硬件包括:直接访问硬件,
适于从所述OOO处理器核中的寄存器读取所述输入值,并将所述输入值写入
所述有序处理器核中的输入寄存器。
11.如权利要求2所述的装置,其特征在于,所述集成电路进一步包括用
于保持优化代码的代码存储逻辑,所述优化代码在被执行时针对在所述有序处
理器核上的执行而优化所述程序代码的热部分,且其中所述优化代码响应于所
述监测器硬件标识所述程序代码的热部分而被执行以优化所述程序代码的热
部分。
12.如权利要求11所述的装置,其特征在于,所述优化代码包括优化微
代码,且其中所述优化微代码在被执行时针对在所述有序处理器核上的执行而
优化所述程序代码的热部分包括:所述优化微代码在被执行时将所述程序代码
的热部分从由所述OOO处理器核的解码器识别的第一指令集体系结构(ISA)
转换至由所述有序处理器核的解码器识别的第二ISA。
13.如权利要求12所述的装置,其特征在于,所述有序处理器核与代码
高速缓存相关联,所述代码高速缓存适于在所述程序代码的热部分从第一ISA
转换至第二ISA之后保持所述程序代码的所述第二部分的经优化版本。
14.如权利要求2所述的装置,其特征在于,所述集成电路进一步包括触
发器硬件,所述触发器硬件适于:
响应于所述监测器硬件标识所述程序代码的所述热部分,指示所述程序代
码的所述热部分是热代码,以及
响应于所述OOO处理器核遇到所述程序代码的所述热部分以及所述触发
器硬件指示所述程序代码的所述热部分是热代码,触发程序代码的所述热部分
在所述有序处理器核上的执行。
15.如权利要求14所述的装置,其特征在于,所述触发器硬件适于指示
所述程序代码的所述热部分是热代码包括:所述触发器硬件适于保持对所述程
序代码的所述热部分的引用,对所述程序的所述热部分的引用与对所述程序代
码的所述热部分的经优化版本的引用相关联,所述程序代码的所述热部分的经
优化版本经优化以在所述有序处理器核上执行。
16.一种装置,包括处理器,所述处理器包括,
无序核,适于执行程序代码;
协同设计的核;以及
代码分配模块,适于标识所述程序代码的热部分,并针对所述协同设计的
核来优化所述程序代码的热部分以获得经优化的热代码,
其中所述协同设计的核用于,响应于所述代码分配模块标识所述程序代码
的热部分以及所述无序核遇到用于执行的所述程序代码的热部分,执行所述经
优化的热代码。
17.如权利要求16所述的装置,其特征在于,适于标识所述程序代码的
热部分的所述代码分配模块包括:解码逻辑,适于从所述程序代码解码热代码
标识符指令,所述热代码标识符指令用于标识所述程序代码的热部分。
18.如权利要求16所述的装置,其特征在于,适于标识所述程序代码的
热部分的所述代码分配模块包括:监测器模块,适于监测所述程序代码在所述
无序核上的执行,并根据对所述程序代码在所述无序核上的执行的监测来标识
所述程序代码的热部分。
19.如权利要求18所述的装置,其特征在于,所述监测器模块包括在所
述协同设计的核中的适于执行监测代码的执行逻辑,其中所述监测代码在被所
述协同设计的核中的所述执行逻辑执行时用于监测所述程序代码在所述无序
核上的执行并标识所述程序代码的热部分。
20.如权利要求16所述的装置,其特征在于,适于针对所述协同设计的
核来优化所述程序代码的热部分以获得经优化的热代码的所述代码分配模块
包括:用于执行转换代码的执行逻辑,其中所述转换代码在被执行时对所述程
序代码的热部分进行转换以获得经优化的热代码,而且其中所述程序代码的热
部分包括作为可由所述无序核的解码器所识别的第一指令集体系结构(ISA)
的一部分的指令,并且所述经优化的热代码包括作为可由所述协同设计的核的
解码器所识别的第二ISA的一部分的指令。
21.如权利要求16所述的装置,其特征在于,所述协同设计的核用于响
应于所述代码分配模块标识所述程序代码的热部分以及所述无序核遇到用于
执行的所述程序代码的热部分而执行所述经优化的热代码包括:响应于与无序
核相关联的程序计数器引用与所述程序代码的热部分相关联的指令地址以及
映射表将程序代码的热部分与经优化的热代码相关联以指示所述程序代码的
热部分是热代码,所述协同设计的核执行所述经优化的热代码。
22.如权利要求21所述的装置,其特征在于,还包括与所述协同设计的
核相关联的代码高速缓存,其中将所述程序代码的热部分与所述经优化的热代
码相关联以指示所述程序代码的热部分是热代码的映射表包括:所述映射表的
条目,保持对所述程序的热部分的引用以及对所述经优化的热代码的引用,其
中对所述经优化的热代码的引用包括对所述经优化的热代码在所述代码高速
缓存中的位置的引用。
23.如权利要求16所述的装置,其特征在于,所述处理器耦合至系统存
储器,所述系统存储器从由随机存取存储器(RAM)、双数据速率(DDR)
RAM以及缓冲...

【专利技术属性】
技术研发人员:吴友峰S·胡E·鲍林C·C·王M·小布莱特尼兹W·刘
申请(专利权)人:英特尔公司
类型:
国别省市:

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

1