[发明专利]针对事务型数据处理执行模式的调用堆栈维护有效
申请号: | 201580037126.9 | 申请日: | 2015-06-09 |
公开(公告)号: | CN106663026B | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 马修·詹姆斯·霍斯内尔;斯蒂芬·迪斯特尔霍斯特 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 林强 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 事务 数据处理 执行 模式 调用 堆栈 维护 | ||
提供了一种数据处理装置和数据处理方法,其涉及依据执行的数据处理指令而维护调用堆栈的处理器的操作。处理器被配置为在数据处理指令寻求访问与其它处理器电路共享的存储数据项时在事务执行模式中操作。当处理器进入它的事务执行模式时,它存储当前堆栈深度指示的副本并且此后,当在事务执行模式中操作时,对调用堆栈的其它修改与存储的堆栈深度指示的副本进行比较。如果要求的修改的相对堆栈位置处于相对于存储的副本的正向堆栈增长方向,则对调用堆栈的修改被标记为非推测性的。相反,如果对调用堆栈的修改要在不处于相对于存储的副本所指示的位置的正向堆栈增长方向的相对堆栈位置处做出,则该修改被标记为推测性的。在处于事务执行模式中时与维护调用堆栈相关联的写集合的大小因此能够被减小。
技术领域
本公开涉及数据处理。更具体地,它涉及对于在数据处理处于事务执行模式中时使用的调用堆栈数据结构的维护。
背景技术
数据处理器可被配置为依据它所执行的数据处理指令对调用堆栈进行维护,具体地数据处理器在遇到函数调用时把返回地址推送给调用堆栈,并且在函数结束时从调用堆栈中弹出该返回地址。在当代的数据处理装置中,提供不止一个数据处理器(例如,处理器核)(因为它带来性能增强)是常见的。然而,关于由这多个处理器执行的数据处理的某些约束因此必须被重视以确保由多个处理器执行的数据处理的结果是可预测的并且是确定性的。此情形的一个示例涉及由数据处理器在访问(例如,存储在系统存储器中的)数据结构时进行的事务执行,其中该数据结构被共享给系统中的至少一个其它数据处理器。此数据结构的共享意味着必须遵循某些协议以避免不同的数据处理器对共享数据结构做出并发修改所导致的数据冲突。数据处理装置中的每个数据处理器然后可被配置为:当操作于事务执行模式(即,在正尝试对共享数据结构的访问但尚未成功完成访问的时段期间)时,以推测性的方式更新调用堆栈,从而使得如果针对共享数据结构的事务执行没有成功地完成,则数据处理器能够丢弃推测性修改并且“回滚”至数据处理序列中最后已知的非推测点。
发明内容
根据第一示例配置,提供了一种装置,包括:处理器电路,被配置为执行数据处理指令,其中处理器电路被配置为依据它所执行的数据处理指令来维护调用堆栈数据结构,并且其中处理器电路被配置为在执行的数据处理指令访问与其它处理器电路共享的存储数据项时在事务执行模式中操作;以及事务前堆栈指针存储电路,被配置为存储调用堆栈数据结构的堆栈深度指示,其中处理器电路被配置为在进入事务执行模式前存储堆栈深度指示,其中处理器电路被配置为当在事务执行模式中操作时确定对调用堆栈数据结构的修改相对于堆栈深度指示的相对堆栈位置,并且如果相对堆栈位置处于相对于由堆栈深度指示所指示的位置的正向堆栈增长方向,则与修改相关联地存储该修改是非推测性的指示,并且如果相对堆栈位置不处于相对于由堆栈深度指示所指示的位置的正向堆栈增长方向,则与修改相关联地存储该修改是推测性的指示。
根据另一示例配置,提供了一种装置,包括:用于执行数据处理指令的装置;用于依据所执行的数据处理指令来维护调用堆栈数据结构的装置,其中用于执行数据处理指令的装置被配置为在执行的数据处理指令访问与其它用于执行数据处理指令的装置共享的存储数据项时在事务执行模式中操作;以及用于存储调用堆栈数据结构的堆栈深度指示的装置,其中堆栈深度指示在用于执行数据处理指令的装置进入事务执行模式前被存储;用于当在事务执行模式中操作时确定对调用堆栈数据结构的修改相对于堆栈深度指示的相对堆栈位置的装置;以及用于存储与修改相关联的指示的装置,其中如果相对堆栈位置处于相对于由堆栈深度指示所指示的位置的正向堆栈增长方向,则该指示显示修改是非推测性的,并且如果相对堆栈位置不处于相对于由堆栈深度指示所指示的位置的正向堆栈增长方向,则指示显示修改是推测性的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580037126.9/2.html,转载请声明来源钻瓜专利网。