[发明专利]用于在事务性存储器系统中实现强原子性的方法、装置和系统有效
申请号: | 201310487913.6 | 申请日: | 2008-12-30 |
公开(公告)号: | CN103544054B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | B·萨哈;A-R·阿德尔-塔巴塔拜;C·王;T·史佩斯曼 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 事务性 存储器 系统 实现 原子 方法 装置 | ||
1.一种方法,包括:
检测功能中的包括多个存储器操作的非事务性加载操作,所述非事务性加载操作从多个存储器位置中的第一存储器位置加载;
在所述功能中插入第一原子性操作以将全局事务值的副本存储为本地事务值(LTV);
插入第二原子性操作以将所述LTV与事务计数器值进行比较以确定事务在所述功能开始之后是否已更新了所述多个存储器位置中的任意存储器位置,当任意存储器位置被更新时所述事务计数器递增;以及
当所述事务计数器值与所述LTV的比较指示所述事务在所述功能开始之后已更新了所述多个存储器位置中的至少一个存储器位置时,插入第三原子性操作以分析与所述存储器位置中的所述第一存储器位置相关联的版本值,以确定所述存储器位置中的所述第一存储器位置在所述功能开始之后是否被更新,其中所述第一和第二原子性操作不包括锁操作,所述锁操作用于确定与所述存储器位置中的所述第一存储器位置相关联的锁是否是无主的。
2.如权利要求1所述的方法,其特征在于,还包括:响应于确定所述事务在所述功能开始之后已更新所述存储器位置中的至少一个存储器位置,插入所述锁操作以供执行。
3.如权利要求1所述的方法,其特征在于,所述第一原子性操作用于更新用于保持所述LTV的寄存器。
4.一种方法,包括:
在功能中检测非事务性加载操作,所述非事务性加载操作用于从多个存储器位置中的第一存储器位置加载;以及
响应于在所述功能中检测到所述非事务性加载操作,通过以下步骤确定所述多个存储器位置中的任意存储器位置在所述功能开始之后是否已被更新:
在所述功能中插入第一原子性操作以利用与全局事务值相对应的本地事务值(LTV)来更新寄存器;
插入第二原子性操作以将与所述多个存储器位置相关联的事务计数器值与所述LTV进行比较,当所述存储器位置中的任意存储器位置被更新时所述事务计数器值会递增;以及
当所述事务计数器值大于所述LTV时,插入第三原子性操作以分析与所述存储器位置中的所述第一存储器位置相关联的版本值,以确定所述存储器位置中的所述第一存储器位置在所述功能开始之后是否已被更新,其中所述第三原子性操作包括:
第一版本操作,用于获得与所述存储器位置中的所述第一存储器位置相关联的地址;以及
第二版本操作,用于计算编入事务记录表中的事务记录中的索引以获得所述版本值。
5.如权利要求4所述的方法,其特征在于,所述事务记录用于保持加锁值以指示所述存储器位置中的所述第一存储器位置为有主的,并用于保持所述版本值以指示所述存储器位置中的所述第一存储器位置为无主的,且其中所述加锁值包括在所述事务记录的最高有效位(MSB)中的逻辑1,且所述版本值包括在所述事务记录的所述MSB中的逻辑0。
6.如权利要求4所述的方法,其特征在于,所述第二原子性操作用于:
如果所述事务计数器值大于所述LTV,则确定所述存储器位置中的至少一个存储器位置在所述功能开始之后已被更新;以及
如果所述事务计数器值小于或等于所述LTV,则确定所述存储器位置中没有存储器位置在所述功能开始之后被更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310487913.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:安全输出电路的自检方法
- 下一篇:一种GIS用PT感应耐压二次可调补偿电感