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

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

Info

Publication number
CN1030654A
CN1030654A CN88104011A CN88104011A CN1030654A CN 1030654 A CN1030654 A CN 1030654A CN 88104011 A CN88104011 A CN 88104011A CN 88104011 A CN88104011 A CN 88104011A CN 1030654 A CN1030654 A CN 1030654A
Authority
CN
China
Prior art keywords
mentioned
field
instruction
data
control
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.)
Withdrawn
Application number
CN88104011A
Other languages
English (en)
Other versions
CN1016830B (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)实现方法,特别在执行向量指令时,所带来的后果是,相互关联的数据和指令元素的组可能超出页面的边界范围而达到在数据处理系统的主存储单元中不存 在的页面中。在优选的实施例中,在地址产生机构34中包括了用于地址翻译和产生一个异常(即测试307)的设备部分(这种异常是在所需的信息的页面不在主存储单元15中时产生的),还包括了一个软件程序部分,它作为操作系统的一个部分,用于在大容量存储设备和主存储单元之间传送页面信息。地址产生机构34在一个页面的数据和指令元素传送到主存储单元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 (21)

1、通过数据处理系统而控制处理活动的设备,这个处理系统具有存放在主存储单元中的指令集合和数据元素,并具有与每个指令集合和/或数据元素有关的表,该设备包括:
第一控制装置,它响应上述表中的第一字段,以允许对上述的在该主存储器中的上述指令集合和/或数据元素进行访问;以及
第二控制装置,它响应上述表的第二字段以控制对上述指令集合和/或数据元素的处理活动。
2、用于控制权利要求1的处理活动的设备,其中上述的数据处理系统具有第一和第二操作方式,上述的第一字段允许对上述的指令集合和/或数据元素进行与方式有关的访问。
3、用于控制权利要求2的处理活动的设备,其中所述的第一和第二字段允许相应的指令元素集合成为只能执行的。
4、用于控制权利要求3的处理活动的设备,其中上述的与具有虚地址编址能力的数据处理系统有关的表是一个页面表项。
5、用于控制权利要求1的处理活动的设备,其中上述的第二字段包括一个执行时故障位的位置、一个读时故障位的位置以及一个写时故障位的位置,用于控制上述的指令和数据元素的活动。
6、用于控制权利要求1的处理活动的设备,其中上述的数据处理系统包括一个高速缓存单元,上述设备还包括第三控制设施,它响应上述的表的第三字段,以便对在上述的具有虚地址的高速缓存中的数据组进行编址。
7、用于控制权利要求1的处理活动的设备,其中上述的数据处理系统有一个和虚地址相关的地址空间号,上述的数据处理系统还包括一个翻译缓冲器单元,用于在地址产生机构中至少消除其中的一个步骤,上述的设备还包括:
和上述翻译缓冲器中的每个位置相关的一个地址空间标志字段;
在上述表中的第三字段;以及
用于比较上述地址空间号和上述地址空间标志字段的比较装置,这时上述表的第三字段中有一个预先置定的值存放在里面,其中至少在上述地址空间号和上述地址空间标志字段之间有一个预先确定的关系,以便用上述的有关的翻译缓冲器单元来确定和该虚地址相对应的物理地址。
8、用于控制权利要求1的处理活动的设备,其中上述的表包括一个第三字段,当在该第三字段内存放着预先安置好的信号时,其中的高速缓存单元由虚地址所标识。
9、用于控制权利要求1的处理活动的设备,其中的第一和第二控制装置当一个正在执行的指令为与上述表相关的指令或数据元素规定了预先定义的活动时,能够和操作系统通信。
10、用于控制权利要求1的处理活动的设备,其中上述的数据处理系统有一个执行非特权指令的用户操作方式,还有一个执行非特权和特权指令的内核操作方式,上述的第一字段包括一个第一字段位置,它允许在用户方式下进行读存取,上述的第一字段包括一个第二字段位置,它允许在上述的用户方式下进行写存取,上述的第一字段包括一个第三字段位置,它允许在上述内核方式下进行读存取,上述第一字段包括一个第四字段位置,它允许在内核方式下进行写存取。
11、用于控制权利要求10的处理活动的设备,其中上述的第二字段包括一个第一字段位置,它在一条指令规定写操作时产生一个故障信号,上述的第二字段包括一个第二字段位置,它在一条指令规定了读操作时产生一个故障信号,上述的第二字段包括一个第三字段位置,它在上述的指令或数据元素规定了执行操作时产生一个故障信号。
12、用于控制权利要求11的处理活动的设备,其中上述的表包括一个第三字段,它表明在与该表相关的存放指令和/或数据元素的主存储单元中存在着有效的指令和/或数据元素。
13、用于控制权利要求12的处理活动的设备,其中上述的表包括一个第四字段,它允许高速缓存单元的存储单元可以用一个虚地址来标识。
14、用于控制权利要求13的处理活动的设备,其中上述的表包括一个第五字段,它可以直接指定一个翻译缓冲器单元而不需要一个中间步骤。
15、控制在数据处理系统的主存储单元中的指令和数据元素的处理的方法,该方法包括下列步骤:
在存储单元中对表加入一个预先确定的指令和/或数据元素的集合。
在上述表的一个字段中加入控制对上述指令和/或数据元素集合进行存取的信号:及
在上述表的第二个字段中加入控制与上述指令和/或数据元素集合有关的执行指令的信号。
16、控制对权利要求15中的数据信号组进行处理的方法还包括在上述的第一和第二字段中加入若干信号的步骤,这些信号规定有关的指令和/或数据元素只能由该数据处理系统去执行。
17、控制对权利要求15中的数据信号组进行处理的方法还包括在上述的第一和第二字段中加入若干信号的步骤,这些信号规定一个读出相关的数据信号组的企图将引起一次故障状态。
18、控制对权利要求15中的数据信号组进行处理的方法还包括在上述的第一和第二字段中加入若干信号的步骤,这些信号规定,对有关的主存储单元写入的企图,将引起一次故障状态。
19、控制对权利要求15的数据信号组进行处理的方法,其中上述的表包括一个第三字段,它表明存在着存储在主存储单元中并和上述表有关联的有效的指令和/或数据元素,这个方法还包括下列步骤:
在对与上述表有关的一个指令和/或数据元素进行存取操作的过程中,对上述的第一字段进行测试以确定在当前的操作方式下什么时候允许对指令和/或数据元素进行存取:
当存取被允许时,对上述的第三字段进行测试,以确定有效的指令和/或数据元素什么时候被存储在主存储单元中;
当和上述表有关的有效的指令和/或数据元素被存入上述的主存储单元时,对上述的第二字段进行测试,以确定什么时候对和上述有关的指令和/或数据元素进行操作时会引起一次故障状态。
20、一种能够在多种方式下执行指令的数据处理系统,该数据处理系统把指令和/或数据元素按元素的页面存放在主存储单元内,该数据处理系统具有地址翻译设备,该数据处理系统包括:
一个和每个元素页面有关的表,该表包括:一个第一字段,用于允许对上述有关的元素进行存储;
以及
一个第二字段,表明当对上述有关的页面元素规定选择的操作时,就是一个故障状态。
21、根据权利要求1的数据处理系统,其中上述的第一字段允许根据数据处理系统的工作方式对上述有关的元素进行访问。
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 true CN1030654A (zh) 1989-01-25
CN1016830B 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100371906C (zh) * 2003-05-29 2008-02-27 飞思卡尔半导体公司 用于确定访问许可的方法和设备
CN1954314B (zh) * 2004-04-30 2010-05-26 微软公司 文档标记方法和系统
CN102375801A (zh) * 2011-08-23 2012-03-14 孙瑞琛 一种多核处理器存储系统装置及方法
CN112558861A (zh) * 2020-09-29 2021-03-26 北京清微智能科技有限公司 一种面向多核处理器阵列的数据加载和存储系统及方法

Families Citing this family (5)

* 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
DE19709975C2 (de) * 1997-03-11 1999-04-22 Siemens Ag Mikrocomputer
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
GB2482700A (en) 2010-08-11 2012-02-15 Advanced Risc Mach Ltd Memory access control
KR101964605B1 (ko) * 2017-06-16 2019-04-02 최영환 순간 저탕식 구조를 갖는 전기 온수기

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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100371906C (zh) * 2003-05-29 2008-02-27 飞思卡尔半导体公司 用于确定访问许可的方法和设备
CN1954314B (zh) * 2004-04-30 2010-05-26 微软公司 文档标记方法和系统
CN102375801A (zh) * 2011-08-23 2012-03-14 孙瑞琛 一种多核处理器存储系统装置及方法
CN112558861A (zh) * 2020-09-29 2021-03-26 北京清微智能科技有限公司 一种面向多核处理器阵列的数据加载和存储系统及方法
CN112558861B (zh) * 2020-09-29 2023-03-10 北京清微智能科技有限公司 一种面向多核处理器阵列的数据加载和存储系统及方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1147775C (zh) 受保护的存储器系统和方法
US5023773A (en) Authorization for selective program access to data in multiple address spaces
EP0026589B1 (en) Multi-programming data processing system process suspension
US7213125B2 (en) Method for patching virtually aliased pages by a virtual-machine monitor
US5159597A (en) Generic error recovery
CN1235148C (zh) 管理数据处理器系统中虚拟化的物理存储器的方法和系统
CN1047245C (zh) 采用独立存取中间存储器的超标量处理器系统中加强指令调度的方法和系统
KR20180136976A (ko) 자격 메타데이터에 대해 연산을 행하는 장치 및 방법
JPS60176143A (ja) プログラム呼び出し装置
US5748486A (en) Breadth-first manipulation of binary decision diagrams
CN1030654A (zh) 利用存取和故障逻辑信号保护主存储器单元的设备和方法
CN1124546C (zh) 一种超标量处理器及在该超标量处理器中完成指令的方法
KR100791815B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에서 인스트럭션을 실행하는 방법
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
US6499094B1 (en) Management of memory heap space for data files accessible to programs operating in different addressing modes
EP1807767A1 (en) A virtual address cache and method for sharing data stored in a virtual address cache
CN103988462A (zh) 用于执行寄存器重命名的寄存器重命名数据处理装置和方法
CN1021604C (zh) 在向量数据处理运算中从缺页故障中恢复的设备和方法
JP3896238B2 (ja) コンピュータシステム及びプログラムの実行時表現方法
CN1030308A (zh) 在非微码数据处理系统上提供扩展的处理环境的装置和方法
CN112199116A (zh) 操作数栈寄存器识别方法、装置、设备及存储介质
CN104380265B (zh) 运行时间检测控制发出指令
CN1013903B (zh) 对数据引起的状态发出信号的设备和方法
SU692400A1 (ru) Вычислительна система
Vogt PUMA—A Capability-Based Architecture to Support Security and Fault Tolerance

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