[发明专利]硬件交易存储器的自动暂停及回复有效
| 申请号: | 201180010654.7 | 申请日: | 2011-02-22 |
| 公开(公告)号: | CN102906703B | 公开(公告)日: | 2016-10-19 |
| 发明(设计)人: | 郑在雄;D·S·克里斯蒂;M·P·豪马斯;S·戴斯特尔豪斯特;M·伯兰克 | 申请(专利权)人: | 先进微装置公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46 |
| 代理公司: | 北京戈程知识产权代理有限公司 11314 | 代理人: | 程伟;王锦阳 |
| 地址: | 美国,加*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 硬件 交易 存储器 自动 暂停 回复 | ||
背景技术
硬件交易存储器(HTM)为计算机架构里用来支持平行编程的机构。程序员可用HTM简单地宣告一组指令为一交易(transaction),而HTM系统保证可用原子及隔离的方式执行该交易中的指令。原子性(atomicity)意指对于所有其它并行执行的线程(thread),是以单一原子区块的身份执行该交易的所有指令。隔离意指交易的中间结果不暴露于系统的其余部分直到该交易完成。HTM系统可让多个交易平行运行,只要它们不冲突。两个交易在存取同一个存储器区以及这两个交易中的任一交易写到该存储器区时,可能冲突。
许多现有HTM设计在有程序控制转移(program control transfer)的情况下存在正确性及/或安全问题,例如回应系统呼叫、异常、中断、信号或其它事件而转移至操作系统。传统上,此类程序控制转移对于HTM系统可能是透明地发生。如果此一转移在交易执行(transactional execution)期间发生,操作系统代码可当作交易的一部分执行。这可能造成正确性及/或安全问题。在有些传统系统中,如果放弃在操作系统中执行的交易,可能发生意想不到的副作用。
在一实例中,考虑到TCP/IP网络装置驱动程序。在接收来自网络的封包时,触发中断以执行装置驱动程序代码。假设处理器在运行应用系统交易(application transaction)时收到中断。程序控制会被转移到装置驱动程序,以及在传统HTM系统下,该驱动程序会当作交易的一部分运行,因为传统HTM设计只考虑到在交易头尾间的所有指令为交易的一部分。
这种行为可能产生至少两个问题。第一,如果在装置驱动程序代码执行时放弃交易可能发生系统失效。例如,如果装置驱动程序配置成写入存储器映像寄存器(memory-mapped register)以管理网络接口硬件以及在改变寄存器值的当中放弃,则接口硬件可能处于不一致状态,而破坏网络系统的整体性。另外,在以上所给出的实例中,在装置驱动程序当作交易的一部分执行的期间或后,放弃交易可能造成网络连线丢失封包。例如,在驱动程序代码处理封包后,驱动程序送出应答信息(acknowledge message)给封包发送方。在此时,发送方可能删除该封包,因为不需要重新发送。不过,如果稍后放弃交易,则可能回滚(roll back)用来储存封包于接收方的存储器写入操作以及该封包可能永久丢失,从而违背TCP/IP系统的可靠通讯保证。
第二,安全问题为透明地跳到当作交易的一部分的操作系统代码的另一副作用。许多现代处理器支持安全特征以分离操作系统与应用系统代码执行。例如,x86架构允许操作系统及应用系统通过在系统呼叫的边界处切换代码段选择子(code segment selector)来使用不同的代码段及特权层级(privilege level)(例如,使用者层级与核心层级特权)。不过,传统HTM系统经常不设检查点(checkpoint)及管理处理器状态的一些部分,例如代码段选择子。当发源于使用者层级代码的交易执行操作系统的系统呼叫时,则特权层级会提高。如果放弃交易,传统HTM可能未配置成使特权层级恢复到较低的层级。因此,可能产生安全漏洞。恶意程序可能能够利用此一安全漏洞以在交易放弃后获得操作系统的特权层级。
发明内容
本发明揭示一种用于计算机处理器的装置及方法,该计算机处理器配置成存取由多个处理核心共享的存储器以及在交易模式下执行当作单一原子交易的多个存储器存取操作。该装置配置成回应一隐性暂停状况(implicit suspend condition)的判断而暂停该交易模式。作为执行该交易的一部分,该处理器标示(mark)所述推测存储器存取操作所存取的数据为推测数据(speculative data)。因应一隐性暂停状况的判断(包括通过侦测正被执行的一线程的一控制转移,例如转移至操作系统),该处理器暂停该交易执行模式,包括设定一暂停旗标以及暂停推测数据的标示。稍后,如果该处理器侦测到一回复状况(例如,通过侦测对应至该控制转移的返回的返回控制转移),该处理器通过回复推测数据的标示来回复该交易执行模式。
在一些具体实施例中,可进一步将该处理器配置成侦测到该原子交易在该交易被暂停时已失败。在一些具体实施例中,处理器可用以下方式回应侦测到被暂停的交易的失败:设定一放弃旗标,以及在企图回复该交易时检查该放弃旗标。如果该检查判断该放弃旗标已设定,则处理器放弃该交易。在一些具体实施例中,可将该处理器配置成保存/恢复放弃旗标及/或暂停旗标的数值作为执行脉络(execution context)的一部分。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于先进微装置公司,未经先进微装置公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180010654.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:家具侧滑门的弹性防脱机构
- 下一篇:一种门体限位装置





