【技术实现步骤摘要】
本专利技术涉及处理器执行领域,并且尤其涉及获取用于代码段执行的锁定。
技术介绍
在半导体处理和逻辑设计方面的进步已经允许在集成电路器件中可存在的逻辑数量上的增加。结果,计算机系统配置已经从系统中的单个或者多个集成电路演进成存在于单个集成电路上的多核以及多逻辑处理器。处理器或者集成电路通常包括单个处理器管 芯,其中处理器管芯可包括任意数量的核或者逻辑处理器。在集成电路上的核以及逻辑处理器数量的不断增加使得能够执行更多的软件线程。然而,可同时执行的软件线程数量上的增加已经造成了关于使诸软件线程间共享的数据同步的问题。一种在多核或者多逻辑处理器系统中访问共享数据的常用解决方案包括利用锁来确保对共享数据多个访问上的互斥。然而,执行多个软件线程的日益增加的能力潜在可能导致错误竞争和执行的串行化。例如,考虑一种持有共享数据的散列表。利用锁系统,程序员就可对整个散列表加锁,从而允许一个线程访问整个散列表。然而,其它线程的吞吐量和性能潜在可能受到不利影响,因为在锁被释放之前他们不能访问散列表中的任何项。或者,散列表中的每个项可被加锁。然而,这增加了编程复杂度,因为程序员不得不考虑在散列表之内更多的锁。另一种数据同步技术包括使用事务性存储器(TM)。通常事务性执行包括投机地执行多个微操作,操作,或者指令的编组。在上面的例子中,两个线程皆在散列表内执行,且其访问被监控/跟踪。如果两个线程访问/改变相同的项,则可能中断这两个事务中的一个来解决冲突。然而,一些应用程序可能不能利用事务性存储器编程,结果,通常称为硬件锁省略(HLE)的硬件数据同步技术被用于取消锁以获得类似于事务性 ...
【技术保护点】
【技术特征摘要】
2007.11.07 US 11/936,2491.一种设备,包括 解码逻辑,用于识别在临界段的开始处的、获取用于所述临界段的锁的锁指令; 执行逻辑,用于将所述获取用于所述临界段的锁的锁指令的至少一部分省略,将所述锁指令所参考的地址和锁值存储在锁项中,并执行所述临界段而不需要对所述临界段的锁;以及 后期锁获取逻辑,与所述执行逻辑耦合,所述后期锁获取逻辑用于使得所述执行逻辑响应于在所述临界段的未决期间遇到后期锁获取事件时尝试在所述临界段开始之后执行所述获取用于所述临界段的锁的锁指令的至少一部分,而不需要重新开始所述临界段。2.如权利要求I所述的设备,其特征在于,还包括与所述执行逻辑相关联的高速缓存存储器,其中所述锁指令参考所述锁值以及将与高速缓存存储器的线相关联的地址,并且其中所述后期锁获取逻辑用于使得所述执行逻辑尝试执行所述获取用于所述临界段的锁的锁指令包括如果所述高速缓存存储器的线表示所述临界段的锁是可用的,则所述后期锁获取逻辑用于使得所述执行逻辑执行将所述锁值存储到与所述地址相关联的所述高速缓存存储器的线。3.如权利要求2所述的设备,其特征在于,还包括 存储区,耦合到所述执行逻辑和所述后期锁获取逻辑,所述存储区用于将与所述锁值相关联的地址保持在锁项堆栈的锁项中;以及 检测逻辑,耦合到所述解码逻辑和所述执行逻辑,所述检测逻辑用于识别所述锁指令的至少一部分将被省略以及所述执行逻辑省略所述锁指令的至少一部分的原因,其中所述锁指令的至少一部分包括对所述锁值的地址的存储。4.如权利要求3所述的设备,其特征在于,与所述指令逻辑相关联的存储缓冲器用于保持与所述锁值的地址的存储相关的存储缓冲器项,所述存储缓冲器项用于保持阻塞代码字段,其中与所述存储缓冲器相关联的更新逻辑响应于所遇到的后期锁获取事件而将所述阻塞代码字段更新为阻塞值。5.如权利要求4所述的设备,其特征在于,所述更新逻辑响应于后期锁获取逻辑使所述执行逻辑成功地完成对获取用于所述临界段的锁的锁指令的尝试执行,而将所述阻塞代码字段更新为解锁值。6.如权利要求5所述的设备,其特征在于,所述锁指令包括读取修改写入(RMW)指令,且RMW指令的读取操作包括有存储意图的加载(LSI)操作,并且其中所述后期锁获取逻辑使所述执行逻辑成功地完成对获取用于所述临界段的锁的锁指令的尝试执行包括所述后期锁获取逻辑使所述执行逻辑执行所述LSI操作以从所述地址加载一加载值;执行修改操作以将所述加载值从可用值修改为所述锁值;并将所述锁值写入所述地址以获取所述锁。7.如权利要求I所述的设备,其特征在于,所述后期锁获取事件是从包括下述的组中选择的计时器的到期,其指示在预定量的时间内所述解码逻辑没有检测到与所述锁指令相对应的锁释放指令;高速缓存集合中的所有线均包括投机信息的检测;以及不可撤回事件的发生。8.一种装置,包括 处理部件,用于执行当前临界段以及后续临界段,其中所述处理部件进一步用于省略所述当前临界段的开始处以及后续临界段的锁获取; 访问缓冲器,与所述处理部件相关联,所述访问缓冲器用于保持与来自所述后续临界段的访问操作相关联的访问项,所述访问缓冲器项用于括阻塞代码字段,其中响应于所述访问项保持包括阻塞值的阻塞代码字段,而将阻止来自所述后续临界段的访问操作的分派;以及 更新逻辑,与所述访问缓冲器相耦合,所述更新逻辑在所述处理部件省略了用于当前临界段的锁获取之后,响应于所述处理部件尝试用于当前临界段的后期锁获取而更新所述阻塞代码字段为包括阻塞值,而不需要重新开始当前临界 段。9.如权利要求8所述的设备,其特征在于,所述阻塞代码字段用于默认地保持解锁值,其中响应于所述阻塞代码字段包括所述解锁值,所述访问操作无须被分派。10.如权利要求8所述的设备,其特征在于,尝...
【专利技术属性】
技术研发人员:H·阿卡瑞,R·拉杰瓦,S·T·斯里尼瓦桑,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。