CN1254424A - 存储器访问保护 - Google Patents

存储器访问保护 Download PDF

Info

Publication number
CN1254424A
CN1254424A CN98804655A CN98804655A CN1254424A CN 1254424 A CN1254424 A CN 1254424A CN 98804655 A CN98804655 A CN 98804655A CN 98804655 A CN98804655 A CN 98804655A CN 1254424 A CN1254424 A CN 1254424A
Authority
CN
China
Prior art keywords
address
logic
attribute
logic region
data processing
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.)
Granted
Application number
CN98804655A
Other languages
English (en)
Other versions
CN1118027C (zh
Inventor
S·A·西格斯
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
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN1254424A publication Critical patent/CN1254424A/zh
Application granted granted Critical
Publication of CN1118027C publication Critical patent/CN1118027C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明提供了一种用于控制对具有用于存储数据值的多个存储单元的存储器的访问的数据处理装置,每个存储单元具有一个对应的地址。该装置包括:地址范围存贮器,用于存储用于识别所述存储器中的多个逻辑区域的地址范围的信息;以及属性存贮器,用于存储每个逻辑区域的用来控制对所述逻辑区域内的存储单元的访问的属性。依据最佳实施例,这些逻辑区域中的一个或多个相互重叠。此外,提供了地址比较器逻辑,用于将由处理器发出的一个对应于所述存储单元中的一个的地址与所述多个逻辑区域的地址范围进行比较,并且,如果一个或多个逻辑区域包含所述地址,用于产生一个指示这些包含所述地址的逻辑区域的信号。属性确定逻辑响应于由地址比较器逻辑产生的信号,运用预先确定的优先权标准来确定哪一个包含所述地址的逻辑区域具有最高的优先权,从而使用属性存贮器中对应于该最高优先权区域的属性来控制对由所述地址指定的存储单元的访问。依据本发明,可以定义重叠的逻辑区域,并将相对优先权指定给每个逻辑区域。如果处理器指定一个落入两个或多个逻辑区域内的地址,则使用优先权标准来确定哪一个逻辑区域具有最高优先权。每个逻辑区域具有为该区域指定的多个属性,这些属性用于控制对该逻辑区域内的存储单元的访问。根据对哪一个区域具有最高优先权的确定,则使用该最高优先权区域的属性来控制对由处理器指定的特定存储单元的访问。

Description

存储器访问保护
发明领域
本发明涉及一种用于访问具有存储数据值的多个存储单元的存储器的数据处理装置和方法,特别涉及这样一种保护存储器访问的数据处理装置和方法。术语“数据值”在这里指的是指令和数据项或数据块、例如数据字。
现有技术描述
将存储器分成多个分开的逻辑区域,并指定每个区域的保护属性,例如这些区域是否只能以管理状态访问、这些区域在基于高速缓存器的系统中是否是可高速缓存的(cacheable)、可缓存的,等等,以便控制对这些存储区域的访问,这些现在都是公知的。因此,如果处理器发出一个落入一特定存储区域的存储器地址,则该区域的保护属性可用于确定处理器在其当前的操作模式是否被授权访问该存储器地址,并确定从这个存储区域提取出的数据值是否是可高速缓存的、要写入这个存储区域的数据值是否是可缓存的,等等。这种保护机构常常但不总是用于与虚拟到物理地址变换相联系的虚拟存储器系统中。
在大多数实施中,对于定义逻辑区域提供了有限制的灵活性。虽然有些技术可以通过提供少量不同尺寸的区域,例如1kb、2kb和4kb区域来稍微提高一些灵活性,逻辑区域一般可以为固定尺寸,例如4kb区域。一般地,如果提供了不同尺寸的区域,则将它们限制为以2的幂变化,因为如果将区域限制为尺寸以2的幂变化,则用于比较地址以便确定包含这些地址的逻辑区域所需的硬件可以不太复杂。
采用上述方法,可以指定存储器的用户区域以及存储器的管理程序区域。例如,考虑提供了固定尺寸的4kb逻辑区域以及系统需要4kb管理程序代码和12kb用户代码的情况,这两种代码都必须映射进一个16kb的RAM。需要定义四个逻辑区域来实现这一点,即,一个4kb区域用于管理程序代码,三个4kb区域用于用户代码。
希望能在定义比上述现有技术中所需的更少的区域的同时提供上述功能,从而提高系统的灵活性。
发明概述
从第一个方面看,本发明提供了一种用于控制对具有用于存储数据值的多个存储单元的存储器的访问的数据处理装置,每个存储单元具有一个对应的地址,该装置包括:地址范围存贮器,用于存储用于识别所述存储器中的多个逻辑区域的地址范围的信息;属性存贮器,用于存储每个逻辑区域的用来控制对所述逻辑区域内的存储单元的访问的属性;地址比较器逻辑,用于将由处理器发出的一个对应于所述存储单元中的一个的地址与所述多个逻辑区域的地址范围进行比较,并且,如果一个或多个逻辑区域包含所述地址,用于产生一个指示这些包含所述地址的逻辑区域的信号;以及,属性确定逻辑,响应于由地址比较器逻辑产生的信号,用于运用预先确定的优先权标准来确定哪一个包含所述地址的逻辑区域具有最高的优先权,从而使用属性存贮器中对应于该最高优先权区域的属性来控制对由所述地址指定的存储单元的访问。
依据本发明,可以定义重叠的逻辑区域,并将相对优先权分配给每个逻辑区域。如果处理器指定一个落入两个或多个逻辑区域内的地址,则使用优先权标准来确定哪一个逻辑区域具有最高优先权。每个逻辑区域具有指定给该区域的数个属性,用于控制对该逻辑区域内的存储单元的访问。根据对哪一个区域具有最高优先权的确定,则使用该最高优先权区域的属性来控制对由处理器指定的特定存储单元的访问。
因此,参考上面提到的例子,即希望在一个16kb的RAM中提供4kb的管理程序代码和12kb的用户代码,这可以根据本发明通过提供两个重叠区域来实现,一个4kb区域用于管理程序代码,一个16kb区域用于用户代码。可以将管理程序区域定义为比用户区域具有较高优先权,从而确保任何访问4kb重叠区域的企图都由与管理程序区域相联系的属性来管理。因此,依据本发明,在这个例子中只有两个区域需要定义,而不是依据现有技术需要定义的四个区域。
在最佳实施例中,一个所述逻辑区域可用作为覆盖整个存储器并具有所述逻辑区域的最低优先权的背景区域,从而如果由处理器发出的地址对应于一个未处于任何其他逻辑区域内的存储单元,则使用与该背景区域相联系的属性来控制对由该地址指定的存储单元的访问。
有可能定义的存储区域未完全占满存储器的地址空间,因此在地址映射中会出现“空洞”。然而,通过构造最低优先权区域来覆盖整个存储器地址范围,并为该逻辑存储区域指定合适的属性,如果对一个空洞进行访问,则可以定义发生的情况(例如,可以将属性设置为全访问或不访问)。或者,可以不定义背景区域,则需要在系统内作出单独的安排,来确定当试图访问一个空洞时所发生的情况,例如,对空洞的任何访问将导致异常终止或者如果合适的话可以忽略对空洞的任何访问。
另一个替换方法是将最低优先权区域硬连线以覆盖整个地址空间,并且在比较过程不包括该最低优先权区域,以使得如果地址比较器逻辑产生一个表明没有逻辑区域包含所述地址的信号,则安排属性确定逻辑,以表明应该使用与最低优先权区域相联系的属性。这个方法可以提高效率,因为不需要地址比较器逻辑将地址与最低优先权区域的地址范围进行比较,这个最低优先权区域的属性可用作为地址比较器逻辑确定出没有其他逻辑区域包含所述地址的直接结果。
在最佳实施例中,逻辑区域的地址范围由一个识别所述区域在哪一个存储单元开始的基地址和一个识别逻辑区域尺寸的尺寸属性来指定。在最佳实施例中,将基地址确定为尺寸属性的函数,以使得尺寸X的存储区域的基地址必须为值X的倍数。这个方法用于简化硬件需求。基地址和尺寸属性一般是用户可编程的。作为对使用基地址和尺寸属性的替换,可以由识别逻辑区域的开始和结束的起始地址和结束地址来指定逻辑区域的地址范围。
地址比较器逻辑可以以任何合适的方式来安排。在最佳实施例中,地址比较器逻辑包括数个比较器,每个地址范围一个。
地址范围存贮器可以为任何合适的存储器件。然而,在最佳实施例中,地址范围存贮器包括数个寄存器。最好是单独的寄存器与地址比较器逻辑的每个比较器相联系。
属性存贮器可以采取任何合适的形式。然而,在最佳实施例中,所述属性存贮器包括与一个多路复用器相连的多个属性寄存器,每个寄存器包含一个逻辑区域的属性,属性确定逻辑向多路复用器输出一个信号,使得多路复用器输出来自对应于包含所述地址的最高优先权区域的属性寄存器的属性。
在最佳实施例中,所述地址比较器逻辑具有多个输出,为每个逻辑区域提供一个输出,并且在所述输出上产生一个信号,以表明相应的逻辑区域是否包含所述地址,所述属性确定逻辑具有相应的多个用于接收来自所述多个输出的信号的输入,并且这多个输入具有由属性确定逻辑用来运用预先确定的优先权标准的相对优先权。
然而,应该明白,可以使用替代技术来运用预先确定的优先权标准。例如,所述预先确定的优先权标准可作为优先权信息存储在一个可由属性确定逻辑访问的存贮器中,优先权信息指定所述逻辑区域的相对优先权。
在最佳实施例中,数据处理装置还包括一个发出对应于所述存储器内的存储单元的地址的处理器核心,其中存储器中存储着处理器所需的数据值或将要存储由处理器核心处理的数据值。此外,数据处理电路可以包括一个存储可由处理器核心访问的数据值的高速缓存器。在这样一种结构中,为了提高效率,对最高优先权区域的属性的确定最好出现在正发生高速缓存器查找的时候。
可以提供单个高速缓存器来存储指令和数据,这样的高速缓存器常常被称为是具有Von Neumann高速缓存器结构。然后,可替换地,可以提供第一高速缓存器来存储指令,提供第二高速缓存器来存储数据,这样的高速缓存器常常被称为是具有Harvard结构,为所述第一和第二高速缓存器中的每一个复制所述地址比较器逻辑和所述属性确定逻辑。因此,在使用单个数据和指令高速缓存器时,最好为每个高速缓存器复制确定用于控制对存储器的访问的属性所需的数据处理电路的单元。如前面所提到的,对最高优先权区域属性的确定最好出现在正发生高速缓存器查找的时候。如果有两个高速缓存器,则数据高速缓存器中的查找操作可以出现在指令高速缓存器中也发生查找操作的时候,因此需要两组电路来确定用于访问对应于指令和数据高速缓存器中的查找操作的存储器地址的属性。
从第二个方面看,本发明提供了一种操作数据处理装置来控制对存储器的访问的方法,存储器具有存储数据值的多个存储单元,每个存储单元具有一个相应的地址,所述方法包括下列步骤:(a)存储识别所述存储器内的多个逻辑区域的地址范围的信息;(b)为每个逻辑区域存储用于控制对所述逻辑区域内的存储单元的访问的属性;(c)将由处理器发出的、对应于一个所述存储单元的地址与所述多个逻辑区域的地址范围进行比较;(d)如果一个或多个逻辑区域包含所述地址,产生一个表明这些包含所述地址的逻辑区域的信号;(e)响应于在所述步骤(d)产生的信号,运用预先确定的优先权标准来确定包含所述地址的哪一个逻辑区域具有最高优先权;以及(f)输出对应于该最高优先权区域的所存储属性,用于控制对由所述地址指定的存储单元的访问。
附图简要说明
下面将参考附图仅以例示方式说明本发明的一个实施例,在附图中,类似特征采用类似的标号,其中:
图1是显示依据本发明的最佳实施例的数据处理装置的方框图;
图2是显示依据本发明的最佳实施例存储器内不同尺寸的逻辑区域是如何由一个五位的尺寸字段来指定的表;
图3是显示依据本发明的最佳实施例为了确定用于控制对存储器的访问的属性而执行的处理步骤的流程图;
图4A和4B显示了本发明的使用分开的数据和指令高速缓存器的实施例。
最佳实施例说明
下面将参考图1的方框图说明依据本发明的最佳实施例的数据处理电路。如图1所示,数据处理电路具有一个处理器核心10,被安排为处理从存储器120接收的指令。处理器核心10执行这些指令所需的数据也可以从存储器120检索。提供一个高速缓存器30,用于存储从存储器120检索的数据和指令,以便随后可以容易地由处理器核心10访问。还提供了高速缓存器控制单元40,控制高速缓存器30中的指令和数据的存储,并控制数据和指令从高速缓存器的检索。
依据本发明的最佳实施例,可以在存储器120内定义多个逻辑区域,每个逻辑区域具有一个独立可编程的尺寸。为了描述一个最佳实施例,考虑具有4GB地址空间的存储器120,并假设在该存储器地址空间内定义8个逻辑区域。显然,对于本领域普通技术人员来说显而易见的是,存储器的实际尺寸以及可定义的逻辑区域的个数是可以根据需要而变化的,以满足数据处理电路的特定需要。
每个逻辑区域最好由一个指定存储器中的区域开始处的基地址和一个定义该逻辑区域的尺寸的尺寸字段来定义。为了简化保护单元(保护单元将在后面更详细地讨论)内的比较器的硬件需要,施加一个限制,即基地址必须对应于一个“尺寸”边界。因此,例如,将尺寸为1MB的逻辑区域安排为在对应于存储器内的1MB边界的基地址开始。本领域普通技术人员应该理解,在最佳实施例中的这个施加在基地址上的限制并不是最重要的,通过在保护单元内提供更复杂的硬件,可以允许基地址在不是尺寸边界的存储单元开始。
依据最佳实施例,可以将逻辑区域的尺寸选择在4KB至4GB范围内。然而,应该理解,这个范围的选择可以根据需要而改变。图2是显示对于不同存储器尺寸如何对具有五位字段的尺寸寄存器编程的表。在图2所示的例子中,尺寸可以以2的幂变化。然而,本领域普通技术人员应该理解,并不需要将尺寸限制为以2的幂变化,并且,通过提供一个具有较大数目的位的尺寸寄存器,可以在每个区域的尺寸的编程中提供额外的灵活性。
作为对使用基地址和尺寸寄存器的替换,还可以使用开始和结束寄存器来定义逻辑区域。在这种情况下,将对应于每个逻辑区域的开始和结束的实际地址的信息存储在寄存器中,而不是将基地址和区域尺寸存储在寄存器中。
通过如上所述允许使用基地址和尺寸寄存器或开始和结束寄存器来定义逻辑区域,用户可以在存储器内规划出重叠逻辑区域。在本发明的最佳实施例中,每个逻辑区域具有与其相联系的独立的属性,例如保护、可高速缓存和可缓存属性。给定重叠逻辑区域的可能性,显然对存储器的任何访问以一可预测的方式来处理是很重要的。在最佳实施例中,这是通过采用图1所示的保护单元20来实现的,下面将更详细地讨论这个保护单元的操作。
当处理器核心10需要一个指令或数据项(此后将指令或数据都称作为数据值)时,它将这个数据值的存储器地址放在处理器总线50的总线线路54上。进一步地,处理器核心10将一个处理器控制信号发布在总线线路52上。处理器控制信号包括诸如地址是否对应于一个读或写请求、访问类型(例如顺序的)、访问规模(例如,字,字节)、处理器的工作模式(例如,管理程序或用户)等信息。这个处理器控制信号由高速缓存器控制单元40接收,并促使高速缓存器控制单元确定所需数据值是否存储在高速缓存器30中。高速缓存器控制单元40指令高速缓存器30比较总线线路54上的地址与高速缓存器中的地址,以确定对应于该地址的数据值是否存储在高速缓存器中。如果是,将数据值从高速缓存器30输出到数据总线线路56上,然后由处理器核心10读取。如果对应于该地址的数据值不在高速缓存器30中,则高速缓存器控制单元40将一个信号通过线130传送给总线接口单元95,表明数据值需要从存储器120检索。
在这个高速缓存器查找过程进行时,保护单元20中的保护控制器150也接收总线线路52上的处理器控制信号,并在确定了处理器控制信号与对存储器120或高速缓存器30的潜在的读或写访问有关之后,指示地址比较器70检查由处理器核心10放在总线线路54上的地址。在最佳实施例中,对于每个逻辑区域有一个地址比较器,每个比较器具有一个相关寄存器,包含特定逻辑区域的地址范围。每个比较器用于将地址范围与总线线路54上的特定地址进行比较,以确定该地址是否包含在相应的逻辑区域中。一旦比较器确定出该地址位于一逻辑区域的地址范围内,则通过对应线路160向优先权编码器75输出一个命中信号。
优先权编码器75接收所有比较器70输出的信号。如果优先权编码器接收到一个命中信号,则这表明地址仅位于一个逻辑区域内。在这种情况下,优先权编码器75向多路复用器80发出一个信号,指示多路复用器80从属性寄存器85选择出对应于该逻辑区域的属性。然后用这些属性控制对存储器120的访问或对从高速缓存器30检索的数据值的使用。在最佳实施例中,总会产生至少一个命中信号,因为一个逻辑区域为覆盖存储器120的整个地址空间的背景区域。然而,定义一个背景区域并不是重要的,因此,在替代实施例中,有可能没有命中信号由地址比较器70产生。在这种情况下,优先权编码器75将被安排为产生一个表明没有检测到命中的信号,并将这个信号从优先权编码器75输出到逻辑单元90。数据处理电路如何对这种情况作出反应则取决于逻辑单元90是如何安排的。例如,可以将该逻辑安排为使得任何访问一个未包含在任何一个逻辑区域内的地址的企图将导致一个异常终止信号通过线路140返回处理器核心10。
假设由地址比较器70输出不止一个命中信号,则配置优先权编码器75运用优先权标准来确定每个定义的逻辑区域的相对优先权。关于每个逻辑区域的优先权信息可以存储在保护单元20中,并且,对于地址比较器为其产生一个命中信号的每个逻辑区域,可配置优先权编码器以使用相应的优先权信息来确定哪一个逻辑区域具有最高优先权。
然而,在最佳实施例中,逻辑区域的相对优先权是由对优先权编码器75的输入的安排来确定的。如果有八个地址比较器70(比较器0-7)对应于八个逻辑区域(逻辑区域0-7),则最好有八个相应的线160与优先权编码器75的八个输入(输入0-7)相连。然后可以为对应于逻辑区域的输入指定优先权,以使得优先权随输入号提高,即输入号7具有最高优先权,输入号0具有最低优先权。
然后将优先权编码器安排为运用条件逻辑来首先确定是否已经从对应于逻辑区域7的输入号7接收到一个命中信号。如果是,则从优先权编码器75向多路复用器80输出一个信号,表明应该从属性寄存器85输出逻辑区域7的属性。如果没有在对应于逻辑区域7的输入接收到命中信号,则优先权编码器75确定是否已经从对应于逻辑区域6的输入号6接收到一个命中信号。如果是,则从优先权编码器75向多路复用器80输出一个信号,表明应该从属性寄存器85输出逻辑区域6的属性。如果没有在对应于逻辑区域6的输入接收到命中信号,则对于每一个输入依次重复相同的过程,直到找到一个带有命中信号的输入。应该理解,虽然上述说明是以逻辑术语识别该过程的,实际执行的过程一般并不如上所述顺序地执行,而是提供合适的逻辑来一起接收所有八个输入,并产生一个识别最高优先权区域的输出。
在最佳实施例中,由于将最低优先权区域(区域0)设置为覆盖整个存储器地址空间的背景区域,所以在最低优先权区域(区域0)总有一个命中信号。因此,由优先权编码器75执行的处理将导致一个信号被发送到多路复用器80,指示多路复用器从属性寄存器85检索对应于包含由处理器核心10发出的地址的最高优先权区域的属性。然后将由多路复用器80输出的属性传送到逻辑单元90和总线接口单元95。逻辑单元90还从总线线路52接收处理器控制信号。这个处理器控制信号在其他事务中间定义处理器核心10的操作模式。因此,逻辑单元90可以使用这个信息来确定由多路复用器80输出的属性是否允许处于其当前操作模式的处理器核心10访问所请求的存储器地址。例如,如果逻辑单元90确定出处理器核心10处于用户模式,并且由多路复用器80输出的属性表明存储器地址只能以管理程序模式访问,则逻辑单元90可以被安排为在到处理器核心10的路径140和到总线接口单元95的路径170上产生一个异常终止信号。
由保护单元20执行的处理最好与高速缓存器查找过程发生在同一时间,以便保持充分的处理速度。如果所请求的数据值存在于高速缓存器30中,并且逻辑单元90不在线140上产生一个异常终止信号,则处理器核心10将使用从高速缓存器30检索的数据。然而,如果所请求的数据值不在高速缓存器30中,则如上所述,通过路径130发送一个信号,指示总线接口单元(BIU)95访问存储器120以获得数据值。
BIU 95将检查总线线路52上的处理器控制信号,以确定由处理器核心10发出的指令是一个读指令还是一个写指令。假设其是一个读指令,并且没有经路径170从逻辑单元90接收到异常终止信号,则BIU 95指示多路复用器100将地址从总线线路54传送到总线60的外部地址总线线路64(这假设没有给存储器120的未决写指令在写缓冲器105中是未决的-如果有这样的未决写指令,这些将在读指令之前完成。写缓冲器的行为将在后面详细讨论)。还将一个控制信号放在总线线路62上,该控制信号由存储器控制器180用来控制对存储器120的访问。存储器控制器180从总线线路62上的控制信号确定出需要一个存储器读,并指示存储器将在地址总线64上表示的地址处的数据输出到数据总线66上。
BIU 95向缓冲器110发出一个信号,使得缓冲器110将由存储器120放在外部总线线路66上的数据传送给处理器总线线路56。另外,如果由BIU 95从保护单元20的多路复用器80接收的属性表明该地址包含一个可高速缓存的数据值,则BIU 95将通过路径135向高速缓存器控制40发送一个信号,指示高速缓存器控制40将检索的数据值存储在高速缓存器30中。然后将从存储器120检索并放置在总线线路56上的数据值存储在高速缓存器30中,并传送给处理器核心10。接着,数据值可以容易地由处理器核心10从高速缓存器直接存取。如果从BIU 95接收的属性表明数据值是不可高速缓存的,则不将数据存储在高速缓存器中,处理器核心10将从总线线路56读取数据值。
上述说明已经显示出为了从存储器120读取数据值保护单元20是如何用于控制对存储器120的访问的。在由处理器核心10发出的地址是一个处理器希望写入数据值的地址的情况下,则进行下列过程。
处理器核心将一个处理器控制信号放在总线线路52上,将一个地址放在总线线路54上,将要存储的数据值放在总线线路56上。保护单元20内的保护控制器150将检查总线线路52上的处理器控制信号,并在确定处理器控制信号与对存储器120的写访问有关时,指示地址比较器70检查由处理器核心10放在总线线路54上的地址。保护单元然后执行与前面参考读指令所述的相同的操作,以便确定包含该地址的最高优先权逻辑区域。这将使对应于该区域的属性被输出到BIU 95和逻辑单元90。
BIU 95检查总线线路52上的处理器控制信号,以确定由处理器核心10发出的指令是读指令还是写指令。假设是一个写指令,BIU确定需要采用写过程,并使用从保护单元20接收的属性信息来控制该写过程。
逻辑单元90已经从由多路复用器80输出的属性和处理器控制信号确定出处理器核心是否能在其当前的操作模式写入该特定地址,如果不能,将发出一个异常终止信号。任何异常终止信号都通过路径170发送给BIU 95,指示BIU 95忽略写指令,异常终止信号还通过路径140发送给处理器核心10,使得数据、地址和控制信息分别从总线线路56、54和52上被移开,并使处理器核心10执行在这样的异常终止的情况下所需的任何其他过程。
然而,假设处理器核心被授权写入放在总线线路54上的地址,因此BIU 95不会接收到异常终止信号,则BIU 95使用来自多路复用器80的属性信息来确定要写入的数据是否是可缓冲的。如果数据是可缓冲的,则BIU 95指示写缓冲器105从总线50检索数据、地址和控制信号。一旦这已经完成,则处理器核心10不必等待写指令完成就可以处理下一个指令。
写缓冲器最好是一个FIF0缓冲器。当外部总线60空闲时,BIU 95指示多路复用器100将下一项从写缓冲器输出到外部总线60上。多路复用器100然后将必需的控制、地址和数据信号分别输出到总线线路62、64和66上,存储器控制器180采用控制信号来控制对存储器120的写访问。此时,数据将存储在存储器120中。由于要存储的数据是从写缓冲器105顺序处理的,则在某一时刻对应于由处理器核心发到总线线路54上的地址的数据将被存储在存储器120中。
然而,如果总线接口单元95确定出数据要存储到的地址是不可缓冲的,则总线接口单元95指示多路复用器100从总线线路52、54和56直接选择处理器控制、地址和数据信息。多路复用器100然后将这个信息输出到外部总线60上,以使数据存储在存储器120中的相应地址上。然而,在执行这一点之前,写缓冲器105一般要清空其内的所有记录,以确保写指令能以正确的顺序处理。一旦已经存储了对应于当前写指令的不可缓冲的数据,就可以处理下一个指令。
下面将参考图3说明由保护单元20执行的过程,图3是显示保护单元20内执行的处理步骤的流程图。在步骤300,保护单元20等待处理器核心10将一个地址放在地址总线线路54上。如上所述,保护单元20内的保护控制器150响应于PC总线52上的一个控制信号,指示地址比较器70检查由处理器核心10放在总线线路54上的地址。在最佳实施例中,为每个逻辑区域提供了一个地址比较器,因此在最佳实施例中在地址比较器方框70内有八个地址比较器。每个地址比较器具有一个相关的包含相应逻辑区域的地址范围的地址寄存器。在步骤310将从地址线54接收的地址与相关寄存器中的地址范围进行比较,如果该地址位于这个地址范围内,则在步骤320由该地址比较器将一个“命中”信号输出到相应的线160上。
由地址比较器70产生的所有信号都被传送到优先权编码器75,其中,在步骤330,运用优先权标准来确定包含具有最高优先权的地址的逻辑区域。如上所述,在最佳实施例中,这是通过将优先权编码器安排为运用条件逻辑首先确定在对应于最高优先权区域的输入是否接收到一个命中信号来执行的。如果为否,则检查对应于下一个最高优先权区域的输入,等等,直到识别出一个命中信号。由于优先权编码器75以优先权渐减的顺序在逻辑上检查输入,则识别出的第一个命中信号对应于包含由处理器核心10发出的地址的最高优先权逻辑区域。应该理解的是,这个过程不需要一次一个输入地顺序执行,在最佳实施例中,将提供合适的逻辑来一起接收全部八个输入,并产生一个识别最高优先权区域的输出。
在最佳实施例中,总会有至少一个命中信号,因为要么整个地址空间由各个逻辑区域覆盖,要么一个逻辑区域是覆盖存储器120的整个地址空间的背景区域。然而,定义背景逻辑区域不是必需的,因此有可能没有命中信号产生,表明由处理器核心10发出的地址对应于存储器120中的一个“空洞”。在这样的例子中,在没有背景区域的情况下,系统一般被硬连线,以便定义如何处理对空洞的访问;例如,可以安排为对空洞的任何访问都导致由逻辑单元90产生一个异常终止信号。另一方面,如果定义了一个逻辑背景区域,则不需要依赖这一点,因为对应于该背景区域的属性将用于控制访问。
假设将背景区域定义为最低优先权区域,这个背景区域可以被硬连线为覆盖整个地址空间。然后,可以从由地址比较器70执行的比较过程中排除这个最低优先权区域,从而可以少一个比较器以及少一个对优先权编码器75的连线160。如果地址比较器70未产生命中信号,从而表明没有其他逻辑区域包含所述地址,则优先权编码器75可以被安排为向多路复用器80发送一个信号,指示它选择与最低优先权区域相联系的属性。这个方法虽然稍微降低了灵活性,但可以提高效率,因为地址比较器不将该地址与最低优先权区域的地址范围进行比较,这个最低优先权区域的属性用作为地址比较器确定出没有其他逻辑区域包含所述地址的直接结果。
一旦优先权编码器75已经确定出包含地址的哪一个逻辑区域具有最高优先权,则向多路复用器80输出一个信号,指示多路复用器在步骤340从包含该逻辑区域的属性的属性寄存器85选择属性。一旦属性已经由多路复用器80选择,在步骤350将这些属性输出,用于控制存储器或高速缓存器访问。
在最佳实施例中,由逻辑单元90执行一个最后校验,以确定在步骤350输出的属性是否表明处于其当前操作模式的处理器核心10不能访问由这些属性定义的逻辑区域内的存储器地址。例如,如果处理器核心10正以用户模式操作,在步骤370输出的一个属性表明地址只能以管理程序模式访问,逻辑单元90将通过路径140向处理器核心10发出一个异常终止信号,表明处理器核心10不能访问该存储区域,还通过路径170向BIU 95发送该异常终止信号。
上述说明已经讨论了一种数据处理装置,其中,可以定义多个可变尺寸的逻辑存储区域,这些逻辑存储区域可以重叠,以提高装置的灵活性。
虽然这里已经公开了一个特定实施例,应该理解的是,本发明并不仅限于此,在本发明的范围内可以作出许多修改和增加。例如,如图1所示,高速缓存器30可用于存储指令和数据,或者,可替换地,一个高速缓存器用于存储指令,一个分开的高速缓存器用于存储数据。在后者的情况下,最好使用两个保护单元20,一个用于指令,一个用于数据。这两种能实施方式如图4A和4B所示。
在4A中,指令高速缓存器430和数据高速缓存器440可由处理器核心10同时访问。当一个指令地址用于指令高速缓存器430中的高速缓存器查找时,如果需要,该地址还运用到保护单元400,以确定应该被用于控制对存储器的访问的属性。同样,当一个数据地址用于数据高速缓存器440中的高速缓存器查找时,如果需要,该地址还运用到保护单元410,以确定应该被用于控制对存储器的访问的属性。保护单元400和410最好与图1所示的保护单元20相同,除了属性寄存器和定义逻辑区域的寄存器现在是由一组寄存器420提供的。因此,在图4A中,将相同的逻辑区域和属性用于对存储器的数据和指令访问。
然而,图4B中所示的替换方法是保护单元400和410分别具有分离的寄存器450和460,从而允许为数据和指令访问指定具有不同属性的不同尺寸的逻辑区域。由于例如可能需要不同尺寸的数据区域和指令区域,所以这提供了更大的灵活性。

Claims (18)

1.一种用于控制对具有存储数据值的多个存储单元的存储器的访问的数据处理装置,每个存储单元具有一个对应的地址,该装置包括:
地址范围存贮器,用于存储用于识别所述存储器中的多个逻辑区域的地址范围的信息;
属性存贮器,用于存储每个逻辑区域的用来控制对所述逻辑区域内的存储单元的访问的属性;
地址比较器逻辑,用于将由处理器发出的一个对应于所述存储单元中的一个的地址与所述多个逻辑区域的地址范围进行比较,并且,如果一个或多个逻辑区域包含所述地址,用于产生一个指示这些包含所述地址的逻辑区域的信号;
属性确定逻辑,响应于由地址比较器逻辑产生的信号,用于运用预先确定的优先权标准来确定哪一个包含所述地址的逻辑区域具有最高的优先权,从而使用属性存贮器中对应于该最高优先权区域的属性来控制对由所述地址指定的存储单元的访问。
2.如权利要求1所述的数据处理装置,其中,一个所述逻辑区域是覆盖整个存储器并具有所述逻辑区域的最低优先权的背景区域,从而如果由处理器发出的地址对应于一个未处于任何其他逻辑区域内的存储单元,则使用与该背景区域相联系的属性来控制对由该地址指定的存储单元的访问。
3.如权利要求1或权利要求2所述的数据处理装置,其中,将最低优先权区域硬连线为覆盖整个存储器的背景区域,所述最低优先权区域不包括在由所述地址比较器逻辑执行的比较过程中,以使得如果地址比较器逻辑产生一个表明没有逻辑区域包含所述地址的信号,则将属性确定逻辑安排为表明应该使用与最低优先权区域相联系的属性来控制对由所述地址指定的存储单元的访问。
4.如权利要求1至3中的任何一个所述的数据处理装置,其中,逻辑区域的地址范围由一个识别所述区域在哪一个存储单元开始的基地址和一个识别逻辑区域尺寸的尺寸属性来指定。
5.如权利要求4所述的数据处理装置,其中,将基地址确定为尺寸属性的函数,以使得尺寸X的存储区域的基地址必须为值X的倍数。
6.如权利要求4或权利要求5所述的数据处理装置,其中,基地址和尺寸属性是用户可编程的。
7.如权利要求1至3中的任何一个所述的数据处理装置,其中,所述逻辑区域的地址范围由识别逻辑区域的开始和结束的起始地址和结束地址来指定。
8.如权利要求7所述的数据处理装置,其中,起始地址和结束地址是用户可编程的。
9.如前面任何一个权利要求所述的数据处理装置,其中,所述地址比较器逻辑包括数个比较器,每个地址范围一个。
10.如前面任何一个权利要求所述的数据处理装置,其中,所述地址范围存贮器包括数个寄存器。
11.如依赖于权利要求9的权利要求10所述的数据处理装置,其中,单独的寄存器与每个比较器相联系。
12.如前面任何一个权利要求所述的数据处理装置,其中,所述属性存贮器包括与一个多路复用器相连的多个属性寄存器,每个寄存器包含一个逻辑区域的属性,属性确定逻辑向多路复用器输出一个信号,使得多路复用器输出来自对应于包含所述地址的最高优先权区域的属性寄存器的属性。
13.如前面任何一个权利要求所述的数据处理装置,其中,所述地址比较器逻辑具有多个输出,为每个逻辑区域提供一个输出,并且在所述输出上产生一个信号,以表明相应的逻辑区域是否包含所述地址,所述属性确定逻辑具有相应的多个用于接收来自所述多个输出的信号的输入,并且这多个输入具有由属性确定逻辑用来运用预先确定的优先权标准的相对优先权。
14.如权利要求1-12中的任一个所述的数据处理装置,其中,所述预先确定的优先权标准作为优先权信息存储在一个可由属性确定逻辑访问的存贮器中,优先权信息指定所述逻辑区域的相对优先权。
15.如前面任何一个权利要求所述的数据处理电路,还包括:
一个处理器核心,用于发出对应于所述存储器内的存储单元的地址,其中存储器中存储着处理器所需的数据值或将要存储由处理器核心处理的数据值。
16.如权利要求15所述的数据处理电路,还包括一个存储可由处理器核心访问的数据值的高速缓存器。
17.如权利要求16所述的数据处理电路,其中,提供第一高速缓存器来存储指令,提供第二高速缓存器来存储数据,为所述第一和所述第二高速缓存器中的每一个复制所述地址比较器逻辑和所述属性确定逻辑。
18.一种操作数据处理装置来控制对存储器的访问的方法,存储器具有存储数据值的多个存储单元,每个存储单元具有一个相应的地址,所述方法包括下列步骤:
(a)存储识别所述存储器内的多个逻辑区域的地址范围的信息;
(b)为每个逻辑区域存储用于控制对所述逻辑区域内的存储单元的访问的属性;
(c)将由对应于一个所述存储单元的处理器发出的、地址与所述多个逻辑区域的地址范围进行比较;
(d)如果一个或多个逻辑区域包含所述地址,产生一个表明这些包含所述地址的逻辑区域的信号;
(e)响应于在所述步骤(d)产生的信号,运用预先确定的优先权标准来确定包含所述地址的哪一个逻辑区域具有最高优先权;以及
(f)输出对应于该最高优先权区域的所存储属性,用于控制对由所述地址指定的存储单元的访问。
CN98804655A 1997-04-30 1998-02-03 存储器访问保护 Expired - Lifetime CN1118027C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9708822.3 1997-04-30
GB9708822A GB2325061B (en) 1997-04-30 1997-04-30 Memory access protection

Publications (2)

Publication Number Publication Date
CN1254424A true CN1254424A (zh) 2000-05-24
CN1118027C CN1118027C (zh) 2003-08-13

Family

ID=10811626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98804655A Expired - Lifetime CN1118027C (zh) 1997-04-30 1998-02-03 存储器访问保护

Country Status (12)

Country Link
US (1) US6021476A (zh)
EP (1) EP0979456B1 (zh)
JP (1) JP3710490B2 (zh)
KR (1) KR100563222B1 (zh)
CN (1) CN1118027C (zh)
DE (1) DE69823180T2 (zh)
GB (1) GB2325061B (zh)
IL (1) IL132418A (zh)
MY (1) MY114810A (zh)
RU (1) RU2215321C2 (zh)
TW (1) TW376475B (zh)
WO (1) WO1998049623A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428202C (zh) * 2005-08-26 2008-10-22 株式会社东芝 存储器访问控制装置
CN101911024A (zh) * 2008-01-11 2010-12-08 国际商业机器公司 带有帧管理的动态地址转换
CN101290646B (zh) * 2007-04-16 2013-05-01 三星电子株式会社 在虚拟环境中保护系统的设备和方法

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272605B1 (en) * 1998-06-01 2001-08-07 International Business Machines Corporation System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests
US6832257B1 (en) * 1998-12-07 2004-12-14 Sony Corporation Computer, recorded medium on which address validity checking program is recorded, and address validity checking method
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
JP2003006046A (ja) * 2001-06-25 2003-01-10 Sanyo Electric Co Ltd メモリプロテクション方法および回路
JP2003060906A (ja) * 2001-08-21 2003-02-28 Canon Inc 画像処理装置及びその方法
US7134139B2 (en) * 2002-02-12 2006-11-07 International Business Machines Corporation System and method for authenticating block level cache access on network
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7266786B2 (en) 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
US7203798B2 (en) * 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
DE10335643B4 (de) * 2003-08-04 2007-10-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Steuern des Zugriffs von mehreren Datenverarbeitungseinrichtungen auf einen Speicher
US7231499B2 (en) * 2003-12-17 2007-06-12 Broadcom Corporation Prioritization of real time / non-real time memory requests from bus compliant devices
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US7068545B1 (en) * 2005-01-04 2006-06-27 Arm Limited Data processing apparatus having memory protection unit
US20070005932A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Memory management in a multiprocessor system
US8572329B2 (en) * 2005-10-04 2013-10-29 Arm Limited Multi-region default memory map
TW200805065A (en) * 2006-01-17 2008-01-16 Nxp Bv Region protection unit, instruction set and method for protecting a memory region
JP5100133B2 (ja) * 2007-01-19 2012-12-19 株式会社東芝 情報処理装置
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8051263B2 (en) * 2007-05-04 2011-11-01 Atmel Corporation Configurable memory protection
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
GB2484927A (en) * 2010-10-26 2012-05-02 Advanced Risc Mach Ltd Provision of access control data within a data processing system
US9116845B2 (en) 2011-02-23 2015-08-25 Freescale Semiconductor, Inc. Remote permissions provisioning for storage in a cache and device therefor
US8949551B2 (en) 2011-02-23 2015-02-03 Freescale Semiconductor, Inc. Memory protection unit (MPU) having a shared portion and method of operation
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
US8639895B2 (en) 2011-07-14 2014-01-28 Freescale Semiconductor, Inc. Systems and methods for memory region descriptor attribute override
US8572345B2 (en) 2011-09-16 2013-10-29 Freescale Semiconductor, Inc. Memory management unit (MMU) having region descriptor globalization controls and method of operation
GB2522906B (en) * 2014-02-10 2021-07-14 Advanced Risc Mach Ltd Region identifying operation for identifying a region of a memory attribute unit corresponding to a target memory address
US10534719B2 (en) 2017-07-14 2020-01-14 Arm Limited Memory system for a data processing network
US10467159B2 (en) 2017-07-14 2019-11-05 Arm Limited Memory node controller
US10592424B2 (en) 2017-07-14 2020-03-17 Arm Limited Range-based memory system
US10489304B2 (en) * 2017-07-14 2019-11-26 Arm Limited Memory address translation
US10613989B2 (en) 2017-07-14 2020-04-07 Arm Limited Fast address translation for virtual machines
US10353826B2 (en) 2017-07-14 2019-07-16 Arm Limited Method and apparatus for fast context cloning in a data processing system
US10565126B2 (en) 2017-07-14 2020-02-18 Arm Limited Method and apparatus for two-layer copy-on-write
US10884850B2 (en) 2018-07-24 2021-01-05 Arm Limited Fault tolerant memory system
US11232039B2 (en) * 2018-12-10 2022-01-25 Advanced Micro Devices, Inc. Cache for storing regions of data
JP2021022061A (ja) 2019-07-25 2021-02-18 キオクシア株式会社 ストレージ装置、メモリアクセス制御システムおよびメモリアクセス制御方法
EP4372567A1 (en) 2022-11-18 2024-05-22 Thales Dis France Sas Processor and method for modifying processor behavior based on memory attributes and instruction type

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3827029A (en) * 1972-09-25 1974-07-30 Westinghouse Electric Corp Memory and program protection system for a digital computer system
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
JPS58225442A (ja) * 1982-06-25 1983-12-27 Toshiba Corp 優先順位制御回路
JPH01229353A (ja) * 1988-03-09 1989-09-13 Fujitsu Ltd Dmaコントローラ
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5465343A (en) * 1993-04-30 1995-11-07 Quantum Corporation Shared memory array for data block and control program storage in disk drive
US5623636A (en) * 1993-11-09 1997-04-22 Motorola Inc. Data processing system and method for providing memory access protection using transparent translation registers and default attribute bits
DE69509717T2 (de) * 1994-08-31 1999-11-11 Motorola Inc Modulare Chipauswahl-Steuerschaltung
US5742826A (en) * 1994-11-09 1998-04-21 International Business Machines Corporation Object encapsulation protection apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428202C (zh) * 2005-08-26 2008-10-22 株式会社东芝 存储器访问控制装置
CN101290646B (zh) * 2007-04-16 2013-05-01 三星电子株式会社 在虚拟环境中保护系统的设备和方法
CN101911024A (zh) * 2008-01-11 2010-12-08 国际商业机器公司 带有帧管理的动态地址转换
CN101911024B (zh) * 2008-01-11 2012-11-14 国际商业机器公司 带有帧管理的动态地址转换

Also Published As

Publication number Publication date
JP3710490B2 (ja) 2005-10-26
GB2325061A (en) 1998-11-11
IL132418A0 (en) 2001-03-19
TW376475B (en) 1999-12-11
JP2001522492A (ja) 2001-11-13
KR20010012133A (ko) 2001-02-15
KR100563222B1 (ko) 2006-03-22
RU2215321C2 (ru) 2003-10-27
MY114810A (en) 2003-01-31
CN1118027C (zh) 2003-08-13
US6021476A (en) 2000-02-01
GB2325061B (en) 2001-06-06
WO1998049623A1 (en) 1998-11-05
DE69823180D1 (de) 2004-05-19
DE69823180T2 (de) 2004-11-11
EP0979456A1 (en) 2000-02-16
IL132418A (en) 2003-11-23
GB9708822D0 (en) 1997-06-25
EP0979456B1 (en) 2004-04-14

Similar Documents

Publication Publication Date Title
CN1118027C (zh) 存储器访问保护
US4045781A (en) Memory module with selectable byte addressing for digital data processing system
CN1049059C (zh) 实时数据图象网络系统及操作该系统的方法
CN1153145C (zh) 预加载不同缺省地址转换属性的方法和装置
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US4055851A (en) Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
CN1306449C (zh) 并行模式检测引擎集成电路、相关方法及数据处理系统
US6578129B1 (en) Optimized virtual memory management for dynamic data types
US5140644A (en) Character string retrieving system and method
CN1008839B (zh) 微处理机系统的存储管理
CN1055252A (zh) 能选取多信息源中独立发生事件的总线监视器
CN1120196A (zh) 地址变换电路
US4580217A (en) High speed memory management system and method
US4922410A (en) Input/output system capable of allotting addresses to a plurality of input/output devices
CN101046775A (zh) 可锁定码的快取及其处理器、控制器与控制方法
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
US20030212985A1 (en) System and method for using data address sequences of a program in a software development tool
CN1352796A (zh) 有呼出功能的存储器
JPH08195089A (ja) 複数の条件を同時に検出するための装置、およびその方法
CN1010715B (zh) 在虚拟存储系统中进行页面置换的装置和方法
EP0468402B1 (en) Character string retrieving system and method
JPH1139344A (ja) 2次元配列コードを用いた文字列検索方法
US6604173B1 (en) System for controlling access to external cache memories of differing size
JPS6046456B2 (ja) デ−タアクセス装置
CA1090923A (en) Memory arrangement for use in a digital data processing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20030813

CX01 Expiry of patent term