[发明专利]用于通过将第一核类型与第二核类型耦合来提高功率性能的装置、方法和系统有效
申请号: | 201180027661.8 | 申请日: | 2011-06-22 |
公开(公告)号: | CN102934084B | 公开(公告)日: | 2016-11-16 |
发明(设计)人: | 吴友峰;S·胡;E·鲍林;C·C·王;M·小布莱特尼兹;W·刘 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38;G06F1/32 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 通过 第一 类型 第二 耦合 提高 功率 性能 装置 方法 系统 | ||
领域
本发明涉及处理器领域,具体涉及优化功率、性能效率。
背景
半导体处理和逻辑设计中的进步已允许集成电路器件上存在的逻辑数量增加。因此,计算机系统配置已经从系统中的单个或多个集成电路发展到单个集成电路上存在的多个核、多个硬件线程以及多个逻辑处理器。处理器或集成电路典型地包括单个物理处理器管芯,其中该处理器管芯可包括任何数量的核、硬件线程或逻辑处理器。
集成电路上的数量不断增加的处理元件——核、硬件线程以及逻辑处理器——使得更多任务能并行地完成。然而,在一些情况下,采用全部无序核的处理器可能导致功率低效和/或性能低效。因此,已开发出一些硬件-软件协同设计的系统以抗衡该功率-性能效率问题。在该系统中,可利用一般的、简单的有序处理器,同时软件优化并调度程序以在该有序硬件上高效地运行。
然而,硬件-软件协同设计的系统通常与两个不利的影响相关联:(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可包括任何数量的处理元件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180027661.8/2.html,转载请声明来源钻瓜专利网。