【技术实现步骤摘要】
【国外来华专利技术】领域本专利技术涉及处理器领域,具体涉及优化功率、性能效率。背景半导体处理和逻辑设计中的进步已允许集成电路器件上存在的逻辑数量增加。因此,计算机系统配置已经从系统中的单个或多个集成电路发展到单个集成电路上存在的多个核、多个硬件线程以及多个逻辑处理器。处理器或集成电路典型地包括单个物理处理器管芯,其中该处理器管芯可包括任何数量的核、硬件线程或逻辑处理器。集成电路上的数量不断增加的处理元件——核、硬件线程以及逻辑处理器——使得更多任务能并行地完成。然而,在一些情况下,采用全部无序核的处理器可能导致功率低效和/或性能低效。因此,已开发出一些硬件-软件协同设计的系统以抗衡该功率-性能效率问题。在该系统中,可利用一般的、简单的有序处理器,同时软件优化并调度程序以在该有序硬件上高效地运行。然而,硬件-软件协同设计的系统通常与两个不利的影响相关联:(1)利用二进制转换器对代码的转换和/或优化可能会减缓具有短运行任务和小响应时间约束的一些应用(二进制转换脆弱性);以及(2)有序处理器对于更适合并行执行的一些风格的程序可能表现不佳(有序脆弱性)。为了说明二进制转换(BT)脆弱性问题,检查用于执行Microsoft Excel应用的典型概况的示例。对于被执行的100亿个动态86指令,模拟表明23%的动态指令是来自静态指令,静态指令重复少于100,000次,可被称为冷代码(cold code)。如果这些x86指令利用
【技术保护点】
【技术特征摘要】
【国外来华专利技术】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·刘,
申请(专利权)人:英特尔公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。