CN1030487A - 在向量数据处理运算中从缺页故障中恢复的设备和方法 - Google Patents

在向量数据处理运算中从缺页故障中恢复的设备和方法 Download PDF

Info

Publication number
CN1030487A
CN1030487A CN88104010A CN88104010A CN1030487A CN 1030487 A CN1030487 A CN 1030487A CN 88104010 A CN88104010 A CN 88104010A CN 88104010 A CN88104010 A CN 88104010A CN 1030487 A CN1030487 A CN 1030487A
Authority
CN
China
Prior art keywords
mentioned
instruction
vector
page fault
handling system
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
CN88104010A
Other languages
English (en)
Other versions
CN1021604C (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
Priority claimed from US07/069,372 external-priority patent/US5063497A/en
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CN1030487A publication Critical patent/CN1030487A/zh
Application granted granted Critical
Publication of CN1021604C publication Critical patent/CN1021604C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B41/00After-treatment of mortars, concrete, artificial stone or ceramics; Treatment of natural stone

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Ceramic Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Organic Chemistry (AREA)
  • Structural Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Materials Engineering (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)

Abstract

在一个采用虚拟存贮器技术和能执行多个重叠 的标量和向量数据处理运算的数据处理系统中,提供 设备和方法,使得在一个或多个访问当前在主存中不 存在的数据值的向量装入/贮存指令接受页面故障 之后,能继续执行程序。在出现这样一个页面故障 时,所有当前正在执行的指令被允许结束执行,而概 括页面故障状态的信息被记录在存贮器中供操作系 统软件之用,并产生一个向量异常信号。操作系统软 件对此异常作出响应,检查故障信息,使缺失页从海 量存贮介质读入主存贮器单元,重新执行产生异常的 向量指令,继续执行程序。

Description

在向量数据处理运算中从缺 页故障中恢复的设备和方法
本发明总的来说有关数据处理系统,具体地说,有关能在虚拟存储器环境下实现向量运算的数据处理系统。
为了提高某些类型重复运算的性能,目前已开发出了向量数据处理运算技术。例如,把二个数据数组的相应元素进行相加可用向量相加运算,再把结果的和数存放在一个第三数组内。这个过程可与执行相同计算的标量指令作对照,而后者将要求重复地执行一个循环例行程序。向量处理具有在一次运算中规定对大量数据作处理而无需发出多条指令或执行循环迭代控制的优点。此外,由于对每组操作数施加相同的运算,可有效地使用流水线技术来提高性能。一般来说,目前使用的有二种向量处理模型,基于寄存器的模型和基于存贮器的模型。
在基于寄存器的模型中,各组操作数是从主存贮器传送(装入)的,并存入称为向量寄存器的专用寄存器内。每个向量寄存器可贮存多个操作数,每个操作数有一个预定的长度。当一个或多个向量寄存器在其内部贮存有所需的操作数时,则贮存在向量寄存器中的所有操作数由一个共同的算术运算所处理,由此处理运算所得到的操作数再贮存在一个目标向量寄存器内。由于对向量寄存器的所有操作数完成相同的运算,故只需向处理执行装置发出一条指令来管理多个操作数。在对操作数组完成所有所需的运算后,操作数被送回(或贮存在)主存贮器单元中。
在基于存贮器的模型中,操作数被直接从主存贮器单元传送至执行单元,运算所得到的操作数也被直接送回主存贮器单元。从理论上说,由于在开始运算之前不需要把信息贮存在向量寄存器中,结束运算后也不需要送回存贮器,这种基于存贮器的模型提供效高的性能。但是,当向量运算开始时,第一个操作数从存贮器而到来需要一定的时间,因此,当这一启动时间可以在一个很长的向量运算期间分摊的时候,基于存贮器的向量模型最有效。
一般来说,基于寄存器的向量模型具有很短的启动时间,因此对短的向量有较好的性能。操作数随着实际的向量运算而被装入和存贮,因此,短的启动时间的优点与最大程度的存贮器利用率得到结合,从而得到与在基于存贮器的向量模型中在长的向量运算时才能得到的相同的最大的向量运算的速率。
在现代数据处理系统中已很普遍使用虚拟存贮器,这已成为对数据处理系统的一个要求,在虚拟存贮器数据处理系统中,大量的为处理机所需的逻辑信号组贮存在大容量存贮单元(或称为后援存贮器)中。当数据处理系统需要指令和数据元素时,数据处理系统可以认为所需要的指令或数据元素贮存在主存贮器单元中,因此,数据处理系统将试图把所需的指令或数据元素从主存贮器单元中传送至要求指令或数据元素的那个数据处理单元。当数据处理系统确认,在主存贮器单元中没有所需的指令或数据元素,则产生一个页面故障。页面为贮存在海量存贮器中由数据处理系统管理的信息单位。页面故障使得数据处理系统设备贮存为对页面故障作出响应所必需的信息,然后把控制转移至操作系统,以便对页面故障作出响应。
为了对产生页面故障作出响应,数据处理系统将控制转移至操作系统的相应模块,它将确定所需的指令或数据元素的位置,再把包括所要求的指令和/或数据元素的一“页”指令或数据元素传送至主存贮器单元。此外,操作系统模块将建立把主存贮器地址与在海量存贮器中所需的指令或数据元素的位置相连系的表。
在标量(非向量)工作方式中,存贮器访问指令是依次顺序执行的,只能访问单个数据。当访问一个在存贮器中不存在的数据时,必要的信息就被贮存起来,产生一个页面故障异常信息。操作系统接过控制,把所要的页面读入存贮器,然后再恢复程序计数器使继续执行指令序列而重新执行程序。
与此相反,一个向量装入或贮存运算可读出或写入贮存在一个向量寄存器中的全部数量的数据元素操作数。当正在执行一个向量装入/贮存运算时,继续发出进一步的向量和/或标量指令是有利的。这样,与标量装入/贮存运算不同,在向量指令之后,但在缺页发生之前,可发出几个外加的指令。当所需的数据元素不存在于主存贮器单元中时,几项信息必须被贮存起来,以便当缺页被传送到主存贮器单元后,能重新开始或完成该指令的执行。
在执行向量运算时,数据处理系统的性能受到存贮器速度、能同时执行多少个向量装入和贮存运算、以及在完成向量运算时多少个功能或执行单元可以并行地工作所限制。很明显,根据标量和向量运算实现多次重迭的程度,数据处理系统的效率可以进一步提高。
但是,在虚拟存贮器环境下执行重叠的标量和向量指令增大了从由于向量指令形成的页面故障(即当所需的数据在主存贮器单元中不存在时)进行恢复的困难程度。事实上,在完成当前执行的指令期间,可以有不止一个向量运算会有一个页面故障被识别出来,这进一步使向量处理运算的重新起动复杂化。对于标量装入/贮存运算(仅访问单个数据),可立即检测出一个存贮器管理问题,因此不发出进一步的指令。对一个向量指令来说,为使性能最优化,在检测出存贮器管理问题之前仍继续发出指令。这种插进来的指令可能会改变曾经是原来的向量指令的操作数的信息的状态,因而缺页的检索、程序计数器的恢复和重新执行指令可能不再提供对页面故障的正确响应。因此,需要有一种技术,它能在一个采用基于寄存器的向量模型的执行多次重迭向量运算的数据处理系统中,从页面故障或其它的向量异常状态进行恢复。
本发明的目的是提供一种改进性能的数据处理系统。
本发明的一个特点是提供一种能改进向量数据处理运算的数据处理装置。
本发明的另一个特点是由能够执行多个重叠的指令的中央处理单元从页面故障进行恢复。
本发明的又一个特点是提供一种技术,它由能够执行多个重叠的向量和标量运算指令的数据处理系统从页面故障进行恢复。
本发明的最后一个特点是提供这样一种技术,它能在一个具有虚拟存贮器能力的数据处理系统中,从向量运算引起的页面故障中进行恢复。
根据本发明,上述的和其它的特点是通过在一个具有向量运算能力和虚拟存贮器环境的数据处理系统中,提供一种对由于一个向量运算指令引起的向量异常信号(如页面故障信号)作出响应的设备来实现的。在任何时刻都可进行访问主寄存器单元的多个(向量)运算。当产生一个向量异常信号时,中央处理单元的指令发送单元停止发出指令,而当前正在执行的指令则被允许继续完成。当所有指令完成时,标识由各个向量指令所遇到的虚拟存贮器问题的信息被贮存在内核栈上,它们包括标识故障的异常类型码、向量长度、初始基地址、初始跨距(stride),引起虚拟存贮器问题的虚拟地址、向量指令本身、处理器的当前状态和下一个待发出的指令的虚拟地址。(下一个指令的地址不一定用于向量指令之后的顺序指令)。此信息足以确定虚拟存贮器的问题。对于一个页面故障,缺页被传送至主存贮器,引起页面故障的指令被重新执行,程序继续在一个指令执行(下一个指令不一定是产生页面故障的向量指令之后的指令)。
在阅读下面的说明以及附图之后,就能对本发明的这些和其它特点得到更好的了解。
图1A和1B为可能使用本发明的数据处理系统实施方案的例子。
图2为可能使用本发明的数据处理系统的数据处理单元的例子。
图3示出虚拟存贮器在数据处理系统中的使用。
图4为按照本发明从一个页面故障进行恢复用的向量重新起动帧的例子。
图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代替了在图1A中所示的面向总线的数据处理系统配置中的系统总线19和数据处理系统各个组成部件所完成的控制功能。存贮器控制单元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和图1#B所示出的,实际的连接可包括中间的数据处理设备),指令发送单元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。页面表项目305被传送到地址产生单元24(或28B),设备305测试在页面表项目中选出的字段以确定对数据元素的存取是否允许。当不允许存取时,则标识出一个存取违例306,调用一个相应的操作过程以确定如何对此存取违例作出响应。当测试305确认对数据元素312的存取是允许时,则对页面表项目304进行测试307,以确定该指令所需的数据元素在主存贮器单元15中是否存在,当测试307表明数据元素不存在时,产生一个页面故障308,一个操作系统的程序把数据元素传送至主存贮器15(在位置312),更新有关的页面表项目304,通知指令发送单元可重新开始从主存贮器位置中检索所需的数据元素。当测试307确认所需的数据元素素贮存在主存贮器单元中,测试309对页面表项目304进行测试,以确定有关指令所要求的数据元素的活动是否被标示为结果是发生故障。当该指令所确定的该项活动标示为故障状态,则读时故障、写时故障或执行时故障(视情况而定)将调用一个操作系统程序以便对此故障状态作出响应。如果测试309表明,与有关的数据元素相关的指令的活动没有标示为故障状态,则地址产生单元24(或28B)确定在主存贮器单元15中的贮存所需数据元素的物理地址311。此地址上的数据元素312被传送至在标量寄存器23,向量运算寄存器28C或指令高速缓冲存贮器装置21(即当数据元素是一条指令)中的一个存贮器位置313。以这种方式,由虚拟地址所标识的所需的数据元素即可供指令301作处理之用。
图4所示的是按照本发明的一个向量重新起动帧。除去位的位置0~2外,信号组401都为逻辑○。在0~2位的位置上,标示有下述类型的异常:存取违例、读时故障、写时故障、转换无效、向量对准和指令挂起。指令挂起码组与指令发送单元发出的向量装入/贮存指令有关,但其操作并没有实际开始。信号组402表示向量的长度或在向量操作中有关的数据元素的数量。信号组403表示初始的基地址。信号组404指示在相邻的数据元素之间的初始跨距或位移量。信号组405为引起异常的缺失数据元素的页面中有关的虚拟地址,而信号组406是导致异常的向量装入/存贮指令。信号组407为处理机状态。对本发明来说,位的位置2(VRF)这个字段尤其重要,它表明保留一个以前的向量重新起动帧。信号组408则贮存下一个指令的虚拟地址。
图5所示为一个执行向量运算的数据处理单元从页面故障恢复的流程图。在步501,在执行一个向量运算期间标识了页面故障。在步502,指令发送单元中止发出进一步的指令,在步503,允许在页面故障时正在执行的所有指令继续完成或形成页面故障(或某些其它的异常活动)。在步504,对每个页面故障的参数(如图4所示的)进行贮存,以便从页面故障恢复。在步505,未能完成执行导致页面故障的每个指令的缺页被传送至主存贮器单元,在缺失数据被送入主存贮器单元后,导致故障的每个指令被执行。在对显示页面故障的指令和对所有异常事件作出响应后,程序恢复正常执行。2。优选实施例的操作
在优选实施例中,具有如图2的流水线方式的执行单元的中央处理单元的实施受到一些限制,但是,别的设计方案也可采用本发明。中央处理单元包括多个执行单元,每个单元用于执行一个类型的指令。例如,一个执行单元为标量地址产生单元24,它控制中央处理单元和主存贮器单元之间逻辑信号组的传输,即执行标量装入/存贮指令。一个执行单元用于执行数据移位操作,一个执行单元用于浮点相加/相减运算,一个执行单元用于整数和浮点相乘运算,一个执行单元用于整数和浮点相除运算。专用的执行单元可以(但也不一定)在一个流水线配置中实施。中央处理单元的其它特性如下所述。处于正在执行的指令序列中的指令被从指令高速缓冲存贮器单元21传送到指令发送单元22。在指令发送单元中,指令被分解成它的各个组成部分,由此产生与数据有关的控制信号和地址信号。但是,在一个指令可开始执行之前(即被发出前),必须满足几个限制条件。指令的所有源寄存器和目标寄存器必须可供使用,即没有一个对所需的寄存器进行的写操作可以是未完成的。寄存器写路径应在此指令贮存处理过的量的未来周期中提供使用。在执行期间用于处理指令所需的执行单元必须可供使用以完成运算。对于向量运算单元,一个向量运算在向量运算期间保留一个执行单元,当一个存贮器装入/存贮指令出现一个高速缓冲存贮器单元缺失,装入/存贮单元忙标志将使得随后的装入/存贮指令延迟,直至高速缓冲存贮器缺失响应结束为止。当一个指令发出时,其结果用的目标寄存器和写路径周期被保留。在操作数建立期间,要产生所有与指令无关的寄存嚣地址,操作数要被读出和贮存,要产生与数据有关的控制信号。指令操作数和控制信号被送至相应的执行单元供执行。执行单元所产生的结果被相应地贮存在寄存器文件或数据高速缓冲存贮器单元27中。当一个指令发出时,处理结果可能在几个机器周期期间不能得出。同时,在下一个机器周期期间,下一个指令可能被解码,而在所需的发出条件满足时被发出。因此,指令以下正常的指令顺序被解码和发出,但由于执行单元的不同的指令执行时间,其结果可以不同的次序贮存。这种无顺序的贮存使异常处理和重试出错的指令变得复杂。但是,这种事件是较少发生的,而无顺序贮存则提供了在执行和硬件方面的优点。
在图3中,虚拟寻址技术被广泛地实施,此技术可使程序员不需考虑数据和指令元素的实际位置。地址产生机构将在程序地址和数据处理单元中的数据和指令元素之间提供一个接口,通过使用数据和指令元素页面,从大容量或海量存贮媒介的数据和指令元素的传输被加快,它无需传输单个的数据和指令元素。此外,程序一般地以这样的格式编写,使得为顺序的执行指令所需的数据和指令元素在程序或文件中贮存得相互比较靠近。因此,一页面数据和指令元素一般将包括程序执行用的多个有关数据和指令元素。但是,页面方案对分区(granularity)的相对的严格性具有这样一种结果(尤其是在执行向量指令时),即有关的数据和指令元素组可能会扩展出页面界限而处于数据处理系统的主存贮器单元中不存在的页面上,在优选的实施例中,地址产生机构34包括有进行地址翻译、并且当所需的信息页面不存在于主存贮器单元15中时能产生一个异常(即测试307)用的设备部分。还包括作为操作系统一部分的一个软件程序,以便在大容量存贮器单元和主存贮器单元之间传送信息页面。当一个页面的数据和指令元素被传送至主存贮器单元15时,地址产生机构34提供在主存贮器单元15中相应的页面表项目,在此,当前正在执行的程序可标识贮存在主存贮器单元15中的所有的数据和指令元素的页面(与虚拟地址有关),因此当被访问的数据或指令不存在于主存贮器单元15中时,能发出一个页面故障信号。如图3所示,数据处理单元一般包括与虚拟寻址技术有关的过程,如用于当所要求的信息页面不存在于主存贮器单元中时发出信号设备,以及通过检索缺页信息对页面故障作出响应的程序。
从向量页面故障的恢复一般由操作系统控制下的一个程序来提供,此操作系统程序具有向量重新起动帧可用,以标识出导致页面故障的程序部分。这样一个程序将确保被向量页面故障标识为缺页的数据元素会被传送到主存贮单元。被向量页面故障所中断的指令的执行即已完成。在所有中断的指令被重新执行之后,然后程序恢复正常的执行。在目前这种向量运算方式下,可要求64个数据元素,每个元素可能处于不同的页面中。因此,可能会需要64个关于各个页面的页面表以及一个用于指令的页面。因此,操作系统软件必须保持为执行一个向量指令所需的可能相当大量的页面供使用。
本发明的中央处理单元设计能提供对向量指令和标量指令的并行执行。因此,当检测到一个异常或中断状态时,指令发出过程停止,未完成的指令被完成。很明显,可能会存在多重异常和中断的状态。在本优选实施例中,算术自陷(arithmetic traps)具有最高的优先级,然后是向量异常、所有其它的异常(故障),最后是最高优先级的中断。
上述说明的目的是阐述本优选实施例的工作而不是限制本发明的范围,本发明的范围仅受到权利要求的限制。根据上述说明,对于熟悉本技术领域的人员来说,包含本发明的思路和范围的许多方案是显而易见的。

Claims (18)

1.一种与数据处理系统的中央处理单元有关的故障恢复设备,上述的数据处理系统包括一个主存贮器单元,上述的中央处理单元包括多个执行单元,上述的执行单元执行从一个指令发送单元来的指令,至少有一个上述的执行单元专用于执行向量运算,上述的数据处理系统采用虚拟编址技术,该系统包括:
故障检测设备,当一个向量装入或一个向量存贮指令访问一个在上述的主存贮器单元中不存在的数据元素时,它产生一个第一信号;
执行装置,当上述的第一信号产生时,它允许正在进行中的向量运算指令完成其操作;
上述的指令发送单元在上述的第一信号产生之后,阻止再发出新的向量运算指令;
贮存装置,它用于贮存导致产生上述的第一信号的上述指令的参数。
2.与权利要求1的一个中央处理单元有关的故障恢复单元,其中上述的贮存装置还贮存由上述的故障检测设备产生的一个随后发生的信号的有关参数。
3.与权利要求1的中央处理单元有关的故障恢复设备,其中上述的参数包括:一个异常类型码、一个向量长度、一个正在被上述的向量运算指令处理的数据元素的基地址、一个处在顺序的向量运算指令元素之间的位移量、在包括引起上述的第一信号的上述的向量运算指令数据元素的一个页面的数据元素内的一个虚拟地址、上述的指令的标识和待发出的下一个指令的虚拟地址。
4.根数权利要求3的故障检测设备,其中上述的故障检测设备检测由于继续执行上述的向量运算指令而形成的一个第二页面故障状态,对每个引起上述的页面故障的每个向量指令都要贮存上述的参数。
5.根据权利要求4的故障检测设备,其中上述的中央处理单元能执行重叠的标量和向量运算指令,上述的故障检测设备还包括当一个标量指令产生一个异常状态时产生一个第一信号的设备,在产生上述的第一信号后,上述的中央处理单元继续执行标量和向量运算指令,其中与导致产生上述的第一信号的上述的向量和标量指令有关的参数被贮存起来。
6.一种能对在数据处理系统中的页面故障作出响应的技术,该数据处理系统能执行多个重叠的向量和标量运算指令,该技术包括下述步骤:
标识一个页面故障的存在;
在标识上述的页面故障之后,暂停发出指令;
在标识上述的页面故障之后,继续执行正在执行中的指令;
贮存与上述的被标识的页面故障有关的参数;
利用上述的参数执行一个程序,以完成导致页面故障的指令的操作。
7.对权利要求6的页面故障作出响应的技术,其中上述的贮存步骤包括贮存识别一个页面故障的标识上述的指令的参数,一个导致页面故障的缺失数据元素和待执行的下一条指令。
8.对权利要求6的页面故障作出响应的技术,其中上述的贮存步骤包括贮存表明存在另一个页面故障的信号。
9.对权利要求6的页面故障作出响应的技术还进一步包括在结束上述的指令之后继续执行程序的步骤。
10.对权利要求6的页面故障作出响应的技术还包括在对一个第一页面故障作出响应期间至少标识另一个页面故障的步骤;在上述的继续执行程序步骤之前,判定每个页面故障。
11.对权利要求6的页面故障作出响应的技术,其中上述的标识缺失数据元素的贮存参数包括贮存一个起始地址的步骤、一个位移量和一个向量长度。
12.一个包括执行向量运算用的设备的数据处理系统,上述的数据处理系统包括:
一个主存贮器单元;
一个海量存贮器单元;
至少一个指令发送单元,用于控制指令执行;
多个执行单元,用于对上述的指令发送单元作出响应而执行指令,至少一个上述的执行单元执行向量运算,其中上述的数据处理系统采用一个虚拟编址技术;
页面故障检测装置,用于检测为上述的指令发送单元对一个向量运算指令所要求的缺失数据元素,在检测到上述的向量指令页面故障后,上述的指令发送单元中止发出信号。当上述的页面故障被标识时,上述的指令发送单元允许正在执行中的指令完成执行。
13.根据权利要求11的数据处理系统,其中用于标识从上述的主存贮器单元中缺失数据元素和当一个向量指令页面故障被标明时标识一个有关的指令的信号组被贮存在一个堆栈上。
14.根据权利要求10的数据处理系统,其中用于执行一个向量运算指令的缺失数据元素,在对与上述的向量指令有关的页面故障作出响应后,被贮存在上述的主存贮器单元中,上述的被贮存的信号组允许上述的向量指令被一个出错处理过程所重新执行。
15.根据权利要求11的数据处理系统,其中所述的数据处理系统能执行重叠的向量和标量运算,上述的数据处理系统还包括:
标量指令异常检测设备,用于检测由于执行一个标量指令而形成的异常状态,上述的标量指令异常装置使上述的指令发送单元在检测到一个异常状态时,暂停发出进一步的指令和完成当前正在执行的指令。
16.根据权利要求14的数据处理系统,其中与上述的向量指令页面故障和上述的产生异常的标量运算有关的信息被贮存在一个存贮堆栈上。
17.根据权利要求15的数据处理系统,其中贮存在上述堆栈内的上述信息包括一个在上述的堆栈上以前贮存的信息的一个指示。
18.根据权利要求16的数据处理系统,其中当一个向量运算页面故障被检测到时,所贮存的信息包括一个向量长度、一个起始基地址、一个起始跨距、一个与形成页面故障的向量运算指令有关的虚拟地址、一个形成上述的页面故障的向量装入/贮存指令和下一个指令的虚拟地址。
CN88104010A 1987-07-01 1988-07-01 在向量数据处理运算中从缺页故障中恢复的设备和方法 Expired - Fee Related CN1021604C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/069,372 US5063497A (en) 1987-07-01 1987-07-01 Apparatus and method for recovering from missing page faults in vector data processing operations
US069,372 1987-07-01

Publications (2)

Publication Number Publication Date
CN1030487A true CN1030487A (zh) 1989-01-18
CN1021604C CN1021604C (zh) 1993-07-14

Family

ID=22088550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN88104010A Expired - Fee Related CN1021604C (zh) 1987-07-01 1988-07-01 在向量数据处理运算中从缺页故障中恢复的设备和方法

Country Status (6)

Country Link
KR (1) KR890002763A (zh)
CN (1) CN1021604C (zh)
BR (1) BR8803380A (zh)
DE (1) DE3855659T2 (zh)
IE (1) IE79236B1 (zh)
IN (1) IN169636B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200964A (zh) * 2011-06-17 2011-09-28 孙瑞琛 基于并行处理的fft装置及其方法
CN104350462A (zh) * 2012-06-15 2015-02-11 国际商业机器公司 事务中止指令
CN109074256A (zh) * 2016-04-26 2018-12-21 Arm有限公司 在执行向量操作时管理地址冲突的装置及方法
CN114489506A (zh) * 2022-01-21 2022-05-13 杭州海康存储科技有限公司 存储访问控制装置、方法及存储设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2774788B1 (fr) * 1998-02-12 2000-03-24 Bull Sa Procede de controle d'acces memoire sur une machine avec memoire a acces non uniforme et machine pour mettre en oeuvre ce procede
KR100648414B1 (ko) * 2003-11-26 2006-11-24 학교법인연세대학교 오차 보정부를 구비한 전자 혈압 측정시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200964A (zh) * 2011-06-17 2011-09-28 孙瑞琛 基于并行处理的fft装置及其方法
CN104350462A (zh) * 2012-06-15 2015-02-11 国际商业机器公司 事务中止指令
CN104350462B (zh) * 2012-06-15 2017-01-25 国际商业机器公司 事务中止指令
CN109074256A (zh) * 2016-04-26 2018-12-21 Arm有限公司 在执行向量操作时管理地址冲突的装置及方法
CN109074256B (zh) * 2016-04-26 2023-02-28 Arm有限公司 在执行向量操作时管理地址冲突的装置及方法
CN114489506A (zh) * 2022-01-21 2022-05-13 杭州海康存储科技有限公司 存储访问控制装置、方法及存储设备
CN114489506B (zh) * 2022-01-21 2024-02-27 杭州海康存储科技有限公司 存储访问控制装置、方法及存储设备

Also Published As

Publication number Publication date
IE881988L (en) 1989-01-01
DE3855659T2 (de) 1997-06-12
DE3855659D1 (de) 1996-12-19
IN169636B (zh) 1991-11-23
BR8803380A (pt) 1989-01-24
KR890002763A (ko) 1989-04-11
CN1021604C (zh) 1993-07-14
IE79236B1 (en) 1998-04-22

Similar Documents

Publication Publication Date Title
EP0297893B1 (en) Apparatus and method for recovering from page faults in vector data processing operations
US5159597A (en) Generic error recovery
US4123795A (en) Control system for a stored program multiprocessor computer
EP0117408B1 (en) Method and mechanism for load balancing in a multiunit system
US5802345A (en) Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
US6105075A (en) Scatter gather memory system for a hardware accelerated command interpreter engine
US3688274A (en) Command retry control by peripheral devices
CN101730881B (zh) 包括多个处理器的系统以及操作该系统的方法及设备
US5812810A (en) Instruction coding to support parallel execution of programs
WO1997048047A1 (en) Improved non-volatile and volatile cache providing data integrity
GB2348306A (en) Batch processing of tasks in data processing systems
US7640450B1 (en) Method and apparatus for handling nested faults
CA1084632A (en) Buffer chaining
CN1117166A (zh) 双执行部件处理器的反回逻辑线路
JP3461636B2 (ja) データ処理装置
CN1021604C (zh) 在向量数据处理运算中从缺页故障中恢复的设备和方法
CN110347611A (zh) 存储器系统和存储器系统的操作方法
JPS58121457A (ja) 情報処理装置
US6810523B2 (en) Efficient thread programming using a single callback function
CN1030654A (zh) 利用存取和故障逻辑信号保护主存储器单元的设备和方法
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
US5278840A (en) Apparatus and method for data induced condition signalling
EP0297892B1 (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
CN1031286A (zh) 对数据引起的状态发出信号的设备和方法
JPH0430056B2 (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
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