[发明专利]用于硬件锁省略(HLE)的后期锁获取机制的装置和方法有效
申请号: | 201310482999.3 | 申请日: | 2008-11-07 |
公开(公告)号: | CN103544052B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | H·阿卡瑞;R·拉杰瓦;S·T·斯里尼瓦桑 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 钱慰民 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 硬件 省略 hle 后期 获取 机制 装置 方法 | ||
本申请是申请号为200810190835.2、申请日为2008年11月7日、发明名称为“用于硬件锁省略(HLE)的后期锁获取机制的装置和方法”的发明专利申请的分案申请。
技术领域
本发明涉及处理器执行领域,并且尤其涉及获取用于代码段执行的锁定。
背景技术
在半导体处理和逻辑设计方面的进步已经允许在集成电路器件中可存在的逻辑数量上的增加。结果,计算机系统配置已经从系统中的单个或者多个集成电路演进成存在于单个集成电路上的多核以及多逻辑处理器。处理器或者集成电路通常包括单个处理器管芯,其中处理器管芯可包括任意数量的核或者逻辑处理器。
在集成电路上的核以及逻辑处理器数量的不断增加使得能够执行更多的软件线程。然而,可同时执行的软件线程数量上的增加已经造成了关于使诸软件线程间共享的数据同步的问题。一种在多核或者多逻辑处理器系统中访问共享数据的常用解决方案包括利用锁来确保对共享数据多个访问上的互斥。然而,执行多个软件线程的日益增加的能力潜在可能导致错误竞争和执行的串行化。
例如,考虑一种持有共享数据的散列表。利用锁系统,程序员就可对整个散列表加锁,从而允许一个线程访问整个散列表。然而,其它线程的吞吐量和性能潜在可能受到不利影响,因为在锁被释放之前他们不能访问散列表中的任何项。或者,散列表中的每个项可被加锁。然而,这增加了编程复杂度,因为程序员不得不考虑在散列表之内更多的锁。
另一种数据同步技术包括使用事务性存储器(TM)。通常事务性执行包括投机地执行多个微操作,操作,或者指令的编组。在上面的例子中,两个线程皆在散列表内执行,且其访问被监控/跟踪。如果两个线程访问/改变相同的项,则可能中断这两个事务中的一个来解决冲突。然而,一些应用程序可能不能利用事务性存储器编程,结果,通常称为硬件锁省略(HLE)的硬件数据同步技术被用于取消锁以获得类似于事务性存储器的同步效果。
结果,HLE能够检测并且预侧代码的临界段。但是,对于事务性存储器或者通过HLE在临界段的执行期间,当HLE预侧不正确的时候,试探性访问跟踪使存储器溢出,或者遇到不可取消事件,通常,中断并且重新开始临界段。然而,中断临界段可能浪费了在中断之前所执行的操作执行周期。
附图说明
本发明通过举例进行说明并且不希望受到附图图形的限制。
图1示出包括后期锁获取机制的多处理部件处理器的实施例。
图2示出对于临界段执行后期锁获取的逻辑的实施例。
图3a示出对于当前临界段执行后期锁获取方法的流程图的实施例。
图3b示出在对于当前临界段的后期锁获取期间停止后续临界段操作方法的流程图的实施例。
图3c示出在对于当前临界段的后期锁获取期间停止后续临界段操作方法的流程图的另一个实施例。
详细说明
在下面的说明中,阐述了很多特定的细节,比如硬件锁省略(HLE)的特定硬件支持的例子、特定的跟踪/元数据方法、处理器中局部/存储器的特定类型、以及存储器存取和位置的特定类型等等,以便提供对本发明的彻底理解。但是,本领域技术人员将会明白可不必采用这些细节来实施本发明。在其它的例子中,没有详细地描述公知的组件或者方法,比如软件中临界段的编码,临界段的划界,特定的多核和多线程处理器体系结构,中断生成/处理,高速缓存组织,和微处理器特定的操作细节,以免带来对本发明不必要的混淆。
此处所描述的方法和装置是用于在临界段执行期间的后期锁(late-lock)获取的方案。具体地说,主要关于多核处理器计算机系统来讨论后期锁获取方案。但是,用于后期锁获取方案的方法和装置并不因此受限,因为它们可能在任何集成电路装置或者系统上或与其相关联以及与诸如执行临界段的硬件/软件线程的其它资源结合地实现,所述集成电路装置或者系统比如为蜂窝电话,个人数字助理,嵌入式控制器,移动式平台,桌面平台,和服务器平台。此外,还关于在硬件锁省略(HLE)期间的临界段执行来主要地讨论后期锁获取方案。然而,在任何临界段执行方案期间,比如在事务性执行期间,都可使用后期锁的获取。
参考图1,示出多核处理器100的实施例,其能够执行用于临界段的后期锁获取。如图所示,物理处理器100包括任何数量的处理部件。处理部件指代线程、进程、上下文、逻辑处理器、硬件线程、核和/或任何可能共享对处理器资源访问的处理部件,比如保留单元、执行单元、流水线和上级高速缓存/存储器。物理处理器通常指代集成电路,其可包括许任何数量的处理部件,比如核或者硬件线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310482999.3/2.html,转载请声明来源钻瓜专利网。