CN112470134A - 处理保护标签丢失 - Google Patents

处理保护标签丢失 Download PDF

Info

Publication number
CN112470134A
CN112470134A CN201980048946.6A CN201980048946A CN112470134A CN 112470134 A CN112470134 A CN 112470134A CN 201980048946 A CN201980048946 A CN 201980048946A CN 112470134 A CN112470134 A CN 112470134A
Authority
CN
China
Prior art keywords
tag
protection tag
protection
memory access
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980048946.6A
Other languages
English (en)
Inventor
理查德·罗伊·格里森思怀特
格雷姆·彼得·巴尔内斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd filed Critical ARM Ltd
Publication of CN112470134A publication Critical patent/CN112470134A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Abstract

公开了一种包括存储器存取电路以响应于接收到的目标地址来执行标签保护的存储器存取的装置及其操作方法。在该标签保护的存储器存取中,保护标签检索操作寻求检索与一个或多个存储器位置的块相关联地存储的保护标签,这些存储器位置包括由接收到的目标地址识别出的经寻址位置,并且保护标签检查操作比较与接收到的目标地址相关联的地址标签与由该保护标签检索操作检索到的保护标签。当保护标签检索操作在检索保护标签中不成功时,将替代保护标签值存储为与一个或多个存储器位置的块相关联的保护标签,这些存储器位置包括由目标地址识别出的经寻址位置。

Description

处理保护标签丢失
技术领域
本技术涉及数据处理的领域。
背景技术
数据处理系统可以通过提供保护标签来使用防止某些使用错误的技术,这些保护标签与一个或多个存储器位置的块相关联地存储在存储器系统中。当对存储器系统存取时,可以将与存储器存取相关联的地址标签与从存储器系统检索到的保护标签进行比较,并且通过该两者之间的不匹配来识别存储器使用错误。相反,两者之间的匹配可指示存储器,并且特别是,相关的存储器位置被正确地使用。
发明内容
至少一些示例提供一种装置,该装置包括:存储器存取电路,用于响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括保护标签检索操作,该保护标签检索操作检索与包括由该接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及保护标签检查操作,该保护标签检查操作将与该接收到的目标地址相关联的地址标签与由该保护标签检索操作检索的保护标签进行比较,其中该存储器存取电路响应于保护标签检索操作在检索该保护标签时不成功,以使得将替代保护标签值存储为与包括由该目标地址识别出的该经寻址位置的一个或多个存储器位置的块相关联地存储的该保护标签。
至少一些示例提供一种方法,该方法包括响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括以下步骤:检索与包括由该接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及将与该接收到的目标地址相关联的地址标签与在该检索步骤中检索的该保护标签进行比较,以及当该保护标签检索操作在检索该保护标签中不成功时,使得将替代保护标签值存储为与包括由该目标地址识别出的该经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签。
至少一些示例提供一种计算机程序,该计算机程序用于控制主机数据处理装置以提供用于执行目标程序代码的指令的指令执行环境,该计算机程序包括存储器存取逻辑,该存储器存取逻辑用于响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括保护标签检索操作,该保护标签检索操作用于检索与包括由该接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及保护标签检查操作,该保护标签检查操作将与该接收到的目标地址相关联的地址标签与由该保护标签检索操作检索的该保护标签进行比较,其中该存储器存取逻辑响应于该保护标签检索操作在检索该保护标签中不成功,以导致将替代保护标签值存储为与包括由该目标地址识别出的该经寻址位置的一个或多个存储器位置的块相关联地存储的该保护标签。
一种可存储上述计算机程序的存储介质。该存储介质可为非暂态存储介质。
附图说明
仅通过示例,将参考如附图所示的本技术实施例来进一步描述本技术,以便结合以下描述进行阅读,其中:
图1示意性地图示数据处理装置的示例;
图2示出包括检查地址标签是否匹配保护标签的标签保护的存储器存取操作的示例;
图3为示出执行标签保护的存储器存取操作的方法的流程图;
图4A示意性地图示存储在缓存中的缓存行,该缓存行可以被逐出至另一缓存级或存储器,并在填充操作中返回至缓存,并且图4B示意性地图示如何可以通过逐出缓存行来丢失保护标签;
图5示意性地图示一个实施例中的存储器存取电路;
图6A示意性地图示一个实施例中的形成存储器存取电路的一部分的保护标签检查电路;
图6B示意性地图示一个实施例中的形成存储器存取电路的一部分的保护标签检查电路;
图7A示意性地图示一个实施例中的形成存储器存取电路的一部分的保护标签检查电路;
图7B示意性地图示一个实施例中的形成存储器存取电路的一部分的保护标签检查电路;
图8A示意性地图示存储在缓存中的缓存行,其中每一数据项具有存储相关联标签以及指示标签值是否已丢失的另一标志值的能力;
图8B示意性地图示存储在缓存中的缓存行,其中使用特定标签值来指示丢失的标签值;
图9为示出一个实施例中的读取保护标签并将其与地址标签进行比较的一系列步骤的流程图;
图10A示意性地图示可以修改或抑制用于推测性存储器存取的保护标签检查的存储器存取电路;
图10B示出图10A的变体,根据该变体,可以根据存储器存取的不同存取特性来抑制或改变保护标签检查;以及
图11示出支持存储器存取逻辑的模拟器的示例。
具体实施方式
在本文中的一个示例中,存在一种装置,该装置包括:存储器存取电路,该存储器存取电路用于响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括保护标签检索操作,该保护标签检索操作检索与包括由该接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及保护标签检查操作,该保护标签检查操作将与该接收到的目标地址相关联的地址标签与由该保护标签检索操作检索的保护标签进行比较,其中该存储器存取电路响应该保护标签检索操作在检索该保护标签中不成功,以使得将替代保护标签值存储为与包括由该目标地址识别出的该经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签。
在支持标签保护的存储器存取的数据处理系统中,存储器存取电路可以确定与存储器存取相关联的地址标签是否匹配与存储器存取经寻址的存储器位置相关联地存储的保护标签。然而,本技术认识到,存在不保证与该存储器位置相关联地存储的保护标签的可用性的情况。例如,在支持标签保护的存储器存取的一些方法中,可与缓存中的数据相关联地产生并存储保护标签,但不与持久性存储器中所存储的数据相关联。例如,可能出于向后兼容性的原因而采取此方法,因为存储器系统可能不支持与数据值相关联的保护标签的附加存储,或者是出于存储经济的原因,其中确定持久地存储与数据值相关联的保护标签所需要的附加存储空间被认为是不合理的。然而,这因而意味在包括被布置以执行标签保护的存储器存取的存储器存取电路的装置中,作为该标签保护的存储器存取电路的一部分的保护标签的可用性可以变化。本技术通过提供存储器存取电路而解决了此问题,当保护标签不可用(并且因而保护标签检索操作不成功)时,该存储器存取电路导致与相关的一个或多个存储器位置相关联地存储替代保护标签值。可以各种方式配置对替代保护标签值的存储,特别是在选择该替代保护标签值是什么方面,并且这提供了系统配置的可用灵活性。对替代保护标签值的选择还使得存储器存取电路能够接着影响在后续存储器存取操作中如何处理数据值及其相关联的保护标签。
可以各种方式定义替代保护标签值,但在一些实施例中,该替代保护标签值被选择以匹配与在保护标签检查操作中接收到的目标地址相关联的地址标签。这因此意味使用并提供同一地址标签对同一目标地址的后续存储器存取将因而也匹配。应注意,对地址标签与保护标签之间的匹配的定义可以变化,且对于待确定的匹配而言,整个保护标签可能未必匹配整个地址标签。然而,在一些实施例中,可能要求该两者相同。鉴于此,在一些实施例中,替代保护标签值为与接收到的目标地址相关联的地址标签。
假设大部分存储器存取是合法地执行(即,预期地址标签匹配保护标签),可采用此种以地址标签的值来替换丢失的保护标签值(或至少使得该两者将被确定为匹配)的方法,且因此在大多数情况下,此方法将用保护标签的正确值基本上“修复”该保护标签。然而,即使导致替代保护标签值的存储的存储器存取实际上不正确(即,在已找到该正确的保护标签值的情况下,所提供的地址标签尚不匹配正确的保护标签值),仍可在对同一存储器位置的下一次存取时识别出此不匹配,因为提供自己的地址标签的后续存取将因而不匹配,且后续标签保护的存储器存取的此失败可在需要时触发重新评估保护标签应是什么及其校正。
例如,通过向处理器设备(其可执行软件以确定正确的保护标签值)发信号通知标签保护的存储器存取的失败,可以确定保护标签值应是什么。或者,可为如下情形:保护标签值的备份被存储在次要位置处,且可接着被存取,以便在使得保护标签的正确值被作为替代保护标签值存储之前确定保护标签的正确值应是什么。因此,在一些实施例中,存储器存取电路响应保护标签检索操作在检索保护标签中不成功,以启动将保护标签的先前定义值确定为替代保护标签值。
如上所述,保护标签的先前定义值的确定可通过软件执行,且因此在一些实施例中,存储器存取电路响应保护标签检索操作在检索保护标签方面不成功,以使装置的指令执行电路采取异常,其中指令执行电路响应该异常以执行保护标签修复异常例程,该保护标签修复异常例程包括确定保护标签的先前定义值。
在标签保护的存储器存取包括保护标签检查操作(其中比较地址标签与保护标签)的情况下,可提供机制以在保护标签检索操作不成功的情形下影响该比较的结果。在一些实施例中,存储器存取电路响应于保护标签检索操作在检索保护标签中不成功,以确定保护标签检查操作的结果为在与接收到的目标地址相关联的地址标签与保护标签之间建立匹配。因此,当保护标签检索操作不成功且因此不可能进行(丢失)保护标签与地址标签之间的比较时,此提供:尽管存储器存取电路仍可确定已在地址标签与保护标签之间建立了匹配,使得装置中的使用保护标签检查的结果的后续机构可继续像已发现了匹配那样操作。
可以各种方式达成保护标签检查操作的该重写,诸如对保护标签检查操作的输出的显式重写,但在一些实施例中,存储器存取电路响应于保护标签检索操作在检索保护标签中不成功,以将保护标签视为具有预定的全匹配特性,使得在与接收到的目标地址相关联的地址标签与保护标签之间建立了匹配。因此,在已定义的保护标签值的范围内,特定的保护标签值可用于意味“全匹配”,即,这将被确定为与任何与之相比较的地址标签值匹配。可接着在保护标签检索操作不成功的情形下将该特定保护标签值用作替代保护标签值,或者保护标签检查可被配置为使得在保护标签检索操作不成功的情形下再现它所产生的用于与全匹配进行比较的响应。
预定的全匹配特性可为保护标签的特定值,或可为与保护标签相关联的信息的附加项。因此,在一些实施例中,预定全匹配特性为保护标签的预定值,而在其他实施例中,预定全匹配特性为与保护标签相关联的一组全匹配标志存在。
当保护标签检索操作在检索保护标签中不成功时,可以某种方式捕获该信息,且因此在一些实施例中,存储器存取电路响应于保护标签检索操作在检索保护标签中不成功,以产生丢失保护标签的指示。可接着以各种方式使用此丢失保护标签的指示,以触发特别期望的响应,或者例如累积与保护标签的丢失有关的统计值。
因而,在一些实施例中,存储器存取电路被布置为与接收到的目标地址相关联地存储丢失保护标签的指示。因此,可明确地将存储器存取的目标标记为丢失了其保护标签。
在一些实施例中,存储器存取电路被布置为向处理器单元用信号通知丢失保护标签的指示。处理器单元可接着以适当方式响应或监视。
在一些实施例中,存储器存取电路响应于保护标签检索操作在检索保护标签中不成功,以递增丢失保护标签的计数器。该丢失保护标签的计数器可因此累积关于有多频繁地丢失保护标签的统计值。可适当地在系统中的各种位置处提供此丢失保护标签的计数器,无论是在存储器存取电路自身内还是别处。
本技术认识到,执行标签保护的存储器存取可能并非对存储器存取电路可接收的所有存储器存取均为适当的,且因此在一些实施例中,存储器存取电路响应于提供接收到的目标地址的存储器存取的特性,以选择性地执行以下项中的一者:标签保护的存储器存取;以及无标签保护的存储器存取。
可以各种方式定义导致执行标签保护的存储器存取或无标签保护的存储器存取的特性,但在一些实施例中,存储器存取的特性包括以下项中的至少一者:产生存储器存取的请求者的类型;产生存储器存取的请求者的特权级别;以及接收到的目标地址。
在一些实施例中,存储器存取的特性包括存储器存取形成推测数据处理的一部分的指示,并且存储器存取电路响应于存储器存取形成推测数据处理的一部分的该指示,以执行无标签保护的存储器存取。例如,可确定本技术的标签保护的存储器存取以及其用替代保护标签值修改保护标签的能力在推测数据处理的情况中可能是不适当的。
存储器存取电路响应由推测数据处理触发的存储器存取的这种保守方法可能更特定是在存储器存取电路自身内,因为允许进行标签保护的存储器存取,即使该存储器存取形成了推测数据处理的一部分,但不允许对保护标签值的修改,且因此在一些实施例中,存储器存取电路响应存储器存取形成推测数据处理的一部分的指示,以防止将替代保护标签值存储为与包括由目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签。
在一些示例中,存在一种方法,该方法包括:响应于接收到的目标地址执行标签保护的存储器存取,该标签保护的存储器存取包括以下步骤:检索与包括由该接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及将与该接收到的目标地址相关联的地址标签与在该检索步骤中检索的该保护标签进行比较,以及当该保护标签检索操作在检索该保护标签中不成功时,使得将替代保护标签值存储为与由该目标地址识别出的该经寻址位置的一个或多个存储器位置的该块相关联地存储的该保护标签。
在一些示例中,存在一种计算机程序,该计算机程序用于控制主机数据处理装置以提供用于执行目标程序代码的指令的指令执行环境,该计算机程序包括存储器存取逻辑,该存储器存取逻辑用于响应于接收到的目标地址执行标签保护的存储器存取,该标签保护的存储器存取包括保护标签检索操作,该保护标签检索操作用于检索与包括由该接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及保护标签检查操作,该保护标签检查操作将与该接收到的目标地址相关联的地址标签与由该保护标签检索操作检索的该保护标签进行比较,其中该存储器存取逻辑响应于该保护标签检索操作在检索该保护标签中不成功,以使得将替代保护标签值存储为与包括由该目标地址识别出的该经寻址位置的一个或多个存储器位置的该块相关联地存储的该保护标签。
在一些实施例中,存在一种存储上述计算机程序的存储介质,其中该存储介质可为非暂态存储介质。
现参考附图描述一些特定实施例。
图1示意性地图示数据处理装置2的示例。应了解,这为该装置的组件的子集的概括性表示,且该装置可包括许多未图示的其他组件。装置2包括处理电路4,该处理电路4用于响应于指令解码器6所解码的指令执行数据处理。指令解码器6解码取自指令缓存8的指令,以产生控制信号10,这些控制信号10用于控制处理电路4以执行指令所表示的对应处理操作。处理电路4可包括一个或多个执行单元,该一个或多个执行单元用于对存储在寄存器14中的值执行操作,以产生将被写回至寄存器的结果值。例如,执行单元可包括执行算术运算或逻辑运算的算术/逻辑单元(arithmetic/logic unit;ALU)、用于使用浮点操作数执行运算的浮点单元,和/或用于对包括多个独立数据元素的操作数执行向量运算的向量处理单元。处理电路还包括存储器存取电路(例如,包括加载/存储单元)15,该存储器存取电路15用于控制数据在寄存器14与存储器系统之间的传送。在此示例中,存储器系统包括指令缓存8、1级(L1)数据缓存16、在数据与指令之间共享的2级(L2)缓存17以及主存储器18。将了解,其他缓存架构也为可能的——此仅为一个示例。提供存储器管理单元(memorymanagement unit;MMU)20,用于提供地址转换功能以支持由加载/存储单元15触发的存储器存取。MMU具有转换后备缓冲器(translation lookaside buffer;TLB)22,该转换后备缓冲器(TLB)22用于从存储在存储器系统16、17、18的页表缓存条目的子集。每一页表条目可为地址的对应页面提供地址转换映射,且也可指定访问控制参数,诸如指定该页面为只读区域还是既可读又可写入的访问权限,或指定哪些特权级别可存取该页面的存取权限。
图2示意性地图示标签保护的存储器存取的概念。用于指代存储器系统内的存储器位置的物理地址空间可在逻辑上被划分为多个块30,每一块30包括某一数目个可寻址位置。为了简洁,在图2的示例中,每一块30包括四个存储器位置,但也可使用其他块大小。每一块30与对应的保护标签32相关联。可将与某一数目个块30相关联的保护标签收集在一起,并将其存储在物理地址空间内的不同的架构上可存取存储器位置34内,或存储在设置于主存储器18中的附加存储位置内,这些附加存储位置在架构上不可存取(未映射至同一物理地址空间)。使用单独的非架构上可存取的存储器在一些情形下可为优选的,以避免用数据缓存16、17中的空间来缓存保护标签值,这会影响常规代码的性能,且会使一致性管理更复杂。可在微架构中设置附加标签缓存19,用于从非架构上可存取的存储器缓存标签值,从而比必须从主存储器18存取标签时更快地存取。标签存储位置34对应于每一块30的特定映射可受加载/存储单元15控制,且可为硬连线或可编程的。虽然在图2中,每一标签32与物理地址的块相关联,但也有可能提供与虚拟存储器地址空间中的虚拟存储器位置相关联的保护标签32,但这可能在每次存储器存取时需要一些附加地址转换。因而,通过使保护标签32与物理存储器位置相关联,这可改善性能。通常,这为特定微架构实施的一种选择,确切地说是,保护标签32如何与物理地址空间的对应区域30相关联。通常,所需要的仅为可存取并比较与存储器的给定块相关联的保护标签32。
因而,当需要标签保护的存储器存取时,可将地址标签40(其与识别待存取的经寻址位置44的目标地址42相关联)和与存储器位置30(其包括经寻址位置44)的块相关联的保护标签32进行比较。例如,在图2中,目标地址42指向存储器中的某一位置B1,在图2的地址空间中标记为44。因此,将与位置B(包括位置B1)的块相关联的保护标签B和与目标地址42相关联的地址标签40进行比较。如图2的顶部中所示,地址标签40可被确定为目标地址自身的选定位的函数。具体地,可从目标地址的一部分内的位来确定地址标签,该部分不用于指示将被选定作为经寻址位置44的特定存储器位置。例如,在一些架构中,目标地址的位的顶部可总是具有某一固定值,诸如符号扩展(都为0或都为1),且因而可通过以任意标签值重写这些未使用的位用地址标签40对地址加标签。例如,该特定地址标签值可由程序员或编译程序选定。地址标签和保护标签32可为相对较小数目个位,例如4个位,且因而不需要占用存储器内和目标地址内的太多空间。提供4个位的标签空间(即,标签的16个可能值)可通常足以检测许多常见类型的存储器存取错误。
因而,当执行标签保护的存储器存取时,在地址标签40及与包括经寻址位置44的块30相关联的保护标签32之间进行比较,且进行关于其是否匹配的确定。应注意,在图1的示例配置中,该比较可在加载/存储单元15与物理存储器18之间任一处执行(且确实可沿着该路径分布)。然而,在此示例中,为了简单起见,在由加载/存储单元15执行的方面描述该比较。加载/存储单元15产生指示地址标签40与保护标签32是否匹配的匹配指示。例如,该匹配指示可为故障信号60,该故障信号60是在地址标签40与保护标签32之间存在不匹配时产生;或指示是否存在匹配的被置于状态寄存器中的指示;或条目,该条目被添加至错误报告以指示被检测出错误的地址和/或触发了错误的指令的指令地址。
图3示出用于处理标签保护的存储器存取的流程图。触发存储器存取的指令可指定地址标签和目标地址。如图2中所示,在一些情形下,地址标签可实际上从目标地址自身的位的子集导出,尽管在其他示例中可在单独的寄存器中指定地址标签。在步骤50处,遇到触发标签保护的存储器存取的指令。作为响应,在步骤52处,存储器存取电路15触发对由目标地址所识别的经寻址位置44的存储器存取。此外,在步骤54处,存储器存取电路15获得保护标签32,该保护标签32是与包括由目标地址所识别的经寻址位置44的存储器位置30的块相关联地存储在存储器系统中。在步骤56处,存储器存取电路15比较地址标签40与在步骤54处所获得的保护标签32。在步骤58处,存储器存取电路15产生是否在保护标签与地址标签之间检测到匹配的指示(例如,上述任何类型的匹配/不匹配报告指示)。用于报告任何不匹配的精确指示可随着实施而变化。
图4A示意性地图示缓存100和另一缓存或存储器105。示出缓存100中的缓存行102,该缓存行102可被逐出至另一缓存或存储器105,且当再次需要该缓存行中的数据时,来自另一缓存或存储器105的填充可使缓存行102再次被分配在缓存100中。将缓存行102示出为包括数据105和相关联的保护标签103。注意,该单个缓存行102实际上包括四个数据项和相关联保护标签。这些项也存在于等效数据108中(在105为另一缓存的情况下等效数据108亦也为另一缓存行)。将图4A的图示与图4B的图示相比较,图4B的图示表示不同的缓存110和不同的另一缓存或存储器112。缓存的内容与图4A中相同,即,缓存行102包括保护标签103和数据104。然而,如图4B中所示,逐出该缓存行102导致保护标签103的丢失,且确实导致来自该缓存行102的所有保护标签的丢失,因为另一缓存或存储器112未被配置为存储保护标签。因而,等效数据项114仅包括同一数据项104及三个另外数据项(在图4B的此图示中未被填入)。因此,当存储器存取再次需要此数据104且在填充操作中将其提升至缓存110时,接着丢失了先前存在的保护标签103,且缓存行102将在无保护标签103的情况下存在于缓存110中。
图5示意性地图示存储器存取电路120,该存储器存取电路120被布置为响应于接收到的目标地址执行标签保护的存储器存取。存储器存取电路120包括数据存取电路122、保护标签检索电路124和保护标签检查电路126。作为存储器存取的一部分,当存储器存取电路120接收到目标地址时,这些目标地址使得数据存取电路122和保护标签检索电路124寻求存取缓存/存储器系统130中的相关数据值和保护标签。应注意,为了论述清楚,在图5的图示中单独地表示数据存取电路122和保护标签检索电路124,但如图4A及图4B的论述已图示,对给定数据值和保护标签的存取可实际上包括对给定缓存中的单个缓存行的存取。此外,图5的图示考虑到如下事实:可不将数据值和保护标签值存储为如图4A的示例中那样(在单个缓存行内)彼此紧密相关联,而也可将其存储在整个单独的物理位置中。然而,虽然存储了保护标签和数据值,保护标签检索操作电路仍存取缓存/存储器系统130,且保护标签检查电路126接收响应。当成功检索保护标签时,比较该保护标签与接收到的地址标签,且产生保护标签检查结果。可以各种方式使用该保护标签检查结果,诸如向处理器(其可能是或可能不是存储器存取的来源)发信号通知。在存储器存取为加载的情况下,也可从缓存/存储器系统130返回该数据。
图6A示意性地图示保护标签检查电路131的示例实施例。在此,保护标签检查电路131包括比较电路134、保护标签检索电路135和替代保护标签存储器137。比较电路133北布置以确定检索的保护标签与地址标签是否匹配,且产生保护标签检查结果。应注意,地址标签与检索的保护标签之间的匹配可能需要该两者等同,或在一些实施方式中,可能存在例如多位值的一些位,这些位形成地址标签及保护标签中的一者或两者的一部分,但不需要匹配。将由保护标签检索电路135从缓存/存储器系统139检索的保护标签传递至比较电路133,以确定检索的保护标签与地址标签是否匹配。在保护标签检索失败的情况下,保护标签检索电路135将此用信号通知替代保护标签存储器137。作为响应,保护标签检查电路131使得将替代保护标签与相关存储器地址(或多个地址)相关联地存储在缓存/存储器系统139中。应注意,该替代保护标签值可为预定值(例如,每当发现任何保护标签值“丢失”时就使用该预定值)。在一些示例中,此预定值可为“全匹配”值,其用于保护标签检查中以指示将发现任何接收到的地址标签与之匹配的值。
然而,在一些示例中,保护标签检查电路131被布置以使用(如图6A中的虚线所示)接收到的地址标签(且应比较保护标签与该地址标签)作为替代保护标签。因此,在此布置中,当保护标签检索失败时(即,当保护标签值为“丢失”时),保护标签检查电路131使得将存储器存取的地址标签与相关存储器地址(或多个地址)相关联地存储在缓存/存储器系统139中。另外,在此布置中(也如图6A中的虚线所示),也可以在比较电路133的保护标签输入处向其提供替代保护标签。这因此提供将作为存储器存取的一部分而接收的地址标签与预定替代值或地址标签自身进行比较。可建立预定替代值和比较电路133以使得获得保护标签检查结果的特定输出(例如,强制“匹配”输出,替代地产生“保护标签丢失”输出,等等)。最终,然而应注意,保护标签检查电路131还接收存储器存取是否为推测的指示。保护标签检查电路131可被布置为以多种方式响应存储器存取为推测的指示,但设想的一个特定配置是当存储器存取为推测时,保护标签检查电路131防止将替代保护标签值存储在缓存/存储器系统139中。
图6B示意性地图示保护标签检查电路的一些元件的一个示例实施例。在此,保护标签检查电路132包括比较电路134及重写电路135。比较电路134被布置为确定检索的保护标签与地址标签是否匹配,且产生保护标签检查结果。应注意,地址标签与检索的保护标签之间的匹配可能需要该两者等同,或在一些实施方式中,可能存在例如多位值的一些位,这些位形成地址标签及保护标签中的一者或两者的一部分,但匹配非必需。重写电路135接收保护标签检索已失败的信号。这可为来自缓存/存储器系统的源于试图进行保护标签检索的显式信号;或可为例如在由于保护标签检索而预期在存储器存取电路内暂时地保持保护标签值的情况下未找到保护标签值的指示;或可确实为指示保护标签的丢失的显式值。然而,若确定了此,则重写电路135在保护标签检索失败的情况下向比较电路134提供信号,且这使得比较电路134产生保护标签检查结果,好像地址标签与检索的保护标签确实匹配一样。
图7A示意性地图示保护标签检查电路的一些元件的变体,其中保护标签检查电路140包括保护标签比较控制器141、比较电路142及保护标签存储电路143。当成功地检索保护标签时,保护标签被暂时地存储于保护标签存储器143中,且比较电路142接着比较该保护标签与接收到的地址标签,以产生保护标签检查结果。然而,在存在保护标签检索失败的情况下,该信息由保护标签比较控制器142接收,该保护标签比较控制器142接着使得接收到的地址标签被存储在保护标签存储器143中。因此,当比较电路142执行其比较时,其比较地址标签与其自身,且保护标签检查结果指示发现匹配。
图7B示意性地图示保护标签检查电路的一些元件的变体。在此,保护标签检查电路150包括保护标签比较控制器151、比较电路152、保护标签存储器153,及在保护标签比较控制器152内的替代值存储器154。当成功地检索保护标签并暂时地存储于保护标签存储器153中时,由比较电路152将该保护标签与接收到的地址标签进行比较,且产生保护标签检查结果。然而,在保护标签检索失败的情况下,保护标签比较控制器使得替代所检索的保护标签而使用替代值154,并将该值置于保护标签存储器153中。因此,在保护标签检索失败的情况下,比较电路152比较接收到的地址标签与替代值154。可以各种方式配置该替代值154,例如,为预定义的“全匹配”值,比较电路152被不同地配置以使该预定义的“全匹配”值正匹配接收到的任何地址标签。
图8A示意性地图示一个实施例中的缓存160,其中缓存行进一步扩展为不仅包括相关数据值及其相关联的保护标签,而且进一步提供与每一保护标签相关联的附加位,通过该附加位可指示保护标签已丢失。这些附加位由图7A中的阴影块图示。因此,当保护标签丢失时,可与该数据值相关联地维持对此的指示,以便在将来的保护标签检查中对其进行不同处理。例如,当对设置了该丢失保护标签的标志的数据值存取时,保护标签检查可被重写。
图8B图示其中将缓存170示出为包括缓存行的变体,在该缓存行中数据值是与保护标签相关联地被存储,其中保护标签的特定值N用于指示丢失的标签,而任何其他值(!N)指示该保护标签尚未丢失而是这为常见状况且为可用的标签值。
图9为示出在一个方法实施例中所采取的一系列步骤的流程图。在步骤200处,读取保护标签,且在步骤201处,确定保护标签是否已丢失(即,是否无法读取保护标签)。若否,且保护标签已被成功读取,则在步骤202处,确定标签是否匹配,即,已读取的保护标签是否匹配触发该保护标签检查的存储器存取的地址标签。若标签匹配,则流程进行至步骤206,在步骤206中,执行存储器存取(因此,歌迷存储器存取的本质,加载数据或存储数据)。若标签不匹配,则在步骤203处,检查是否由于该不匹配而产生故障。若否,则流程也进行至步骤206。若响应于不匹配而产生故障,则此在步骤204处发生。返回步骤201的考虑,若发现标签已丢失,则流程进行至步骤205,在步骤205中将(存储器存取的)地址标签写入至保护标签。因而,丢失的保护标签被地址标签替代。流程接着继续步骤206,执行存储器存取(加载或存储)。应进一步注意,如通过(*)突出显示,在步骤205及206中的每一者中,这些步骤的次序可与图示的次序相反。换言之,可在写入地址标签作为替代保护标签之前执行存储器存取。然而,在一些系统中,可能存在对标签写入可以出现多晚的约束。。
图10A示意性地图示一个示例实施例中的存储器存取电路201,其中形成存储器存取电路的一部分的保护标签检查电路211接收存储器存取会否为推测的指示,以及存储器存取自身。保护标签检查电路211响应于存储器存取为推测的指示,以抑制其针对存储器存取的操作,使得发生对存储器系统212的非保护标签检查的存储器存取。更一般而言,图10B示意性地图示一个示例实施例中的存储器存取电路220,其中形成存储器存取电路的一部分的保护标签检查电路221接收存储器存取的存取特性,以及存储器存取自身。该存取特性可例如为产生了存储器存取的请求者类型的指示、产生了存储器存取的请求者的特权级别、接收到的目标地址的指示等等。根据存取特性的特定类型及保护标签检查电路221的配置,保护标签检查电路221响应存取特性,以抑制其对存储器存取的操作,使得发生非保护标签检查的存储器存取。因此,可使得保护标签检查且特定而言是本文中所公开的用于响应保护标签的丢失的技术仅能够对于某些类型的存储器存取或存储器存取源而启用。
图11图示可使用的模拟器实施方式。虽然前述实施例在用于操作支持相关技术的特定处理硬件的装置及方法方面实施了本发明,但也有可能根据本文所述实施例提供指令执行环境,该指令执行环境是经由使用计算机程序来实施。可通常将这些计算机程序称作模拟器,只要其提供硬件架构的基于软件的实施方式即可。各种模拟器计算机程序包括仿真器、虚拟机、模型及二元转换器,包括动态二元转换器。通常,模拟器实施方式可在主机处理器330上运行,可选地运行主机操作系统320,以支持模拟器程序310。在一些布置中,在硬件与所提供的指令执行环境及/或被提供在同一主机处理器上的多个不同的指令执行环境之间可能存在多个模拟层。从历史上看,需要强大处理器提供以合理速度执行的模拟器实施方式,但在某些情境下此方法可能是合理的,诸如当出于兼容性或重用原因而期望运行另一处理器的本地代码时。例如,模拟器实施方式可提供具有附加功能(主机处理器硬件不支持该附加功能)的指令执行环境,或提供通常与不同硬件架构相关联的指令执行环境。在“某些高效架构模拟技术”(Robert Bedichek,1990年冬天的USENIX会议,第53-63页)中给出模拟的概述。
既然先前已参考特定硬件构造或特征描述了实施例,则在模拟实施例中可由合适软件构造或特征提供等效功能。例如,可在模拟实施例中将特定电路实施为计算机程序逻辑。类似地,可在模拟实施例中将诸如寄存器或缓存的存储器硬件实施为软件数据结构。在前述示例实施例中所引用的硬件组件中的一者或多者存在于主机硬件(例如,主机处理器330)上的布置中,一些模拟实施例可在合适情况下使用主机硬件。
可将模拟器程序310存储在计算机可读存储介质312(其可为非暂态介质)上,且该模拟器程序310提供至目标代码300(其可包括应用、操作系统及超管理器)的程序接口(指令执行环境),该程序接口与由模拟器程序310模型化的硬件架构的应用程序接口相同。因此,可使用模拟器程序310从指令执行环境内执行目标代码300的程序指令,以使得并不实际上具有上述装置2的硬件特征(且具体为存储器存取电路120)的主计算机330可模拟这些特征。例如,模拟器程序310可包括用于模拟所述存储器存取的存储器存取逻辑314。因此,模拟器程序310也可包括用于执行对保护标签与地址标签的比较的存储器存取程序逻辑,以报告是否已检测到保护标签与地址标签之间的任何不匹配,并在保护标签检索操作不成功时存储替代保护标签。
简而言之,公开了一种包括存储器存取电路以响应于接收到的目标地址来执行标签保护的存储器存取的装置及其操作方法。在标签保护的存储器存取中,保护标签检索操作寻求检索与一个或多个存储器位置(包括由接收到的目标地址识别出的经寻址位置)的块相关联地存储的保护标签,并且保护标签检查操作将与接收到的目标地址相关联的地址标签与由保护标签检索操作检索的保护标签进行比较。当保护标签检索操作在检索保护标签中不成功时,将替代保护标签值存储为与一个或多个存储器位置(包括由目标地址识别出的经寻址位置)的块相关联的保护标签。
在本申请中,词语“经配置为……”用于意味装置的元件具有能够执行定义操作的配置。在此上下文中,“配置”意味硬件或软件的互连的布置或方式。例如,装置可具有提供定义操作的专用硬件,或处理器或其他处理设备可被编程为执行该功能。“被配置为”并不暗示装置元件需要以任何方式改变以提供定义操作。
尽管本文中已参考附图详细描述了说明性实施例,但应理解,本发明并不限于这些精确实施例,且本领域技术人员可在不脱离由所附权利要求所限定的本发明的范畴的情况下在其中进行各种改变、添加及修改。例如,在不脱离本发明的范畴的情况下可进行从属权利要求的特征与独立权利要求的特征的各种组合。

Claims (20)

1.一种装置,包括:
存储器存取电路,用于响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括:
保护标签检索操作,用于检索与包括由所述接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及
保护标签检查操作,将与所述接收到的目标地址相关联的地址标签与由所述保护标签检索操作检索到的所述保护标签进行比较,
其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以使得将替代保护标签值存储为与包括由所述目标地址识别出的所述经寻址位置的一个或多个存储器位置的块相关联地存储的所述保护标签。
2.根据权利要求1所述的装置,其中,所述替代保护标签值被选择以在所述保护标签检查操作中匹配与所述接收到的目标地址相关联的所述地址标签。
3.根据权利要求1或权利要求2所述的装置,其中,所述替代保护标签值为与所述接收到的目标地址相关联的所述地址标签。
4.根据权利要求1所述的装置,其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以启动将所述保护标签的先前定义值确定为所述替代保护标签值。
5.根据权利要求4所述的装置,其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以使得所述装置的指令执行电路采取异常,
其中,所述指令执行电路响应于所述异常以执行保护标签修复异常例程,该保护标签修复异常例程包括确定所述保护标签的所述先前定义值。
6.根据前述权利要求中任一项所述的装置,其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以确定所述保护标签检查操作的结果为在与所述接收到的目标地址相关联的所述地址标签与所述保护标签之间建立匹配。
7.根据权利要求6所述的装置,其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以将所述保护标签视为具有预定全匹配特性,使得在与所述接收到的目标地址相关联的所述地址标签与所述保护标签之间建立所述匹配。
8.根据权利要求7所述的装置,其中,所述预定全匹配特性为所述保护标签的预定值。
9.根据权利要求7所述的装置,其中,所述预定全匹配特性为与所述保护标签相关联的一组全匹配标志的存在。
10.根据前述权利要求中任一项所述的装置,其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以产生丢失保护标签的指示。
11.根据权利要求10所述的装置,其中,所述存储器存取电路被布置为与所述接收到的目标地址相关联地存储所述丢失保护标签的指示。
12.根据权利要求10或权利要求11所述的装置,其中,所述存储器存取电路被布置为将所述丢失保护标签的指示用信号通知处理器单元。
13.根据前述权利要求中任一项所述的装置,其中,所述存储器存取电路响应于所述保护标签检索操作在检索所述保护标签中不成功,以递增丢失保护标签的计数器。
14.根据前述权利要求中任一项所述的装置,其中,所述存储器存取电路响应于提供所述接收到的目标地址的存储器存取的特性,以选择性地执行以下项中的一者:
所述标签保护的存储器存取;以及
无标签保护的存储器存取。
15.根据权利要求14所述的装置,其中,所述存储器存取的特性包括以下项中的至少一者:
产生所述存储器存取的请求者的类型;
产生所述存储器存取的所述请求者的特权级别;以及
所述接收到的目标地址。
16.根据权利要求14或权利要求15所述的装置,其中,所述存储器存取的特性包括所述存储器存取形成推测数据处理的一部分的指示,并且所述存储器存取电路响应于所述存储器存取形成推测数据处理的一部分的所述指示,以执行所述无标签保护的存储器存取。
17.根据前述权利要求中任一项所述的装置,其中,所述存储器存取电路响应于所述存储器存取形成推测数据处理的一部分的指示,以防止将所述替代保护标签值存储为与包括由所述目标地址识别出的所述经寻址位置的一个或多个存储器位置的块相关联地存储的所述保护标签。
18.一种方法,包括:
响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括以下步骤:
检索与包括由所述接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及
将与所述接收到的目标地址相关联的地址标签与在所述检索步骤中检索到的所述保护标签进行比较,
以及当所述检索步骤在检索所述保护标签中不成功时,使得将替代保护标签值存储为与包括由所述目标地址识别出的所述经寻址位置的一个或多个存储器位置的块相关联地存储的所述保护标签。
19.一种计算机程序,用于控制主机数据处理装置以提供用于执行目标程序代码的指令的指令执行环境,包括:
存储器存取逻辑,用于响应于接收到的目标地址而执行标签保护的存储器存取,该标签保护的存储器存取包括:
保护标签检索操作,用于检索与包括由所述接收到的目标地址识别出的经寻址位置的一个或多个存储器位置的块相关联地存储的保护标签;以及
保护标签检查操作,将与所述接收到的目标地址相关联的地址标签与由所述保护标签检索操作检索到的所述保护标签进行比较,
其中,所述存储器存取逻辑响应于所述保护标签检索操作在检索所述保护标签中不成功,以使得将替代保护标签值存储为与包括由所述目标地址识别出的所述经寻址位置的一个或多个存储器位置的块相关联地存储的所述保护标签。
20.一种存储介质,存储根据权利要求19所述的计算机程序。
CN201980048946.6A 2018-07-31 2019-06-07 处理保护标签丢失 Pending CN112470134A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1812486.7 2018-07-31
GB1812486.7A GB2576005B (en) 2018-07-31 2018-07-31 Handling guard tag loss
PCT/GB2019/051590 WO2020025918A1 (en) 2018-07-31 2019-06-07 Handling guard tag loss

Publications (1)

Publication Number Publication Date
CN112470134A true CN112470134A (zh) 2021-03-09

Family

ID=63518082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980048946.6A Pending CN112470134A (zh) 2018-07-31 2019-06-07 处理保护标签丢失

Country Status (9)

Country Link
US (1) US11636048B2 (zh)
EP (1) EP3830701A1 (zh)
JP (1) JP7317099B2 (zh)
KR (1) KR20210034612A (zh)
CN (1) CN112470134A (zh)
GB (1) GB2576005B (zh)
IL (1) IL279812B2 (zh)
TW (1) TWI801622B (zh)
WO (1) WO2020025918A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163096A (en) * 1991-06-06 1992-11-10 International Business Machines Corporation Storage protection utilizing public storage key control
CN1794186A (zh) * 2004-12-22 2006-06-28 阿尔卡特公司 寻址错误和地址检测系统和方法
CN101495972A (zh) * 2005-02-09 2009-07-29 Tc许可有限公司 具有单步读取和写入命令的rf标签系统
US20150248357A1 (en) * 2014-02-28 2015-09-03 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
GB201515256D0 (en) * 2015-08-27 2015-10-14 Advanced Risc Mach Ltd An apparatus and method for controlling instruction execution behavior

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134930A (ja) * 1991-11-12 1993-06-01 Nippon Telegr & Teleph Corp <Ntt> メモリ保護装置
JP3116827B2 (ja) * 1996-07-16 2000-12-11 日本電気株式会社 キャッシュメモリ制御装置
US7318119B2 (en) * 2004-10-29 2008-01-08 International Business Machines Corporation System and method for fault tolerant controller for network RAID
US20060165084A1 (en) 2005-01-21 2006-07-27 International Business Machines Corporation RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY TARGET
JP4364166B2 (ja) * 2005-06-30 2009-11-11 株式会社東芝 キャッシュ装置
US8122223B2 (en) * 2008-04-18 2012-02-21 International Business Machines Corporation Access speculation predictor with predictions based on memory region prior requestor tag information
JP5541275B2 (ja) * 2011-12-28 2014-07-09 富士通株式会社 情報処理装置および不正アクセス防止方法
TWI514145B (zh) 2013-10-21 2015-12-21 Univ Nat Sun Yat Sen 可儲存除錯資料的處理器、其快取及控制方法
GB2544489B (en) * 2015-11-17 2017-12-06 Advanced Risc Mach Ltd Branch prediction in a data processing apparatus
US10949292B1 (en) * 2019-10-07 2021-03-16 Arm Limited Memory interface having data signal path and tag signal path

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163096A (en) * 1991-06-06 1992-11-10 International Business Machines Corporation Storage protection utilizing public storage key control
CN1794186A (zh) * 2004-12-22 2006-06-28 阿尔卡特公司 寻址错误和地址检测系统和方法
CN101495972A (zh) * 2005-02-09 2009-07-29 Tc许可有限公司 具有单步读取和写入命令的rf标签系统
US20150248357A1 (en) * 2014-02-28 2015-09-03 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
GB201515256D0 (en) * 2015-08-27 2015-10-14 Advanced Risc Mach Ltd An apparatus and method for controlling instruction execution behavior

Also Published As

Publication number Publication date
IL279812B1 (en) 2023-12-01
KR20210034612A (ko) 2021-03-30
IL279812A (en) 2021-03-01
IL279812B2 (en) 2024-04-01
WO2020025918A1 (en) 2020-02-06
TWI801622B (zh) 2023-05-11
GB201812486D0 (en) 2018-09-12
TW202008173A (zh) 2020-02-16
JP7317099B2 (ja) 2023-07-28
US11636048B2 (en) 2023-04-25
EP3830701A1 (en) 2021-06-09
JP2021532474A (ja) 2021-11-25
GB2576005A (en) 2020-02-05
GB2576005B (en) 2020-10-07
US20210224203A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
US11138128B2 (en) Controlling guard tag checking in memory accesses
TWI812798B (zh) 用於控制記憶體存取的裝置及方法
TWI787451B (zh) 用於資料處理的方法、設備、電腦程式、與儲存器媒體
EP1278123A1 (en) High integrity cache directory
US11636048B2 (en) Handling guard tag loss
JP7369720B2 (ja) アクションをトリガするための装置及び方法
JP7369699B2 (ja) データ処理装置におけるアドレス変換
CN112988232A (zh) 使用可丢弃状态的执行电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination