CN1016830B - 利用存取和故障逻辑信号保护主存储器单元的设备和方法 - Google Patents

利用存取和故障逻辑信号保护主存储器单元的设备和方法

Info

Publication number
CN1016830B
CN1016830B CN88104011A CN88104011A CN1016830B CN 1016830 B CN1016830 B CN 1016830B CN 88104011 A CN88104011 A CN 88104011A CN 88104011 A CN88104011 A CN 88104011A CN 1016830 B CN1016830 B CN 1016830B
Authority
CN
China
Prior art keywords
page
data
field
application
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.)
Expired
Application number
CN88104011A
Other languages
English (en)
Other versions
CN1030654A (zh
Inventor
戴维·N·卡特勒
戴维·A·奥必斯
迪利普·班达卡
韦恩·卡尔多萨
理查德·T·咸特克
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CN1030654A publication Critical patent/CN1030654A/zh
Publication of CN1016830B publication Critical patent/CN1016830B/zh
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Landscapes

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

Abstract

在一个数据处理系统中,用于控制可以对数据信号组进行处理的处理类型的设备和方法,包括一个页面表项格式,它具有多个字段位置,用来存放规定页面存取权限的信号。除了该/写存取控制以外,信号组存取权限可以由数据处理单元现行的工作方式和被指定地址的指令或数据元素的所要求的活动(即读、写或执行)来决定。

Description

本发明一般说来涉及数据处理系统,更具体地说,涉及到由数据处理系统处理的指令和数据元素的控制。
在数据处理系统中,数据处理系统对数据元素进行操作,同时也对形成程序而控制这些操作的指令元素进行操作,这些数据元素和指令元素一般都存放在一个主存储单元中。主存储单元可以存放与多个由数据处理系统所执行的程序有关系的指令和数据元素。为了各种原因,例如指令和数据元素的完整性,经常希望控制对指令和数据元素所进行的操作的类型。例如,当数据处理系统的用户能够去变动操作系统程序的基本部分或选定的例行子程序时,就会引起不一致的结果。
过去,曾使用过各种技术来控制能对逻辑信号组进行操作的类型。对每一个逻辑信号组可以加上一个或若干个字段,由它来指定相应的指令和数据元素所要求的用法。由于对指令或数据元素可以指定多种存取权限,所以在和指令或数据元素相关的所有各种可能的存取权限中,只能对它们指定其中的一个子集,以免这个必需的存取权限的字段变得过分庞大。这个问题在Multics(复用的信息和计算服务)系统中是用一种略为不同的方式表达的:对于数据处理系统的操作规定了多种特权级别,同时,在这些级别之间的传送是受到严格控制的。Multics系统在麻省理工学院(MIT)出版社出版的由Elliott    I.Orgnick著的“The    Multic    Syslem;An    Examination    of    its    Structure”(Multics系统;对它的结构的研究)中作了叙述。Multics系统及类似的数据处理系 统需要复杂的硬件/软件特权级别接口,而这些接口需要大量的处理时间才能实现。和Multics系统相关的存取权限在每个特权级别上都有规定,而且在不同特权级别之间转移时必须检查其一致性。
因此,人们感到需要一种技术来控制对指令和数据元素的操作。这种技术要有足够的灵活性,以便向可利用的处理选择提供这种灵活性而又不需要用掉大量的专用处理能力,或者不需要在每一条有关的指令或数据元素中加上相当大的存取权限的字段。
本发明的目标就是提供一个经过改进的数据处理单元。
本发明的一个特点是去控制对程序指令和数据元素所进行的操作的类别。
本发明的更具体的特点是通过在页面表项中存放存取权限信号而提供对指令或数据元素的存取权限的控制。
本发明的另一个具体特点是使得对数据处理系统的存储器的读/写访问(存取)成为数据处理系统的操作方式的一种功能。
本发明的还有一个具体特点是限制指令元素的应用,使其成为“只能执行的”。
本发明的另外一个具体特点是禁止数据处理单元试图去执行数据字段(即,非指令字段)。
本发明还有一个特点是在试图进行有效的“读”、“写”、或“执行”操作时提供一个发信号的机构。
按照本发明上述的和其它的特点已经得到实现,方法是提供一个设备,当中央处理单元试图在有关的页面内存取数据时,这个设备就对页面表项的字段进行存取,这些字段规定了对组成页面内信息的指令和数据元素可以执行的处理。页面表项的存取权限字段包含了在操 作的用户方式(这时可执行非特权指令)下进行读和写操作的允许信号,以及在操作的内核(Kernel)方式(此时可执行特权和非特权指令)下进行读和写操作的允许信号。此外,页面表项存取权限字段允许规定执行时故障、写时故障和读时故障等信号。这些信号可以让一个指令元素被指定为只能执行字段,让一个数据元素被指定为非执行的,以及提供汇总存取和修改信息的装置。
本发明的这些和其它一些特点在阅读下面的说明并参考附图后就能理解。
图1A和图1B是能够利用本发明的数据处理系统实现方案的例子。
图2是能够利用本发明的一个数据处理单元中的中央处理单元。
图3是带有虚拟存储的数据处理系统的组织的图示。
图4A是根据优选的实施例的页面表项的格式。
图4B是对页面表项字段进行测试以确定对相应的页面表的存取是否允许的示意图。
图5图示了利用本发明的间接编址技术。
1、各附图的详细说明
首先参考图1A和图1B,这里示出了两个能够使用本发明的典型的数据处理系统的配置。在图1A中,中央处理单元(#1)11联接到系统总线19上,其它的中央处理单元(例如#N)12也可以联接到系统中。中央处理单元11(直到12)按中央处理单元的结构并结合中央处理单元的控制程序而处理数据,该控制程序由驻留在主存储单元15中的指令所组成。非驻留的数据和指令一般是存放在大容量存储单元中的,并通过系统总线19而与主存储单元15来 回传送。输入/输出单元{#1}16(直到{#M}17)通过系统总线19而把诸如大容量存储单元、用户终端设备和通信设备等各种设备接到数据处理系统。大容量存储单元存放着数据处理单元所需要的数据和指令。为数据处理单元11到12操作而需要的数据和/或指令的集合,一般叫做数据和/或指令的页面,是从读写速度通常较慢的大容量存储单元传送到主存储单元的,使中央处理单元可以较快地对它们进行存取。这种面向总线的系统具有这样的优点:它可以较方便地重新配置系统,但也有缺点:每个系统的部件都要有控制设备来提供和系统总线的接口。下面请看图1B,这里示出了一个数据处理系统,其中的中央处理单元11(直到12)和输入/输出单元16(直到17)通过一个存储控制单元14而联接到主存储单元15,存储控制单元14取代了系统总线19,并取代了如图1A中所示的面向总线的数据处理系统配置中的各个数据处理系统的部件所执行的控制功能。存储控制单元14提供了对数据和指令的传送的集中控制和监视,它可以比图1A的面向总线的配置效率更高,但灵活性则有所损失。
下面请参考图2,它示出了能够有效地利用本发明的一个示例性的中央处理单元的方框图。发送单元22负责提供(经过译码的)指令到多个专用的执行单元,包括标量操作地址产生单元24,至少一个执行单元(#1)25(直到执行单元{#Q}26)以及一个向量操作单元28,向量操作单元28包括向量操作处理单元28A,向量操作地址产生单元28B和向量操作寄存器28C。执行单元所处理的数据一般是从标量寄存器23或向量寄存器28C取出的。从执行单元所得到的结果存放在标量寄存器23或向量寄存器28C或 数据高速缓存单元27中。数据高速缓存单元27可以看作是一个在主存储单元15和中央处理单元11之间提供一个接口的高速缓冲存储单元。(在图2中所示的数据高速缓存单元27是画成直接联接到主存储单元的。如图1A和图1B所示,实际联接可以包括中间的数据处理设备)。发送单元22包括这样的设备,它决定哪一个执行单元将去处理选定的数据,并决定选定的执行单元什么时候可以用来处理数据。这后一个特点意味着它应能认定目标存储单元确有可能用来存放处理过的数据。指令高速缓存单元21存放各种指令,它们被发送单元所译码并转送到相应的执行单元。发送单元22具有这样的设备,该设备力图增加执行单元的处理操作量使之成为最大。这样,发送单元22要包括指令预取的设备和算法以保证发送单元22在需要时就能得到相应的指令(包括任何分支指令)。如标量操作地址产生单元24和向量操作单元28所指明的那样,多个执行单元是用于处理某些类别的处理操作的专用处理设备。例如,一个执行单元可以配置成处理浮点运算,或整数算术运算等等。与发送单元22联系在一起的有标量寄存器23,它们可以存放执行程序所需的数据,或者提供数据处理操作的一个记录。例如,一个寄存器是程序计数寄存器,它存放正在执行的待处理的程序指令序列中下一个指令的(虚)地址。标量操作地址产生单元24用于把虚地址转换成为主存储单元15中的物理位置。发送单元22还负责在执行单元以不同速率处理指令时把从执行单元来的数据重新排列成为正确的序列。
向量操作单元28包括一个向量操作处理单元28A,一个向量操作地址产生单元28B和向量操作寄存器28C。向量操作处理单元的活动可以控制数据向执行单元24至26的分配,并控制其中指 令的执行。按照另外一个实施例(未示出),用于向量操作单元28去执行指令的执行单元是可以在数据处理系统中得到使用的。当执行单元对向量和标量操作都可使用时,控制是服从于发送单元22的整体系统控制的,这种控制分配数据处理单元的资源。
下面请参阅图3,这里列出了优选实施例的虚地址编址机构的说明。在发送单元中的一个指令301具有一个虚地址302,它标识了该指令要对之进行操作的数据元素。发送单元把虚地址302传送到标量地址产生单元24(或者根据相应的情况,送到向量地址产生单元28B)。在地址产生单元24中(或28B中),虚地址的一部分(由地址产生单元中的设备303)用来标识主存储单元15中的一个页面表项304,页面表项304被传送到地址产生单元24(或28B),设备305测试页面表项中被选中的字段,以确定试图要进行的对数据元素的存取是否允许。当这种存取未被允许时,则存取违例306被标识,这时就调用相应的操作系统程序以确定如何响应这种存取违例。当测试305确定对数据元素312的存取是被允许时,则对页面表项304作一次测试307,以确定指令所要求的数据元素在主存储单元15中是否可以得到,当测试307表明数据元素不存在时,就产生一个页面故障308,并调用相应的操作系统程序,把数据元素传送到主存储单元15(在位置312中)。如果所要求的数据元素在主存储单元中可以得到,则通过测试309,去测试页面表项304,以确定:有关的指令所要求这种数据元素的活动是否已被指定是由故障所引起的。当这种由指令所确定的活动是故障情况时,则根据是读时故障或写时故障或执行时故障,将分别去调用操作系统程序以响应这种故障情况。如果测试309表明指令的对 应于有关数据元素的活动不是故障情况,则地址产生单元24(或28B)就决定存放着所需的数据元素的主存储单元15中的物理地址311。这一地址中的数据元素312被送到标量寄存器23的、向量操作寄存器28C的、或(例如数据元素是一条指令的话)指令高速缓存单元21中的存储位置313。在这种情况下,由虚地址所标识的所需的数据元素就可以被指令301作处理之用。
参考图4A,页面表项400用于把虚地址翻译成为物理地址。在0位位置401的字段V(有效)表明DCV、ASM、FOE、FOW、FOR和PFN字段的有效性。当有效位置位时,这些字段能有效地被硬件设备所使用。当这一位清除时,则PFN(页面帧号)字段被保留供操作系统程序使用。在位1的位置402的KRE字段(内核读允许)允许在中央处理单元处于特权和内核方式时进行读操作,在这一位为零时,如果试图在内核方式下进行读数据或取指令操作,则会发生一次存取违例异常。在位2位置403的KWE字段(内核写允许)在中央处理单元处于特权或内核方式时,允许进行写操作。当这一位为零而试图在内核方法下进行写操作,则发生一次存取违例异常。在位3位置404的URE字段(用户读允许)在中央处理单元处理于非特权或用户方式时允许进行读操作。当这一字段为零而在中央处理单元处于用户方式下试图进行读数据操作或取指令时,则会发生一次存取违例异常。在位4位置的UWE字段(用户写允许)允许在非特权或用户方式下的写操作。当这个字段为零而试图在URE方式下进行写数据操作时,就发生一次存取违例异常。即使在V字段为零时,KRE、KWE、URE和UWE字段仍是有效的。在位5位置406的FOR字段(读时故障)在被置位成逻辑1时,则在试 图从相应的页面的任何单元进行读出时(即一个LOAD(装入)指令从页面的某个单元读数据),将会引起一次读出故障异常。在位6位置的FOW字段(写时故障)当被置成逻辑1时,则在试图对相应的页面上的任何单元进行写操作时(即STORE(存储)指令把数据写到页面上的一个单元),就引起一次写时故障异常。在位7位置的FOE字段(执行时故障)被置成逻辑1时,则在试图从相应的页面上执行一条指会时,将引起执行时故障。在位8位置的ASM字段(地址空间匹配)表明在试图对相应的页面进行存取时,所有地址空间号都匹配(即在翻译缓冲器中比较器没有使用ASN)。在位9位置410的DCV字段(不要高速缓存虚拟)当置位成逻辑1时,禁止把相应页面的内容存放到虚拟高速缓存中去。在位10-12位置411中的字段被保留供将来使用。在位13-44位置上的PFN字段(页面帧号)包含页面帧号。PFN字段总是指向页面帧的物理边界。当V字段401置位时,从虚地址来的页面内的字节(即位移)各位被连接到PFN字段上以形成硬件设备所使用的物理地址。
下面参考图4B,在图3中一般性地表示过的页面表项字段的测试,如测试305、307及309,现在用图4A所标识的页面表项字段来说明。在测试305中,与页面表项相应的存取权限与试图在页面内存取一个数据元素的指令的存取参数相比较,以确定该存取是否被允许。特别是,KRE、KWE、URE和UWE字段(即字段402到405)和数据处理系统的工作方式及存取活动(即,是读操作还是写操作)相比较,以确定该存取是否被允许。如果该存取不被允许,则标识出有存取违例452,并调用相应的操作系统程序453。在测试307中,有效位V(即字段401)被测试以确定 有效数据是否存放在和虚地址相应的数据和/或指令页面中。当有效数据并不在数据元素的页面中时,就标识出一个页面故障455并调用相应的操作系统程序456。在这种情况下,相应的操作系统的响应是把数据元素的页面从后备存储器移到主存储单元并重新执行发生页面故障的指令。关于图3的测试309,页面表字段FOR(读时故障)、FOW(写时故障)和FOE(执行时故障),即字段406到408,被相对于与其相应的指令的参数而测试,以确定对数据元素页面中的数据元素进行指令操作的企图是否会引起一个故障状态。如果判定有故障状态458,则调用操作系统程序。否则就执行产生物理地址的操作。
下面再参阅图5,这里说明了间接地址的翻译技术,本发明应用了这个技术。确定物理地址是在图2中的标量操作地址产生单元24或在向量操作地址产生单元28B中进行的。页面表基址寄存器501和地址空间号寄存器521的内容被存入图2的标量操作地址产生单元24和向量操作地址产生单元28B中。为了得到相应于某一虚地址的数据元素(即数据元素505A),数据的虚地址进入图2的标量操作地址产生单元24或向量操作地址产生单元28B。页面表基地址寄存器的内容501被解释成为数据组区段1集合中的起始地址,503,而虚地址502的高位的10位(字段A)则被解释成为段1,503的变址值。数据组503A被这一操作所标识,而这个数据组(503A)则被转送到图2中的标量操作地址产生单元24或向量操作地址产生单元28B。数据组503A的PFN部分(页面帧号)则用作其标号为段2,504的数据组集合的基地址。字段B(即虚地址502的下面10个位)被用作段2的变址值,以便取得 段2,504的数据元504A。数据组504A被转送到图2中的标量操作地址产生单元24或向量操作地址产生单元28B。包括在数据组504A中的有存取控制位,它已结合图4而作了说明。这些存取控制位在这个时候被检验,如果合适时,就产生一个指定的异常。(在优选的实施例中,与段1和段2相关的存取控制位也被检验,但只对内核读出时这样做)。此外,V字段也可以在段1和段2的级别上检验,以确定段2或段3级别的页面是否常驻在主存储器中。数据元素504A的PFN部分用于确定段3,509的基地址。字段C(即虚地址的下一个后10位)用作为段3的变址值,它和段2的PFN字段504A的基地址一起去得到数据组509A的地址。最后,数据组509A的PFN访问数据页面505的基地址。虚地址502的最低13位(字段D)决定数据页面505的偏移值并标识数据组505A,这是虚地址所标识的数据组。为了消除上述步骤中两阶段的对存储器的访问,可以为图2的标量操作地址产生单元24和/或向量操作地址产生单元提供一个翻译缓冲器506。按照一种实施例,虚地址的字段C(10位)可以用来标识翻译缓冲器的一个单元。被指定地址的单元中的标志字段和虚地址502中的20位的字段A和字段B进行比较,以确定这种标识的正确性。数据组504是存储在翻译缓冲器中的,并可被标量或向量操作地址产生单元所利用。地址翻译缓冲器可以用其它方式实现以加快地址的翻译。除了字段A和字段B的20位以外,翻译缓冲的标志字段和一个地址空间号(ASN)522相联系。如果从数据组504A来的ASM位被置1,则从虚地址来的字段A和字段B的20位和字段A及字段B的20位标志位之间的匹配就足以标识正确的翻译。但如果从数据组504A 来的ASM位被置零,则不仅从虚地址来的20位字段A和字段B要和20位的标志字段相匹配,而且当前的ASN521也必须和从翻译缓冲器来的字段522相匹配。
2、优选实施例的工作
图2中具有流水线执行单元的中央处理单元在优选的实施例中,其已有的实现受到若干限制,但是,别的设计实现可以利用本发明。中央处理单元包括多个执行单元,每个执行单元适合于执行一种类型的指令。举例来说,一个执行单元,标量地址产生单元24,控制数据元素在中央处理单元和主存储单元之间的传送,即执行标量的装入/存储指令。一个执行单元适合于执行数据移位操作,一个执行单元适合于浮点的加法/减法操作,一个执行单元适应于整数和浮点数的乘法操作,以及一个执行单元适应于整数和浮点数的除法操作。专用定的执行单元可以,但并非必须,按流水线方式实现。中央处理单元的其它特点如下:在当前执行的指令序列中的指令从指令高速缓存单元21被传送到发送单元22。在发送单元中,指令被分解成为它的组成部分,在那里产生了与数据有关的控制信号。但是,在指令可以被执行之前(即发送之前),必须满足几个限制条件。所有指令用的源和目标寄存器必须是可以被使用的,也就是说,没有一个向所要求的寄存器进行的写操作是未完成的的。向寄存器写的途径必须在将来的周期中被提供,在这将来的周期中这些指令将把处理过的量存入其中。在执行过程中,要求在处理指令时所需要的执行单元必须可以用于执行这种操作。对于向量操作单元来说,一次向量操作在它的向量操作的持续过程中都要保留一个执行单元。当一个存储装入/存储指令经历到一次高速缓存单元的缺失(未猜中)时,装入/存储单元 的忙标志将使随后的装入/存储指令延迟,直到高速缓存的缺失响应完成之时为止。当一个指令确实被发送时,用于其结果的目标寄存器和写路径周期被保留。在操作数设置期间,所有与指令无关的寄存器地址被产生,操作数被读出和存储,同时产生与数据有关的各种控制信号。指令操作数和控制信号被传送到相应的执行单元去执行。由执行单元所产生的结果则相应地被存入寄存器文件或数据高速缓存单元27。一旦指令发出,处理的结果在几个机器周期内有可能还得不到。同时,在下一个机器周期中,下一条指令可以被译码,并且如果发送条件满足时,它可以被发送。因此,指令是按正常的指令顺序被译码和发送的,但是,结果却可以以不同的顺序被存放,因为各个执行单元有不同的指令执行时间。这种不按顺序的存放使得处理异常和对故障指令的重试变得复杂。但是,这类事件是相对少见的,而且,不按顺序的存放对执行和硬件却是有益的。
对于图3,使用虚地址编址技术已被广泛地实现。这项技术允许程序员不必考虑数据和指令元素的实际地址。地址产生机构在数据处理单元的范围内提供程序地址和数据及指令元素之间的接口,通过使用数据和指令元素的页面,可以加快从大容量存储介质传送数据和指令元素,而没有必要传送单个的数据和指令元素。此外,程序通常是用这种格式写成的,这种格式把顺序执行指令所需的数据和指令元素都存放在程序和文件中相对靠近的地方,因此,数据和指令元素的一个页面中一般都包括了程序执行时多个相互关联的数据和指令元素。然而这种比较严格的页面分区(granularity)实现方法,特别在执行向量指令时,所带来的后果是,相互关联的数据和指令元素的组可能超出页面的边界范围而达到在数据处理系统的主存储单元中不存 在的页面中。在优选的实施例中,在地址产生单元24(或28B)中包括了用于地址翻译和产生一个异常(即测试307)的设备部分(这种异常是在所需的信息的页面不在主存储单元15中时产生的),还包括了一个软件程序部分,它作为操作系统的一个部分,用于在大容量存储设备和主存储单元之间传送页面信息。地址产生单元24(或28B)在一个页面的数据和指令元素传送到主存储单元15时,向主存储单元15提供有关的页面表项,通过它,当前正在执行的程序可以标识存储在主存储单元15中的数据和指令元素的所有页面(和虚地址一起),并因此而可以在所访问的数据和指令元素不在主存储单元15中时发出一个页面故障信号。如图3所示,数据处理单元一般都包括与虚地址编址技术有关的技术,如根据所需的信息页面不在主存储单元而能发出信号的设备,以及通过查找缺失信息页面而响应页面故障的程序等。
操作系统把改变页面表项作为存储管理功能的一个部分,操作系统可以把有效位置位或清除,可以在页面从外存储介质到来或送去外存储介质时改变页面帧号字段,或修改软件的各位。
本发明的努力方向是要证实:对于特定的信息集合,从一种特定的存取方式进行一种特定的存取类型是可以被允许的。对每一个信息集合(如页面)的存取受到一个保护码的控制,这个保护码对于每种存取方式(内核或用户)规定了是否允许进行读访问或写访问。中央处理单元具有以下的信息可用,以便去控制试图进行的存取。用于对页面表作变址的虚地址、希望的存取类型(即读数据、写数据、或取指令)以及当前存取方式(由处理器状态寄存器的)可以用来决定中央处理单元的状态。当允许对页面表进行存取时(即页面表项和所希望的存取类型中央处理单元状态相一致时),则可以使虚地址对应于 一个物理地址。
在优选的实施例中,在虚地址空间中的每一个页面都按照其用途而加以保护。这样可以防止一个程序去读出或写入它的地址空间中的某些部分。和每个页面相对应,各有一个保护码,它说明了在数据处理系统各种操作方式下的可访问性。这种代码实现方式允许对中央处理单元的每种方式送择读保护或写保护。每个处理单元方式可以是读/写、只读或不能存取。读和写的可访问性是独立规定的。每种方式的保护方式也能是独立规定。一个页面可以指定为只能执行的,方法是把对存取方式的读允许位置以及把页面表项中的读时故障和写时故障字段置位。执行时故障方式和相应的存取信号一起可以防止数据处理系统试图去执行数据元素。
特别是,标量和向量操作地址产生单元具有可以利用的信息来说明数据组所要求的特殊操作。根据数据组的可访问性的信息以及数据组所要求的操作,可以有下列保护:
1、存取保护(UWE、URE、KWE、KRE)
2、修正的数据(UWE、KWE、FOW。一个写的企图会引起进入相应的操作系统程序,它使软件规定的修正位置位)。
3、复制或修改(UWE、KWE、FOW。一个写的企图会引起进入相应的操作系统程序,它复制该页面)。
4、只读(URE、KRE、FOW、FOE)
5、只写(UWE、KWE、FOR、FOE)
6、只执行(URE、KRE、FOR、FOW)
7、对操作系统被保护的项(URE、KRE、FOR、FOE)
ASM字段(地址空间匹配)提供一个位,当这一位置位时,允 许在翻译缓冲器中的已选定的地址在翻译缓冲器单元的标志字段和虚地址一致的情况下被使用。当ASM字段不置位时,则另外一个字段,即和翻译缓冲器单元相关的以及与虚地址相关的ASN字段必须相同。
在某些应用中,把高速缓存中的地址和虚地址相联系可能要比和物理地址相联系更加有用些。在某些情况下,在高速缓存中使用虚地址可能导致错误的数据组的标识(一个物理地址被映象到不止一个虚地址上)。DCV位的位置决定了和一个虚地址相关的数据是否允许和使用虚地址编址的高速缓存相联系。
把上述说明包括进来,是为了解释优选的实施例的工作,而不是意味着限制本发明的范围。本发明的范围仅受权利要求的限制。根据上述说明,对熟悉本领域的人来说,很明显可以有许多变化,但这些变化仍包括在本发明的原则和范围之内。

Claims (11)

1、一种通过数据处理器而控制对包含在主存储单元中的指令和/或数据元素的访问和应用的设备,所述主存储单元划分成包含所述元素的页面,每一页面包括具有至少一个页面表项的页面表,所述设备的特征在于包括:
一个访问特权控制器,响应相应于该页面的一个页面表项中的访问特权字段,用来确定对所述主存储器一个页面中元素的访问权限;
一个应用控制器,用来确定应用权限,该应用权项控制一个页面中的元素可能被投入的应用,所述应用控制器响应相应于该页的一个页面表项中的应用字段而确定该应用权限;并且
所述数据处理器响应于访问特权控制器确定的访问权限和应用控制器确定的应用权限,访问和应用所述主存储器的页面中的元素。
2、如权利要求1的设备,其特征在于,所述数据处理器按用户方式或者内核方式而操作,所述访问特权控制器按照所述数据处理器正在操作的方式允许对所述指令或数据元素的访问。
3、如权利要求1的设备,其特征在于,所述访问特权控制器和所述应用控制器始终允许指令元素被执行。
4、如权利要求1的设备,其特征在于,所述处理器包括一个高速缓存单元,所述设备还包括一个地址控制器,该地址控制器响应于一个页面表项的地址字段,用来对所述高速缓存单元中数据元素编址。
5、如权利要求1的设备,其特征在于,所述数据处理器产生所述元素的多个虚地址和各所述虚地址相关的一个地址空间号,所述设备还包括:
一个翻译缓冲器,用来将所述虚地址翻译成物理地址,所述翻译缓冲器具有相应于待翻译的各虚地址的第二地址空间号;和
一个比较器,当所述页面表中的一个字段位位置被设定时,该比较器对于待由所述翻译缓冲器翻译的各虚地址将相应于所述虚地址的所述地址空间号与一个相应的第二地址空间号进行比较,所述翻译缓冲器仅当所述比较器确定了那些相应的第一和第二地址空间号相同时才被用于翻译一个虚地址。
6、如权利要求1的设备,其特征在于,所述页面表包括一个项,该项识别是否一个高速缓存器可相应于所述数据处理器提供的一个虚地址。
7、如权利要求1的设备,其特征在于,所述访问特权控制器和所述应用控制器当一个正一执行的指令规定与所述存储器的一个页面相关的指令或数据元素的活动时,能够与操作系统通信。
8、如权利要求1的设备,其特征在于,所述数据处理器具有用来执行非特权指令的用户操作方式和用来执行非特权和特权指令的内核操作方式,其中所述应用字段包括:
第一字段位置,它允许在用户方式的读访问;
第二字段位置,它允许在用户方式的写访问;
并且,其中所述访问特权字段包括:
第一字段位置,它允许在所述内核方式的读访问;
第二字段位置,它允许在所述内核方式的写访问。
9、如权利要求8的设备,其特征在于所述应用字段的访问特权字段包括:
第一字段位置,它允许数据处理器执行指令或数据元素的写操作;
第二字段位置,它允许数据处理器执行指令或数据元素的读操作;
第三字段位置,它允许数据处理器执行指令或数据元素的执行操作。
10、如权利要求9的设备,其特征在于,所述页面表包括一个有效性字段,该有效性字段指示所述主存储器单元相应页面中的有效指令或数据元素的存在。
11、一种通过包括着访问特权控制器和应用控制器的数据处理器而控制对包含在主存储单元中的指令和/或数据元素的访问和应用的方法,所述主存储器单元划分成包含所述元素的页面,每一页面包括具有至少一个页面表项的页面表,所述方法的特征在于包括以下步骤:
响应相应于所述页面的一个页面表项中的访问特权字段而确定对所述主存储器的一个页面内的元素的访问权限;
确定控制一个页面中的元素可能被投入的应用的应用权限,所述应用控制器响应相应于所述页面的一个页面表项中的应用字段而确定所述应用权限;
所述主存储器的页面中的所述访问和应用元素响应于由所述访问特权控制器确定的访问权限和由所述应用控制器确定的应用权限。
CN88104011A 1987-07-01 1988-07-01 利用存取和故障逻辑信号保护主存储器单元的设备和方法 Expired CN1016830B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6929087A 1987-07-01 1987-07-01
US069,290 1987-07-01

Publications (2)

Publication Number Publication Date
CN1030654A CN1030654A (zh) 1989-01-25
CN1016830B true CN1016830B (zh) 1992-05-27

Family

ID=22087981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN88104011A Expired CN1016830B (zh) 1987-07-01 1988-07-01 利用存取和故障逻辑信号保护主存储器单元的设备和方法

Country Status (10)

Country Link
EP (1) EP0297891B1 (zh)
JP (1) JPH07120318B2 (zh)
KR (1) KR960014827B1 (zh)
CN (1) CN1016830B (zh)
AU (1) AU618268B2 (zh)
BR (1) BR8803376A (zh)
CA (1) CA1308812C (zh)
DE (1) DE3853104T2 (zh)
IE (1) IE68308B1 (zh)
IN (1) IN169635B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1130640C (zh) * 1997-03-11 2003-12-10 西门子公司 带有存储器管理单元的微型计算机

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425771A3 (en) * 1989-11-03 1992-09-02 International Business Machines Corporation An efficient mechanism for providing fine grain storage protection intervals
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US7444668B2 (en) * 2003-05-29 2008-10-28 Freescale Semiconductor, Inc. Method and apparatus for determining access permission
US7487448B2 (en) * 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
GB2482700A (en) * 2010-08-11 2012-02-15 Advanced Risc Mach Ltd Memory access control
CN102375801A (zh) * 2011-08-23 2012-03-14 孙瑞琛 一种多核处理器存储系统装置及方法
KR101964605B1 (ko) * 2017-06-16 2019-04-02 최영환 순간 저탕식 구조를 갖는 전기 온수기
CN112558861B (zh) * 2020-09-29 2023-03-10 北京清微智能科技有限公司 一种面向多核处理器阵列的数据加载和存储系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
JPS57195394A (en) * 1981-05-23 1982-12-01 Nippon Telegr & Teleph Corp <Ntt> Memory protection system by processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1130640C (zh) * 1997-03-11 2003-12-10 西门子公司 带有存储器管理单元的微型计算机

Also Published As

Publication number Publication date
EP0297891B1 (en) 1995-02-22
EP0297891A3 (en) 1992-03-18
KR960014827B1 (en) 1996-10-21
DE3853104T2 (de) 1995-10-26
IE68308B1 (en) 1996-06-12
KR890002777A (ko) 1989-04-11
EP0297891A2 (en) 1989-01-04
IN169635B (zh) 1991-11-23
CA1308812C (en) 1992-10-13
AU618268B2 (en) 1991-12-19
JPH07120318B2 (ja) 1995-12-20
AU1863888A (en) 1989-01-05
CN1030654A (zh) 1989-01-25
JPH0192856A (ja) 1989-04-12
DE3853104D1 (de) 1995-03-30
IE881986L (en) 1989-01-01
BR8803376A (pt) 1989-01-24

Similar Documents

Publication Publication Date Title
CN1147775C (zh) 受保护的存储器系统和方法
US7213125B2 (en) Method for patching virtually aliased pages by a virtual-machine monitor
EP0026589B1 (en) Multi-programming data processing system process suspension
EP0912942B1 (en) Apparatus and method for assisting exact garbage collection by using a stack cache of tag bits
US5390310A (en) Memory management unit having cross-domain control
CN1235148C (zh) 管理数据处理器系统中虚拟化的物理存储器的方法和系统
CN1227593C (zh) 存储控制器和处理器中管理虚拟化物理存储器方法和系统
EP0192232A2 (en) Data processing apparatus
CN1196994C (zh) 采用细粒度转换鉴别的方法和装置
KR20180136976A (ko) 자격 메타데이터에 대해 연산을 행하는 장치 및 방법
CN1227594C (zh) 管理多处理器系统中虚拟化的物理存储器的方法和系统
CN1702773A (zh) 可编程并行查找存储器
US5748486A (en) Breadth-first manipulation of binary decision diagrams
CN1016830B (zh) 利用存取和故障逻辑信号保护主存储器单元的设备和方法
EP1807767A1 (en) A virtual address cache and method for sharing data stored in a virtual address cache
US6499094B1 (en) Management of memory heap space for data files accessible to programs operating in different addressing modes
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
JP7349437B2 (ja) メモリ・アクセスにおける保護タグ・チェックの制御
KR101102260B1 (ko) 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법
CN103988462A (zh) 用于执行寄存器重命名的寄存器重命名数据处理装置和方法
US20060026389A1 (en) Method for providing scratch registers for use by a virtual-machine monitor
CN1021604C (zh) 在向量数据处理运算中从缺页故障中恢复的设备和方法
CN1030308A (zh) 在非微码数据处理系统上提供扩展的处理环境的装置和方法
JP2001273141A (ja) コンピュータシステム、仮想マシン、オブジェクトの実行時表現方法、記憶媒体及びプログラム伝送装置
CN1013903B (zh) 对数据引起的状态发出信号的设备和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee