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

用于硬件锁省略(HLE)的后期锁获取机制制造技术

技术编号:2912534 阅读:231 留言:0更新日期:2012-04-11 18:40
本发明专利技术描述了用于硬件锁省略(HLE)的后期锁获取机制的方法和装置。响应于检测到后期锁获取事件,如计时器期满、填满的高速缓存集合以及不可撤回事件,可启动后期锁获取。停止连贯的临界段直到利用与连贯的临界段操作相关联的访问缓冲器项的字段来完成后期锁获取。

【技术实现步骤摘要】
领域本专利技术涉及处理器执行领域,并且尤其涉及获取用于代码段执行的锁定。
技术介绍
在半导体处理和逻辑设计方面的进步已经允许在集成电路器件中可存在的逻辑数量上的增加。结果,计算机系统配置已经从系统中的单个或者多个集成电路演进成存在于单个集成电路上的多核以及多逻辑处理器。处理器或者集成电路通常包括单个处理器管芯,其中处理器管芯可包括任意数量的核或者逻辑处理器。在集成电路上的核以及逻辑处理器数量的不断增加使得能够执行更多的软件线程。然而,可同时执行的软件线程数量上的增加已经造成了关于使诸软件线程间共享的数据同步的问题。一种在多核或者多逻辑处理器系统中访问共享数据的常用解决方案包括利用锁来确保对共享数据多个访问上的互斥。然而,执行多个软件线程的日益增加的能力潜在可能导致错误竞争和执行的串行化。例如,考虑一种持有共享数据的散列表。利用锁系统,程序员就可对整个散列表加锁,从而允许一个线程访问整个散列表。然而,其它线程的吞吐量和性能潜在可能受到不利影响,因为在锁被释放之前他们不能访问散列表中的任何项。或者,散列表中的每个项可被加锁。然而,这增加了编程复杂度,因为程序员不得不考虑在散列表之内更多的锁。另一种数据同步技术包括使用事务性存储器(TM)。通常事务性执行包括投机地执行多个微操作,操作,或者指令的编组。在上面的例子中,两个线程皆在散列表内执行,且其访问被监控/跟踪。如果两个线程访问/改变相同的项,则可能中断这两个事务中的一个来解决冲突。然而,一些应用程序可能不能利用事务性存储器编程,结果,通常称为硬件锁省略(HLE)的硬件数据同步技术被用于取消锁以获得类似于事务性存储器的同步效果。结果,HLE能够检测并且预侧代码的临界段。但是,对于事务性存储器或-->者通过HLE在临界段的执行期间,当HLE预侧不正确的时候,试探性访问跟踪使存储器溢出,或者遇到不可取消事件,通常,中断并且重新开始临界段。然而,中断临界段可能浪费了在中断之前所执行的操作执行周期。附图说明本专利技术通过举例进行说明并且不希望受到附图图形的限制。图1示出包括后期锁获取机制的多处理部件处理器的实施例。图2示出对于临界段执行后期锁获取的逻辑的实施例。图3a示出对于当前临界段执行后期锁获取方法的流程图的实施例。图3b示出在对于当前临界段的后期锁获取期间停止后续临界段操作方法的流程图的实施例。图3c示出在对于当前临界段的后期锁获取期间停止后续临界段操作方法的流程图的另一个实施例。详细说明在下面的说明中,阐述了很多特定的细节,比如硬件锁省略(HLE)的特定硬件支持的例子、特定的跟踪/元数据方法、处理器中局部/存储器的特定类型、以及存储器存取和位置的特定类型等等,以便提供对本专利技术的彻底理解。但是,本领域技术人员将会明白可不必采用这些细节来实施本专利技术。在其它的例子中,没有详细地描述公知的组件或者方法,比如软件中临界段的编码,临界段的划界,特定的多核和多线程处理器体系结构,中断生成/处理,高速缓存组织,和微处理器特定的操作细节,以免带来对本专利技术不必要的混淆。此处所描述的方法和装置是用于在临界段执行期间的后期锁(late-lock)获取的方案。具体地说,主要关于多核处理器计算机系统来讨论后期锁获取方案。但是,用于后期锁获取方案的方法和装置并不因此受限,因为它们可能在任何集成电路装置或者系统上或与其相关联以及与诸如执行临界段的硬件/软件线程的其它资源结合地实现,所述集成电路装置或者系统比如为蜂窝电话,个人数字助理,嵌入式控制器,移动式平台,桌面平台,和服务器平台。此外,还关于在硬件锁省略(HLE)期间的临界段执行来主要地讨论后期锁获取方案。然而,在任何临界段执行方案期间,比如在事务性执行期间,都可使用后期锁的获取。-->参考图1,示出多核处理器100的实施例,其能够执行用于临界段的后期锁获取。如图所示,物理处理器100包括任何数量的处理部件。处理部件指代线程、进程、上下文、逻辑处理器、硬件线程、核和/或任何可能共享对处理器资源访问的处理部件,比如保留单元、执行单元、流水线和上级高速缓存/存储器。物理处理器通常指代集成电路,其可包括许任何数量的处理部件,比如核或者硬件线程。核通常指代位于集成电路上能够维持独立体系结构状态的逻辑,其中每一个独立维持的体系结构状态都与至少一些专用执行资源有关。与核相反,硬件线程通常指代位于集成电路上能够维持独立体系结构状态的任何逻辑,其中独立维持的体系结构状态共享对执行资源的访问。如图1中所示出的,物理处理器100包括双核,核101和102,它们共享对上级高速缓存110的访问。此外,核101包括两个硬件线程101a和101b,而核102包括两个硬件线程102a和102b。因此,诸如操作系统或者应用程序的软件实体可能将处理器100视为四个独立的处理器,同时处理器100能够执行四个软件线程。如同所看见的,当某些资源是共享的而其它资源专用于一个体系结构状态的时候,硬件线程和核的术语之间的界线是重叠的。然而通常,操作系统将核和硬件线程视为独立的逻辑处理器,其中操作系统能够独立地在每个逻辑处理器上调度操作。因此,处理部件包括任何能够维持上下文的上述实体,比如核,线程,硬件线程,逻辑处理机,虚拟机,或者其它的处理资源。在一个实施例中,处理器100是能够并行地执行多个线程的多核处理器。这里,第一线程与体系结构状态寄存器101a相关联,第二线程与体系结构状态寄存器101b相关联,第三线程与体系结构状态寄存器102a相关联,并且第四线程与体系结构状态寄存器102b相关联。在一个实施例中,对处理器100中的处理部件的参考,包括对核101和102、以及线程101a、101b、102a和102b的参考。在另一个实施例中,处理部件指的是在处理域的层级中在相同级别上的元件。例如,核101和102位于相同的域级别中,线程101a和101b位于核101中的相同域级别中,而线程101a、101b、102a和102b位于核101和102中的相同域级别中。尽管处理器100可包括不对称的核,即具有不同配置、功能单元和/或逻辑的核,但是在图1中示出对称的核。结果,将不会详细地讨论示出为与核101-->相同的核102,以避免使说明模糊不清。如同所说明的,在体系结构状态寄存器101b中复制了体系结构状态寄存器101a,因此能够为处理部件101a和处理部件101b存储独立的体系结构状态/上本文档来自技高网...

【技术保护点】
一种装置,包括: 处理部件,其执行临界段,所述临界段由开始临界段操作和终止临界段操作来划界,其中所述开始临界段操作参考锁值和地址; 存储区,其与处理部件相关联以保持与所述临界段相关联的项,所述项保持所述锁值;以及 后期锁获 取逻辑,其与所述存储区耦合,以响应于在所述临界段的未决期间遇到后期锁获取事件来尝试对地址的锁值更新。

【技术特征摘要】
US 2007-11-7 11/936,2491、一种装置,包括:
处理部件,其执行临界段,所述临界段由开始临界段操作和终止临界段操
作来划界,其中所述开始临界段操作参考锁值和地址;
存储区,其与处理部件相关联以保持与所述临界段相关联的项,所述项保
持所述锁值;以及
后期锁获取逻辑,其与所述存储区耦合,以响应于在所述临界段的未决期
间遇到后期锁获取事件来尝试对地址的锁值更新。
2、如权利要求1所述的装置,其特征在于,还包括与所述处理部件相
关联的高速缓存存储器,其中所述高速缓存存储器的线将与所述地址相关,并
且其中尝试对地址锁值更新的后期锁获取逻辑包括后期锁获取逻辑以尝试对高
速缓存存储器线的锁值更新。
3、如权利要求2所述的装置,其特征在于,存储区将在项堆栈中保存
项并且所述项还将保持地址的表示,并且其中所述开始临界段操作包括对所述地
址的锁值存储操作,当通过所述处理部件执行所述锁值的存储操作时,对与所
述临界段相关联的项而不是所述地址进行所述锁值的存储操作。
4、如权利要求3所述的装置,其特征在于,与所述处理部件相关联的
存储缓冲器将保持与所述锁值的存储相关的存储项,所述存储项包括阻塞代码
字段,其中与所述存储缓冲器相关的更新逻辑将响应于所遇到的后期锁获取事
件将所述阻塞代码字段更新为阻塞值。
5、如权利要求4所述的装置,其特征在于,更新逻辑响应于由后期锁
获取逻辑尝试用所述锁值更新高速缓存存储器线是成功的来将所述阻塞代码字
段更新为解锁值。
6、如权利要求5所述的装置,其特征在于,由后期锁获取逻辑尝试更
新高速缓存存储器线是成功的包括在所述高速缓存存储器线中表示解锁值的当
前值允许执行由锁值的后期锁获取逻辑所进行的更新。
7、如权利要求1所述的装置,其特征在于,后期锁获取事件是从由计
时器到期事件、填满的高速缓存集合事件以及不可撤回事件所组成的分组中挑
选出来。
8、一种装置,包括:
处理部件,其执行当前临界段以及后续的临界段;
与所述处理部件相关联的访问缓冲器,其保持与来自所述后续临界段的访
问操作相关联的访问项,所述访问缓冲器项包括阻塞代码字段,其中所述阻塞
代码字段将保持阻塞值以指示将阻止所述访问操作的分派;以及
与所述访问缓冲器相耦合的更新逻辑,其响应于检测到与所述当前临界段
相关联的后期锁获取事件来更新所述阻塞代码字段以保持阻塞值。
9、如权利要求8所述的装置,其特征在于,所述阻塞代码字段将默认
地保持解锁值以指示将要分派所述访问操作。
10、如权利要求8所述的装置,其特征在于,所述后期锁获取事件是从
由计时器期满事件、填满的高速缓存集合事件以及不可撤回事件所组成的分组
中挑选出来。
11、如权利要求8所述的装置,其特征在于,所述更新逻辑响应于检测
到所述后期锁获取事件以及响应于满足后期锁获取预先条件来将所述阻塞代码
字段更新为所述阻塞值。
12、如权利要求11所述的装置,其特征在于,所述后期锁获取预先条件...

【专利技术属性】
技术研发人员:H阿卡瑞R拉杰瓦ST斯里尼瓦桑
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1