[发明专利]用于将脏高速缓存行排出到持久性存储器的排出操作在审
申请号: | 202180061605.X | 申请日: | 2021-08-16 |
公开(公告)号: | CN116171426A | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 王伟;马修·詹姆斯·霍斯内尔 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 杨佳婧 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 高速缓存 排出 持久性 存储器 操作 | ||
本发明公开了一种装置,该装置具有支持事务性存储器的处理电路(4)和包括至少两级高速缓存的高速缓存分级结构(110,112,118)。响应于有可能在提交该事务之前导致存储在预定层级的高速缓存(110)之外的至少一个另外层级的高速缓存(112,118)中的状态丢失的排出触发事件,排出电路(170)执行排出操作来扫描该高速缓存分级结构的子集以识别脏高速缓存行并且将与该脏高速缓存行相关联的数据写入到持久性存储器(124),在该预定层级的高速缓存中由事务生成的推测性存储数据被标记为推测性的。该高速缓存分级结构的该子集包括该至少一个另外层级的高速缓存(112,118)。在该排出操作中,防止该预定层级的高速缓存(110)中标记为推测性的推测性存储数据被排出到该持久性存储器。
本技术涉及数据处理领域。
数据处理系统可以执行多个数据处理线程。有时,线程可能需要访问共享资源,并且数据处理操作的性质可能使得一旦线程开始与共享资源交互,就可能需要一组操作使用资源来原子地完成而同时没有另一个线程访问该资源。
用于处理线程之间的这种冲突的一种技术可以是使用锁来控制对至少一个目标资源的排他性访问。例如,当一个线程开始访问特定地址区域中的数据时,该线程可以设定锁变量来声明该锁的所有权,并且随后当该锁拥有线程具有该锁的所有权时,检查该锁变量的其它线程可以确定该锁已被声明并且因此可能无法进入与该地址区域交互的代码部分。此类基于锁的方法可被视为悲观的,因为每个线程默认假设它不能进入访问共享资源的代码部分,因为可能会发生与另一个线程的冲突,除非它具有锁的所有权,从而保证不会发生冲突。然而,锁标识通常可以控制对多个资源(例如,地址范围)的排他性访问,并且因此无法保证在一个线程正在访问由锁变量保护的资源集内的某些资源的情形下,另一个线程将肯定访问相同资源。因此,在线程之间的冲突很少的情况下,基于锁的方法可能导致性能损失,因为线程可能在进入使用共享资源的关键代码部分之前不必要地等待锁被释放。
用于处理访问共享资源的线程之间的冲突的更乐观的方法可以是使用事务性存储器支持。数据处理系统可以具有支持在数据处理线程内执行事务的电路。事务可以是在标记事务开始的事务开始指令与标记事务结束的事务结束指令之间执行的那些线程指令。在事务开始与结束指令之间,处理电路可以推测性地执行中间指令,并且在到达事务结束指令之前防止提交那些推测性地执行的指令的结果。在执行事务开始指令之后(但在到达事务结束指令之前)发生中止事件可能导致事务被中止并且推测性结果被丢弃。中止事务可能存在许多原因,但一个原因可能是检测到与由另一个线程进行的存储器访问的冲突。因此,利用这种方法,每个线程可以假设将不会与其它线程发生冲突,乐观地开始处理关键代码部分,并且随后在到达关键部分的结束而没有检测到任何冲突的情形下,可以提交事务的结果。在冲突很少的情况下,使用事务性存储器支持可以通过允许更多线程同时处理其关键代码部分来改善性能。
至少一些示例提供了一种装置,该装置包括:处理电路,该处理电路支持事务的处理,该事务包括在事务开始指令与事务结束指令之间推测性地处理的指令,针对该事务,该处理电路被配置为在不存在该事务被中止的情况下,在到达该事务结束指令之前防止提交该推测性地处理的指令的结果;以及包括至少两级高速缓存的高速缓存分级结构;其中:响应于在事务内处理的存储指令,该处理电路被配置为将推测性存储数据写入到该高速缓存分级结构,其中该推测性存储数据被标记为推测性的,以在提交该事务之前防止该推测性存储数据传递越过该高速缓存分级结构中的预定层级的高速缓存之外到达至少一个另外层级的高速缓存;并且该装置包括排出电路,该排出电路检测有可能导致存储在该至少一个另外层级的高速缓存中的状态丢失的排出触发事件,并且响应于检测到该排出触发事件而执行排出操作来扫描该高速缓存分级结构的子集以识别脏高速缓存行并且将与该脏高速缓存行相关联的数据写入到持久性存储器,该高速缓存分级结构的该子集包括该至少一个另外层级的高速缓存,其中在该排出操作中,该排出电路被配置为确保防止该预定层级的高速缓存中存储标记为推测性的推测性存储数据的脏高速缓存行被排出到该持久性存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202180061605.X/2.html,转载请声明来源钻瓜专利网。