[发明专利]跟踪推测数据缓存在审
| 申请号: | 201980025052.5 | 申请日: | 2019-03-21 |
| 公开(公告)号: | CN111954870A | 公开(公告)日: | 2020-11-17 |
| 发明(设计)人: | 伊恩·考菲尔德;彼得·格林哈尔;弗雷德里克·皮里;阿尔宾·皮尔里克·托内尔 | 申请(专利权)人: | ARM有限公司 |
| 主分类号: | G06F12/0891 | 分类号: | G06F12/0891;G06F9/30;G06F9/38 |
| 代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 杨佳婧 |
| 地址: | 英国*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 跟踪 推测 数据 缓存 | ||
公开了一种设备和操作数据处理设备的方法。所述设备包括数据处理电路,所述数据处理电路用于响应于指令序列而执行数据处理操作,其中所述数据处理电路能够执行所述指令序列中的至少一些指令的推测执行。包括条目的缓存结构存储经受所述数据处理操作的数据项的临时副本,并且推测执行跟踪电路监视所述推测执行的正确性,并且响应于不正确推测执行的指示而使得所述缓存结构中通过所述不正确推测执行而分配的条目从所述缓存结构中被驱逐。
技术领域
本技术涉及数据处理的领域。具体而言,本技术涉及数据处理设备中的推测执行。
背景技术
响应于指令序列而执行数据处理操作的数据处理设备可以推测地执行那些指令中的至少一些。推测执行是指在确定地知道分支的结果之前在分支外执行指令的过程。在数据处理设备能够足够准确地基于先前结果预测分支的结果的情况下,设备在分支的预测结果将发生、从而冒着偶尔推测将不正确并且必须“撤消”推测地执行的指令的风险的假设下推测地继续执行指令是更高效的。这呈现了总体上比在继续进行之前等待直到知道分支结果为止更高效的方法。这样的数据处理设备也可以被提供有至少一个缓存,以存储作为其数据处理操作的主体的数据项的临时副本。
发明内容
至少一些示例提供一种设备,所述设备包括:数据处理电路,所述数据处理电路用于响应于指令序列而执行数据处理操作,其中所述数据处理电路能够执行所述指令序列中的至少一些指令的推测执行;包括条目的缓存结构,所述缓存结构用于存储经受所述数据处理操作的数据项的临时副本;和推测执行跟踪电路,所述推测执行跟踪电路用于监视所述推测执行的正确性,并且响应于不正确推测执行的指示而使得所述缓存结构中通过所述不正确推测执行而分配的条目从所述缓存结构中被驱逐。
至少一些示例提供一种操作数据处理设备的方法,所述方法包括:响应于指令序列而执行数据处理操作,其中执行所述数据处理操作包括执行所述指令序列中的至少一些指令的推测执行;将经受所述数据处理操作的数据项的临时副本存储在缓存结构的条目中;监视所述推测执行的正确性;以及响应于不正确推测执行的指示,使得所述缓存结构中通过所述不正确推测执行而分配的条目从所述缓存结构中被驱逐。
至少一些示例提供一种设备,所述设备包括:用于响应于指令序列而执行数据处理操作的装置,其中执行所述数据处理操作包括执行所述指令序列中的至少一些指令的推测执行;用于将经受所述数据处理操作的数据项的临时副本存储在缓存结构的条目中的装置;用于监视所述推测执行的正确性的装置;以及用于响应于不正确推测执行的指示而使得所述缓存结构中通过所述不正确推测执行而分配的条目从所述缓存结构中被驱逐的装置。
附图说明
参考如附图中图示的实施例,将仅通过示例进一步描述本技术,在附图中:
图1示意性地图示一个示例实施例中的数据处理设备;
图2A示意性地图示一个示例实施例中的数据处理设备;
图2B示意性地图示一个示例实施例中的数据处理设备;
图3A示出在一个示例实施例中由推测执行跟踪电路保持的信息;
图3B示出在一个示例实施例中与数据缓存中的缓存行关联地保持的信息;
图4A示出在一个示例实施例中由推测执行跟踪电路保持的信息;
图4B示出在一个示例实施例中与数据缓存中的缓存行关联地保持的信息;
图5A和图5B示意性地图示示例实施例中的数据缓存中的缓存查找程序;
图6是示出在一个示例实施例中在数据缓存中分配缓存行的过程的流程图;以及
图7是示出在一个示例实施例中如何驱逐某些数据缓存条目的流程图。
具体实施例
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980025052.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





