当前位置: 首页 > 专利查询>ARM有限公司专利>正文

缓存行状态制造技术

技术编号:20841728 阅读:22 留言:0更新日期:2019-04-13 08:39
本公开涉及缓存行状态。公开了一种控制缓存存储器的方法,所述缓存存储器包括缓存行,所述缓存行被配置为存储数据条目,这些数据条目表示当存储器访问指令包括对应于与缓存行相关联的标签的存储器标识符时可以从缓存存储器取回的数据。与所述缓存行相关联的所述标签包括与独立缓存行相关联的独立标签部分,以及可以与多个缓存行相关联的可共享标签部分。所述独立标签部分包括指向可共享标签存储器位置的指针,该可共享标签存储器位置包括可共享标签部分。

【技术实现步骤摘要】
缓存行状态
本专利技术涉及缓存存储器和控制数据处理系统中的缓存存储器的方法。
技术介绍
已知具有缓存存储器的数据处理系统。与访问存储器在数据处理系统的主存储器中的相同数据相比,缓存存储器可以更快且更高效地访问存储器在其中的常用数据。与主存储器相比,缓存存储器通常具有有限的大小,因此在任何给定时间,仅存储器在主存储器内的数据的子集也存储器在缓存存储器内。期望提供更高效地使用其可用存储器空间的缓存存储器。
技术实现思路
根据本公开的第一方面,提供了一种控制缓存存储器的方法,所述缓存存储器包括缓存行,所述缓存行被配置为存储数据条目,这些数据条目表示当存储器访问指令包括对应于与缓存行相关联的标签的存储器标识符时可以从缓存存储器取回的数据。与所述缓存行相关联的所述标签包括与独立缓存行相关联的独立标签部分,以及可以与多个缓存行相关联的可共享标签部分,所述独立标签部分包括指向可共享标签存储器位置的指针,该可共享标签存储器位置包括可共享标签部分。所述方法包括:允许重复使用所选的可共享标签存储器位置,并且因此将包括在其中的第一可共享标签部分更新为第二可共享标签部分。识别与独立标签部分相关联的一个或多个缓存行,所述独立标签部分包括指向所选的可共享标签存储器位置的指针;并且为每个所述标识的缓存行设置给定的缓存行状态,其中所述给定的缓存行状态:a)允许关于在设置所述给定缓存行状态之前接收的存储器访问指令继续使用缓存行;并且b)禁止关于在设置给定缓存行状态之后接收的存储器访问指令使用缓存行。在一些实例中,所述方法包括在设置所述给定状态之前设置较早的缓存行状态,所述较早的缓存行状态防止所述所选的可共享标签存储器位置被重复使用。所述方法可以包括:在向数据存储器发送存储器访问指令以取回用于作为所述缓存行的一部分存储的数据之前为缓存行设置所述较早的缓存行状态。在一些实例中,所述方法包括在设置所述给定状态之前和在向数据存储器发送存储器访问指令以取回用于作为所述缓存行的一部分存储的数据之后为缓存行设置中间缓存行状态。所述中间缓存行状态允许重复使用所述选择的可共享标签存储器位置。所述中间缓存行状态可以是第一中间缓存行状态,并且所述方法可以包括在基于对所述数据存储器的所述存储器访问指令将数据作为所述缓存行的一部分存储在所述缓存存储器中之后为所述缓存行设置第二中间缓存行状态。所述第二中间缓存行状态允许重复使用所述选择的可共享标签存储器位置。在一些实例中,所述给定缓存行状态包括第一给定缓存行状态和第二给定缓存行状态之一。所述方法可以包括:为下述所识别的缓存行设置所述第一给定缓存行状态:针对所识别的缓存行对应的存储器访问指令已经被发送到数据存储器以取回作为每个相应缓存行的一部分进行存储的相应的数据;并且为下述所识别的缓存行的每一个设置所述第二给定缓存行状态:针对所识别的缓存行各个数据作为每个相应缓存行的一部分被存储在所述缓存存储器中。在一些实例中,所述方法包括在所述给定状态之后设置后一个缓存行状态,所述后一个缓存行状态允许重复使用所述缓存行。所述方法可以包括:确定依赖于具有所述给定缓存行状态的每个所识别的缓存行的相应数量的指令;并且为所识别的相应数量的从属指令为零的缓存行的每一个设置所述后一个缓存行状态。在一些实例中,所述方法当允许关于在设置所述给定缓存行状态之前以及在重复使用所述选定的可共享标签存储器位置之前接收的存储器访问指令继续使用缓存行时包括:锁定所述缓存行;获取缓存存储器中的缓存行的索引;并且将索引和存储器访问指令的标识符作为条目存储在缓存中。所述方法可以进一步包括:将所述存储器访问指令中继到所述数据存储器以取回用于作为缓存存储器的一部分存储在所述缓存存储器中的数据;在所述缓存存储器处接收所述数据;识别所述缓冲器中与所述存储器访问指令的标识符相对应的条目;从所述缓冲器中的条目获取所述缓存存储器中缓存行的索引;基于所述索引访问所述缓存存储器中的缓存行;并且将所述数据作为所述缓存行的一部分进行存储。在一些实例中,所述方法在重复使用所选的可共享标签存储器位置之前包括:接收对未存储在缓存存储器中的数据的请求;分配缓存行以将所述数据存储器在缓存存储器中;向所述数据存储器发送存储器访问指令以取回用于作为所述缓存行的一部分存储的数据;使所述存储器访问指令的标识符与所述缓存存储器中的所述缓存行的索引相关联。在一些实例中,所述方法包括:在缓存存储器处接收与提交给数据存储器的存储器访问指令相关联的数据之后,基于存储器访问指令的标识符获得所述的缓存行的索引;并且将表示数据的数据条目作为缓存存储器中的所述缓存行的一部分进行存储。在一些实例中,所述方法包括:接收与由存储器在所识别的缓存行之一中的数据条目表示的数据相对应的存储器访问指令;以及基于具有给定缓存行状态的所述缓存行来发信号通知缓存未命中。在一些实例中,所述方法包括,对于缓存存储器的每个缓存行,在数据结构中存储:第一数据值,表示相应的缓存行是否与所选的可共享标签存储器位置相关联;第二数据值,表示相应的缓存行是否与未决的存储器访问指令相关联。在一些实例中,所述方法包括确定与所选的可共享标签存储器位置相关联的缓存存储器的多个缓存行。在一些实例中,所述方法包括:接收刷新指令以清除存储在所述缓存存储器中的数据;为缓存存储器的每个缓存行设置给定的缓存行状态;根据每个缓存行确定多个指令;并且响应于确定用于缓存存储器中的缓存行的子集的依赖于每个缓存行的指令的数量为零,清除作为缓存行的子集中的每个缓存行的一部分存储的数据。根据本公开的第二方面,提供了一种缓存存储器,所述缓存存储器被配置为执行第一方面的任何所述方法。根据本公开的第三方面,提供了一种数据处理系统,所述数据处理系统包括:处理器,被配置为输出存储器访问指令;以及缓存存储器,包括缓存控制电路,所述缓存控制电路被配置为执行第一方面的任何所述方法。附图说明图1示出了根据实例的包括主存储器和缓存存储器的数据处理系统的示意图。图2示出了图示根据实例的控制缓存存储器的方法的流程图。图3示出了根据实例的包括在缓存存储器中的缓存行的示意性状态过渡图。具体实施方式在本说明书中,出于解释的目的,阐述了某些实例的许多具体细节。说明书中对“实例”或类似语言的指代意味着结合该实例描述的特定特征、结构或特性至少包括在该实例中,但不一定包括在其他实例中。还应当注意,为了容易解释并理解实例的基本概念,示意性地描述了某些实施例,其中省略和/或必然简化某些特征。图1示意性地示出了包括处理器110、主存储器120和缓存存储器130的数据处理设备100。缓存存储器130设置在处理器110和主存储器120之间,并且可以用于存储或缓存存储在主存储器120中的数据的子集125。处理器110可以是能够读取并执行程序指令的处理器核。与主存储器120相比,缓存存储器130可以是更小、更快的存储器,并且可以提供更快和/或更高效的访问(例如,使用更少的能量)缓存存储器130中缓存的任何给定数据(与从主存储器120访问给定数据相比)。缓存存储器130可以是被配置为存储从主存储器120取出的可执行指令的指令缓存、用于存储从主存储器120取出的数据的数据缓存、能够执行这两个功能的缓存或者作为存储器管理单元(mmU)的一本文档来自技高网...

【技术保护点】
1.一种控制包括缓存行的缓存存储器的方法,所述缓存行被配置为存储数据条目,所述数据条目表示当存储器访问指令包括对应于与缓存行相关联的标签的存储器标识符时能够从所述缓存存储器取回的数据,其中,与所述缓存行相关联的所述标签包括与独立缓存行相关联的独立标签部分以及能够与多个缓存行相关联的可共享标签部分,所述独立标签部分包括指向可共享标签存储器位置的指针,所述可共享标签存储器位置包括可共享标签部分,所述方法包括:允许重复使用所选的可共享标签存储器位置,并且因此将包括在其中的第一可共享标签部分更新为第二可共享标签部分;识别与独立标签部分相关联的一个或多个缓存行,所述独立标签部分包括指向所选的可共享标签存储器位置的指针;并且为每个所述标识的缓存行设置给定的缓存行状态,其中所述给定的缓存行状态:a)允许关于在设置所述给定缓存行状态之前接收的存储器访问指令继续使用缓存行;并且b)禁止关于在设置给定缓存行状态之后接收的存储器访问指令使用所述缓存行。

【技术特征摘要】
2017.09.13 GB 1714757.01.一种控制包括缓存行的缓存存储器的方法,所述缓存行被配置为存储数据条目,所述数据条目表示当存储器访问指令包括对应于与缓存行相关联的标签的存储器标识符时能够从所述缓存存储器取回的数据,其中,与所述缓存行相关联的所述标签包括与独立缓存行相关联的独立标签部分以及能够与多个缓存行相关联的可共享标签部分,所述独立标签部分包括指向可共享标签存储器位置的指针,所述可共享标签存储器位置包括可共享标签部分,所述方法包括:允许重复使用所选的可共享标签存储器位置,并且因此将包括在其中的第一可共享标签部分更新为第二可共享标签部分;识别与独立标签部分相关联的一个或多个缓存行,所述独立标签部分包括指向所选的可共享标签存储器位置的指针;并且为每个所述标识的缓存行设置给定的缓存行状态,其中所述给定的缓存行状态:a)允许关于在设置所述给定缓存行状态之前接收的存储器访问指令继续使用缓存行;并且b)禁止关于在设置给定缓存行状态之后接收的存储器访问指令使用所述缓存行。2.如权利要求1所述的方法,包括在设置所述给定状态之前设置较早的缓存行状态,所述较早的缓存行状态防止所述所选的可共享标签存储器位置被重复使用。3.如权利要求2所述的方法,包括:在向数据存储器发送存储器访问指令以取回用于作为所述缓存行的一部分存储的数据之前,为缓存行设置所述较早的缓存行状态。4.如权利要求1至3中任一项所述的方法,包括在设置所述给定状态之前和在向数据存储器发送存储器访问指令以取回用于作为所述缓存行的一部分存储的数据之后为缓存行设置中间缓存行状态,其中所述中间缓存行状态允许重复使用所述选择的可共享标签存储...

【专利技术属性】
技术研发人员:安东尼奥·加西亚·吉拉多
申请(专利权)人:Arm有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1