[发明专利]使用缓冲存储加速事务的机构有效
| 申请号: | 201080063965.5 | 申请日: | 2010-11-10 |
| 公开(公告)号: | CN102741806A | 公开(公告)日: | 2012-10-17 |
| 发明(设计)人: | A-R.阿德尔塔巴塔拜;Y.倪;B.萨哈;D.卡拉罕;V.巴辛;G.希菲尔 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/06 | 分类号: | G06F9/06;G06F9/22;G06F9/46;G06F3/06 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 汤春龙;朱海煜 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 缓冲 存储 加速 事务 机构 | ||
背景技术
软件事务存储器(STM)系统需要版本管理机构,版本管理机构保持事务内部修改的数据的多个版本。存在两种版本管理方法,其中每一个方法当用软件实现时都具有开销。第一种方法称为急切版本控制(eager versioning),其中在转返的情况下新数据值被写在适当地方,并且旧值被存储在撤销日志中。这种方法具有两个开销:在每次写时都保持撤销日志,并且在转返时从撤销日志恢复值。一些语言级TM存储器模型阻止使用急切版本控制,这是因为它使思索值(speculative values)对非事务访问而言是可见的。
第二种方法称为懒惰版本控制(lazy versioning),其中新数据值被写到软件写缓冲器中,并且然后在提交时将新数据值拷贝到它们的目的地位置。这种方法具有三个开销:保持软件写缓冲器,读时在软件写缓冲器中查找值,并且在提交时从软件写缓冲器拷贝值。懒惰版本控制可在遭遇时间(encounter time)或提交时间锁定所写数据,而急切版本控制可仅在遭遇时间锁定。如对于任一方法所看到的,对于STM系统,存在用于版本管理的显著开销。
附图说明
图1是根据本发明一个实施例的处理器的框图。
图2是根据本发明一个实施例处理器中保持数据项的元数据的框图。
图3A是根据本发明一个实施例、用于执行急切写锁定和监视的方法的流程图。
图3B是根据本发明一个实施例、用于在急切写监视和锁定事务中执行事务提交的方法的流程图。
图4A是根据本发明一实施例、用于执行懒惰写锁定和监视的方法的流程图。
图4B是根据本发明一个实施例、用于懒惰写监视和锁定事务的提交方法的流程图。
图5是根据本发明一个实施例、使用元数据来有效地确定对象的映像拷贝(shadow copy)的位置的方法的流程图。
图6是根据本发明一实施例的系统的框图。
具体实施方式
使用本发明的实施例,可提供硬件支持以缓冲值,从而对于具有适合于硬件缓冲器(例如高速缓存或其它有限大小的硬件缓冲器)中的写集合的事务加速版本管理。通过在高速缓存中缓冲事务写,可用硬件执行懒惰版本控制,从而消除软件版本管理的开销,并由此加速软件事务存储器系统。
实施例还可用于加速执行急切版本控制和懒惰版本控制的软件事务存储器系统,并且可与用于高速缓存驻留和无约束读集合的硬件支持组合。在一个实施例中,显式缓冲的存储指令(其可以是指令集架构(ISA)的用户级指令)可用于将事务写存储在高速缓存中。此外,显式写监视指令(其可以是ISA的不同用户级指令)可用于与缓冲的存储同时(遭遇时间写监视)或在提交时间(提交时间写监视)获取缓冲高速缓存行的独占所有权。在一些实现中,可使用单个指令执行缓冲写和写监视。对于基于本机代码和对象的系统都可使用根据本发明一实施例的这些用户级指令和其它技术。
如下面将进一步描述的,监视是可由软件用于支持更快速冲突检测、即试图并行运行的两个事务之间的冲突的硬件特征。一般而言,监视可用较低成本提供与软件锁类似的功能性。物理存储器的每个分区(监视块)都可对于每个线程具有私有读监视和写监视。备选地,可以用硬件隐式执行写屏障(write barrier)。在不同的实现中,可在遭遇时间或提交时间执行所访问数据值的锁定和写监视。注意,任何缓冲行的丢失(例如由于高速缓存溢出或另一事务的冲突访问)都引起事务中止和重新开始。
作为可用在无约束TM(UTM)系统中的实现背景,查看可用于UTM事务的示例硬件是有益的。一般而言,UTM事务允许结合可完全用硬件实现的事务(即高速缓存驻留事务)以及使用硬件和软件的组合执行的无约束事务来使用硬件。参考图1,例证了能够并发地执行多个线程的处理器实施例。注意,处理器100可包含对于硬件事务执行的硬件支持。根据本发明一实施例,结合硬件事务执行或者单独地,处理器100也可提供对于如下的硬件支持:STM的硬件加速、STM的单独执行、或其组合,例如UTM。处理器100可以是任何类型处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或执行代码的其它装置。所例证的处理器100包含多个处理单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080063965.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:RFID状况锁存
- 下一篇:触感提供装置和用于提供触感的方法





