[发明专利]在具有事务性存储器支持的系统中检查事务的锁定变量在审
| 申请号: | 201880063522.2 | 申请日: | 2018-08-30 |
| 公开(公告)号: | CN111164572A | 公开(公告)日: | 2020-05-15 |
| 发明(设计)人: | 马修·詹姆斯·霍斯内尔;斯蒂芬·迪斯特尔霍斯特 | 申请(专利权)人: | ARM有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/52;G06F9/30;G06F9/38 |
| 代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 林强 |
| 地址: | 英国*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 具有 事务性 存储器 支持 系统 检查 事务 锁定 变量 | ||
在具有事务性存储器支持的装置(2)中,预定类型的事务开始指令或在预定类型的事务开始指令之后的后续指令触发对锁定标识符的捕获,该锁定标识符标识用于控制对至少一个资源的独占访问的锁定变量。响应于在预定类型的事务开始指令之后的预定类型的事务结束指令,锁定变量被检查并且当锁定变量指示另一线程持有对目标资源的独占访问时,阻止或推迟对事务的推测性地执行的指令的结果的提交。此方法可以在基于事务性存储器的系统中执行事务时提高性能。
技术领域
本技术涉及数据处理领域。更具体地,本技术涉及事务性存储器。
背景技术
数据处理系统可以执行多个数据处理线程。有时,线程可能需要访问共享的资源,并且数据处理操作的性质可以是这样的,即一旦线程开始与共享的资源交互,则可能需要一组操作原子地使用资源来完成,而同时没有另一线程访问该资源。
用于处理线程之间的这种冲突的一种技术可能是使用锁定来控制对至少一个目标资源的独占访问。例如,当一个线程开始访问特定地址区域中的数据时,该线程可以设置锁定变量以声明对该锁定的所有权,并且然后在拥有锁定的线程具有该锁定的所有权时,其他检查锁定变量的线程可以确定该锁定已被声明,并且因此可能无法进入与该地址区域进行交互的代码段。这种基于锁定的方法可以将被视为悲观的,因为每个线程默认地假定它不能进入访问共享的资源的代码段,因为可能与另一线程发生冲突,除非它具有保证不发生冲突的锁定的所有权。然而,锁定标识符通常可以控制对多个资源(例如,地址范围)的独占访问,并且因此不能保证如果一个线程正在访问由锁定变量保护的资源集内的某些资源,则另一线程肯定会访问同一资源。因此,在线程之间的冲突很少发生的情况下,基于锁定的方法可能导致性能损失,因为线程可能不必要地在进入使用共享的资源的关键代码段之前等待锁定被释放。
发明内容
一种用于处理访问共享的资源的线程之间的冲突的更乐观的方法可以使用事务性存储器支持。数据处理系统可以具有支持由处理电路在数据处理的线程内执行事务的电路。事务可以是在标记事务开始的事务开始指令与标记事务结束的事务结束指令之间执行的线程的指令。在事务开始指令和事务结束指令之间,处理电路可以推测性地执行中间指令,并且阻止这些推测性地执行的指令的结果的提交,直到到达事务结束指令为止。在执行事务开始指令之后(但在到达事务结束指令之前)发生中止事件可能会导致事务被中止以及推测性结果被丢弃。中止事务可能有多种原因,但一个原因可能是检测到的与另一线程的存储器访问冲突。因此,利用这种方法,每个线程可以假设不会与其他线程发生冲突,从而乐观地开始处理关键代码段,并且然后,如果在没有检测到任何冲突的情况下到达关键段的末端,则可以提交事务的结果。在很少发生冲突的情况下,使用事务性存储器支持可以通过允许更多线程同时处理其关键代码段来提高性能。
至少一些示例提供了一种装置,包括:指令解码器,用于对指令进行解码;以及处理电路,用于响应于由指令解码器解码的指令来执行数据处理,处理电路包括事务性存储器支持电路,该事务性存储器支持电路用于支持处理电路在数据处理的线程内执行事务,该事务包括在事务开始指令与事务结束指令之间推测性地执行的线程的指令,针对该事务,处理电路被配置为阻止推测性地执行的指令的结果的提交,直到到达事务结束指令为止;其中,指令解码器被配置为控制处理电路以响应于给定线程的预定类型的事务开始指令或所述给定线程中所述预定类型的事务开始指令之后的后续指令,而捕获标识锁定变量的锁定标识符,该锁定变量用于控制对至少一个目标资源的独占访问;以及指令解码器被配置为控制处理电路以响应于在所述预定类型的事务开始指令之后执行的给定线程的预定类型的事务结束指令,检查由所捕获的锁定标识符标识的锁定变量,并且在锁定变量指示另一线程持有对所述至少一个目标资源的独占访问时,阻止或推迟针对给定线程的推测性地执行的指令的结果的提交。
至少一些示例提供了一种数据处理方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880063522.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:壳管式热交换器
- 下一篇:脱水糖醇薄片及其制备方法





