CN1014842B - 数据处理***中控制异步程序中断事件的设备和方法 - Google Patents

数据处理***中控制异步程序中断事件的设备和方法

Info

Publication number
CN1014842B
CN1014842B CN88104139A CN88104139A CN1014842B CN 1014842 B CN1014842 B CN 1014842B CN 88104139 A CN88104139 A CN 88104139A CN 88104139 A CN88104139 A CN 88104139A CN 1014842 B CN1014842 B CN 1014842B
Authority
CN
China
Prior art keywords
mode
signal
mentioned
instruction
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.)
Expired
Application number
CN88104139A
Other languages
English (en)
Other versions
CN1030311A (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 CN1030311A publication Critical patent/CN1030311A/zh
Publication of CN1014842B publication Critical patent/CN1014842B/zh
Expired 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
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

在一个具有操作核心状态(即用以执行特许指令)和操作用户状态的数据处理***中,响应中断条件设备包括第一寄存器、第二寄存器和第三寄存器。第一寄存器受当前执行中程序的控制,用以允许使与状态有关的中断信号产生,第二寄存器用以指示悬而未决的与状态有关的中断条件的存在,第三寄存器用以请求与状态有关的中断被输入第二寄存器中。操作状态以及允许和悬而未决的中断条件寄存器都受到监视。

Description

本发明总的说来是关于数据处理***,特别是关于能导致数据处理***中正在执行的程序发生变化的一些事件。
在现代高性能的数据处理***中,***的处理能力是足以同时进行多重处理活动的。如果不能同时进行多项处理,数据处理***的设备资源就得不到充分利用。对控制程序一般是要求能对数据处理***的设备资源进行安排,并能在一组***用户中执行程序。控制程序是赋有暂停执行某一程序的能力的,具体作法是将设备资源(例如数据处理装置)的状态或参数保存起来,使另一个程序可以利用该设备资源,然后恢复该设备资源状态或参数,继续执行该暂停执行的程序。这样,设备资源就可以根据多个***用户和/或程序进行多路复用。控制程序的任务是使数据处理***能以尽可能高的水平,按照***设备资源在有可能使用这些设备资源的用户之中的合理分配来保持工作。
在根据现行程序执行某一任务时,可能需要中断该执行中的任务,以便响应控制程序处理范围以外所发生的事件。于是就必须通知现行执行中的程序:某一外部任务需要使用该设备资源。典型的要求使用目前在使用的设备资源的外部事件可以是某一输入/输出(I/O)请求的完成,由另一程序(例如程序信号)所产生的中断,某一终端用户使用由***用户或控制程序本身所用的、其它输入某一信号以通知程序有关异步事件(例如计时器计时时间终了)用的设备的键盘,对程序进行的中断等等。这些事件一般叫做AST(异步***中断)事件。的确,控制程序可能需要中断正在执行的程序,而去执行合适程序的上下文中的该控制程序 本身的一部分,(例如将已经过输入/输出的传输数据组从内缓冲器记入程序缓冲器中,等等)。但在某一给定时间,某一程序的中断可能是不合适的,而且会导致对一些关键性数据的折衷处理。
在有关的数据处理***中,程序中断功能由控制程序本身履行。由控制程序履行程序中断其表现在处理能力的利用方面的间接费用高,此外需要不断监察某些事件。每次检测出所监察的某一事件时,控制程序就必须测试各有关条件,以确定是否应中断当前正在执行中的程序,去执行一中断程序。另外,现行正在执行中的程序应能通知控制程序,表明现时不可中断本程序。最后,若程序中断或企图中断频繁,则会在控制程序中用去其量达到不能容许的程度的处理能力。
因此我们认为需要有这样一种控制程序中断的设备和方法,这种设备和方法既直接适用于非特惠程序,又不致降低实施软件程序的效率。
本发明的一个目的是提供一种经过改进的数据处理装置。
本发明的一个特点是提供一种在现在正执行中的程序的中断控制方面有所改进的数据处理***。
本发明的另一个特点是提供一种指示装置,用以指示某一中断条件何时是某一特定状态所允许的,以及某一中断条件何时是可以在某一特定状态下存在的。
本发明的又另一个特点是监察中断允许装置和中断存在装置,且在条件一致时产生中断信号。
本发明的另外一个特点是用现行的处理机状态程序,提供非特惠指令,控制程序中断的允许或不允许。
根据本发明,上述和其它目的是通过提供这样一种数据处理装置来实现的,该数据处理装置有两个寄存器,即一个异步中断允许寄存器(ASTEN)和一个异步中断总计寄存器(ASTSR),这两个寄存器控制着程序中断的顺序。ASTEN寄存器含有控制异步程序中断对于该类型的执行 状态(例如特许指令或核心状态和非特惠指令或用户状态)是否允许的二进制位。ASTSR寄存器含有表示一异步中断对于有关执行状态是否未决的二进制位。ASTSR寄存器中的未决二进制位由控制程序输入,当执行中断时,与产生中断的状态有关的特定寄存器二进制位被清除掉。为了确定何时会发生中断,要对ASTEN和ASTSR寄存器连同现行的处理机状态和现行的处理机中断优先级进行监察。非特惠指令是为控制ASTEN寄存器的允许状态而提供的。
阅读下列说明连同附图,即可了解本发明的这些及其它特点。
图1A和图1B是可采用本发明的数据处理***的实施例。
图2是可采用本发明的数据处理装置的中央处理机的一个实例。
图3是实施本发明的设备的方框图。
图4是处理装置响应本发明所产生的中断信号时的流程示意图。
图5是根据本发明的最佳实施例的硬件特许上下文字组。
图6A是中断如何根据程序的任务而产生的示意流程图,
图6B则是中断如何响应标识根据本发明的中断条件的任务而产生的示意流程图。
图7表示由检查ASTEN和ASTSR寄存器而产生的指令,并示出了测试步骤。
图8是数据处理***的各操作***状态之间的关系的示意图。
参看图1A和图1B,图中示出了可采用本发明的数据处理***结构的两个实例。图1A中,中央处理机(1号)11耦合到***总线19上。其它中央处理机(例如N号)12也可耦合到***上。中央处理机11(至12)根据中央处理机的结构和中央处理机的控制程序处理数据,该控制程序由常驻在主存储器装置15中的一些指令组成。非常驻数据和指令一般存储在大容量存储器装置中,并经***总线19传送到主存储器装置(15)中和从主存储器装置(15)传送出去。输入/输出装置(1号)16(至M号) 17)将诸如大容量存储器装置、用户终端设备和通信设备之类的设备借助于***总线19耦合到数据处理***上。大容量存储器装置存储着数据处理装置所需用的数据和指令。中央处理机11至12操作所需用的数据和/或指令集(一般称之为数据和/或指令的页面)系从存取速度较慢的大容量存储器装置传送到主存储器装置中,中央处理机对主存储器装置的存取速度则较快。使用总线的***,***的重新组合较容易,这是它的优点,但***的各个部分需要有控制设备作为其与***总线之接口之用,这是它的缺点。再参看图1B,图中示出了一数据处理***,其中中央处理机11(至12)和输入/输出装置16(至17)都通过存储器控制装置14耦合到主存储器装置15上,存储器控制装置14取代了图1A中所示的***总线19以及与总线相联的数据处理结构中的各数据处理***部件所执行的控制功能。存储器控制装置14集中控制和监视着数据和指令的传送,因而比图1使用总线的结构方式的效率高,但在灵活性方面较差。
再参看图2。这是能有效应用本发明的一个典型的中央处理机的示意方框图。配给装置(issue    unit)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包括预取设备和算法,以确保有适当的指令(包括任何转移指令)按需要可供配给装置使用。多个执行装置,如由标量运算地址发生装置24和矢量运算装置28所表示的那样,都是处理某些等级的处理操作的专用处理设备。举例说,一个执行装置可配置得使其处理浮点运算或整数算术运算等等。标量寄存器23与配给装置22相联,它可存储执行程序或提供数据处理操作记录所需用的数据。例如,其中一个寄存器是程序计数寄存器,它存储着执行程序指令序列中待处理的下一个指令的(虚拟)地址。标量运算地址发生装置24用以将虚拟地址转换成主存储器装置15中的物理单元。配给装置22也在执行装置以不同速率对指令进行处理时负责将来自执行装置的数据重新排列成正确的顺序。
参看图3,这是控制着AST(异步***中断)中断信号的发生的设备的示意图。ASTEN(异步中断允许)寄存器221为各***操作状态提供位单元,表明AST中断信号的产生是否为各状态所允许的。某些部分程序可以具有这样的性质,即中断执行中的程序可能是不恰当的。为扩大ASTEN寄存器221的用途,指令组包括非特惠指令,这是容许当前执行中的程序可改变对应于当前执行中的程序的状态的状态位置中允许情况的SWASTEN指令。ASTSR(异步中断总计)寄存器222还包括用于各***操作状态的位单元,但存储在任一位单元中的逻辑“1”二进制位表明,AST中断条件对相应的状态来说是悬而未决的。存储装置223包含表示当前执行中程序的状态的信号。中断优先级寄存器224存储着数据处理***的现行中断优先级。在最佳实施例中,中断是按优先性的优先权次序加以处理的。为使中断源促使中断开始,中断源的优先权应大 于现行处理机的中断级。当中断开始时,以前的程序计数器和程序状态都存储在核心堆栈存储器中。新的程序计数器是从操作***中的***控制块中选定的,且与中断源有关。新的IPL(中断优先级)是设置在中断源的IPL上。因此,较高级中断源IPL的中断能中断较低级的中央处理机的IPL,但不能中断同等级或更高级的IPL。AST的中断是在等级#1开始的,因而只能中断IPL为#0的程序。存储在这些寄存器221、222、223和224中的信号由监察器装置225监视。当在ASTEN寄存器221,ASTSR寄存器222和状态寄存器223中的信号具有表示同一状态的信号,且现行处理机的IPL(中断优先级)为#0,于是,监察器装置产生AST中断信号,启动AST中断响应顺序。
参看图4,这是数据处理装置响应由图3的监察器装置225所产生的AST中断信号的示意图。在步骤401,监察器根据适当的输入信号产生AST中断信号。在步骤402,清除了ASTSR寄存器中的有关的位。在步骤403,操作***响应中断信号的产生。此响应一般采取起动一个响应于中断信号的过程的形式。在步骤404,程序计数器的内容和正执行程序的处理机状态字被存储到核心堆栈存储器中。寄存器所存储的内容使数据处理装置在响应AST中断信号之后,可以在发生中断的点恢复执行程序。响应AST中断信号用的程序会使适当的参数(即上下文)输入数据处理装置中,并且执行响应于发出中断信号条件的指令序列。
接下去参看图5,这是硬件特许上下文字组格式的示意图。硬件特许上下文字组是在暂停执行有关程序时(由特许指令)所存储的信息。通过深入研究本发明来看,ASTEN和ASTSR寄存器的内容,决取于有关的程序必须存储起来,而使数据处理装置可以恢复执行有关的程序。硬件特许上下文字组包括核心堆栈指示字字段501、用户堆栈指示字字段502、包含地址空间数和ASTEN字段503A和ASTSR字段503B的字段503。页面表基地址寄存器的内容存储在字段504中。
参看图6A,这是程序允许传送悬而未决的AST中断的方法示意图。在步骤601,程序确定中断条件将被允许。为实现该变化,在步骤602中发出SWASTEN(交换ASTEN字段)指令。SWASTEN指令促使在ASTEN字段中设定与现行状态有关的允许位。作为该指令的结果,ASTSR、ASTEN、IPL(中断优先级)和现行(运行中的)状态字段进行测试,以确定是否存在在步骤603中执行中断程序的条件。当测试结果表明存在AST中断条件时,就在步骤605清除ASTSR字段中适当的位,在步骤606中执行AST中断响应。当测试结果表明不存在中断条件时,程序就继续执行下去。一个程序也可以通过采用SWASTEN指令在未来禁止AST中断的传送,以便通过清除ASTEN寄存器中的允许位来禁止AST中断。
参看图6B,这是根据本发明产生AST中断事件的示意图。作为在步骤651识别中断条件的结果,在步骤652中就以ASTRR(AST请求寄存器)寄存器作为指令目的地的情况下发出MTPR(移至处理机寄存器)指令。MTPR(移至处理机寄存器)ASTRR也促使对应于特定操作状态的二进制位被置入ASTSR寄存器中。根据MTPR(移至处理机寄存器)ASTRR指令,在步骤653中测试ASTEN、ASTSR、IPL和现行状态字段。当数据处理装置的AST中断条件在步骤653中存在时,就在步骤656中清除ASTSR字段中相应状态位置中的二进制位,并在步骤657中启动响应性的中断程序。当不存在中断条件时,就在步骤655中继续执行当前执行中的程序。
参看图7,图中示出了根据最佳实施例的使用图6A中的步骤603和604和图6B中的步骤653和654的测试的指令以及测试的具体情况。涉及ASTEN和ASTSR字段的测试是为SWIPL(交换中断优先级)指令701、SWASTEN(交换ASTEN)指令702、REI(从“异常”或“中断”返回)指令703和MTPR(移至处理机寄存器)ASTRR指令执行的。显然这些指令个个会导致允许一个AST中断程序的执行,因而必须测试此条 件。705示出了测试逻辑的结构。对当前执行中的程序的IPL值的确定进行检查。由于AST中断程序的IPL值为1,因此为使AST中断程序可以执行,当前操作中的程序的IPL必须为0。当当前执行中程序的IPL为0时,就要确定当前执行中的程序是处于用户状态执行的或是处在核心状态执行的。若ASTEN和ASTSR核心状态字段中存储有逻辑“1”二进制位,或若ASTEN和ASTSR用户状态字段中存储有逻辑“1”,则当当前执行中的程序是在用户状态下执行时,就清除ASTSR字段中适当的状态字段逻辑“1”二进制位,并且启动适当的(核心状态的优先权高于用户状态)AST中断响应。当ASTEN和ASTSR字段没有适当值时,就继续执行当前执行中的程序。当当前执行中的程序是在核心状态下执行时,就检查核心状态的ASTEN和ASTSR字段,且当识别出两个逻辑“1”二进制位时,就启动核心状态AST中断响应。当不存在核心状态信号时,就继续执行当前执行中的程序。
参看图8,图中示出了两个典型的操作***状态和EPICODE状态的关系。用户状态8A一般执行履行用户极感兴趣的处理功能的应用型的程序。用户系赋予较全面的控制功能,以便具有所希望有的处理能力。指令一般都是非特惠性质的。这就意味着指令的次序和所选定的各方面都是处于用户的控制下。核心状态8B是操作***执行指令的状态。核心状态执行所有用户状态中存在的指令,以及其它一些与核心状态8B有关的指令,这些指令是特许的,因而不供用户对其加以操纵。在用户状态中不容许有特许指令,因为它们会影响其它用户或程序的保密性。数据处理***操作的这种状态,是留给那些应不中断执行和/或除非数据处理***处在预定状态而不应执行的指令序列。一些可在用户状态8A下或在核心状态8B下执行的指令需要转移到EPICODE状态8C中。此状态系赋有某些特权和某些实施策略以确保指令序列不中断(极细微的)执行的专用硬件。
具有图2的流水线执行装置的中央处理机在最佳实施例中是在受到若干限制的情况下实施的,但是他设计的实施方案也可利用本发明。中央处理机包括多个执行装置,每一执行装置适宜执行一类指令。举例说,一个执行装置-标量运算地址发生装置24,控制着逻辑信号群在中央处理机与主存储器装置之间的转移,即执行着标量输入/存储指令。一个执行装置适宜执行数据移位运算,一个执行装置供进行浮点加/减运算、一个执行装置适宜进行整数和浮点乘法运算,一个执行装置则适宜进行整数和浮点除法运算。在一流水线结构中可以但并不一定非要实施这些专用的执行装置。中央处理机的其它特点如下。当前正执行中的指令序列中的指令是从指令超高速缓冲存储器装置21转移到配给装置22中。在该配给装置中,指令被分解成其各组成部分,从该各组成部分产生出与数据有关的控制信号和地址信号。但在指令可以开始执行(即发出)之前,应满足若干限制条件。所有指令的源寄存器和目的地寄存器应处于备用状态,即对所需要的寄存器的写入操作必须全部完成。寄存器的书写通路在该指令存储所处理的量的未来循环中应处于备用状态。在执行过程中处理指令所需用的执行装置应处于执行操作的备用状态。至于矢量运算装置,矢量运算应为矢量运算期间保留一个执行装置待用。当存储器装入/存储指令感受到超高速缓冲存储装置失误时,装入/存储装置的忙碌标志会使下一个装入/存储指令延迟下来,直到超高速缓冲存储器的失误响应终了为止。当指令发出时,就保留目的地寄存器和结果的书写通路循环待用。在操作数建立的过程中,产生所有与指令无关的寄存器地址,读出和存储操作数,并产生与数据有关的控制信号。指令操作数和控制信号被传送到有关的执行装置以便执行。执行装置所产生的结果,视如何合适而定而存储在寄存器文件或存储在数据超高速缓冲存储器装置15中。指令一经发出,处理的结果就不能供若干机器周期使用。同时在下一个机器周期中,当所需的发出条件得到满足时,就可 以将下一个指令进行解码并发出。这样,各指令可按正常的指令次序进行解码和发出,但由于执行装置的指令执行时间是变化着的,所以得出的结果可以按不同的次序存储。这种不按次序的存储使对故障指令的异常处理和再试过程复杂化。但这些事件较少发生,而且不按次序的存储在执行和硬件方面有利。
上述最佳实施例的AST(异步***中断)事件是在单个程序的基础上发生的。这些事件是由软件程序启动的。各程序(或过程)在执行程序过程中有一组值输入到ASTEN和ASTSR字段中。这些字段的内容确定了何时中断当前执行中的程序来在程序的上下文环境中执行某一特许的控制程序步骤,或在程序的上下文环境中执行某一非特惠的程序步骤。ASTEN字段的状态由程序控制,现行状态中执行程序的允许状态可由SWASTEN指令加以改变。ASTSR字段的状态由控制程序控制。当发生需要中断当前正执行的程序的事件时,控制程序就把将执行相应的中断程序的状态写入到ASTRR寄存器中。写入ASTRR寄存器促使一个二进制位输入到对应于与ASTRR寄存器有关的状态的ASTSR字段中。ASTEN和ASTSR字段是程序的上下文环境的一部分。这些字段在各程序之间进行上下文转接时存储和复原。
处理装置不断地监视着ASTEN和ASTSR寄存器的状态、处理机的现行操作状态和现行处理机的中断优先级。当现行处理机中断优先级为零,且设定了对应于在ASTSR寄存器中和在ASTEN寄存器中的现行的或优先级更高的处理机状态的位时,就启动AST中断响应。这些条件系根据某些指令测试的。硬件响应此中断:将程序计数器的内容和处理机的状态字存储起来,然后暂停执行当前正在执行中的程序。当AST中断过程终了时,寄存器内容的存储使数据处理装置可以继续执行被暂停的程序。
提供了非特惠的或用户状态的指令(SWASTEN),这样可在ASTEN寄存器中改变执行指令所藉的允许状态的状态。这样,某一过程的使用者 就可以确定其可中断性。
本发明提供了用以按单个程序控制中断过程的机理。本机理不受软件中断程序的限制,而且决不会在没有检测到中断条件的情况下产生中断。中断可以无需在控制程序转换有关事件条件或使执行程序通知控制程序何时不能中断的情况下执行。
在最佳实施例中,SWASTEN和MTPR指令是在EPICODE状态下执行的。在此处理环境下,多步指令可作为一个单元(一般是禁止中断)执行,甚至可存储在存储器的专用部分中,这样可以不用进行分页操作。这样,就可以有效进行各种字段的测试。显然,中断响应会根据处理环境的变化产生,即根据现行操作状态的允许中断条件的变化或某一中断事件的识别产生。这里ASTEN和ASTSR寄存器是作为实际寄存器加以论述的。但不言而喻这些寄存器是可作为数据块中的字段来实施的。
以上说明是为了举例说明最佳实施例的工作情况进行的,并没有限止本发明范围的意思。本发明的范围仅受所附的权利要求的限制。熟悉本技术领域的人士都知道,对上面的说明,在不脱离本发明精神实质和范围的前提下,是可以作种种修改的。

Claims (22)

1、一种用以响应这样一种数据处理***中的中断状态的设备,该数据处理***具有执行优惠指令和非优惠指令用的核心操作方式和执行非优惠指令用的用户操作方式,其特征在于该设备包括:
第一寄存器装置,它具有一与所述用户操作方式有关的第一存储元件,和一与所述核心操作方式有关的第二存储元件,两个所述存储元件的任一个存储元件中的信号都能指示上述有关方式操作的一种允许的状态;
第二寄存器装置,它具有一与所述用户操作方式有关的第一存储元件和一与所述核心操作方式有关的第二存储元件,两个存储元件的任一存储元件中的信号都指示在所述有关操作方式下中断状态的存在;
第三寄存器装置,存储着指定的操作方式的信号;
监测器装置,与上述第一、二、三寄存器装置相连接,用以只在所述第一、二、三寄存器装置中存储有与同一的操作方式有关的信号时,产生一个中断信号。
2、如权利要求1所述的用以响应中断状态的设备,其特征在于,当前执行中的程序能控制在所述第一寄存器装置中建立与所述当前执行中程序的操作方式有关的存储元件的状态。
3、如权利要求1所述的用以响应中断状态的设备,其特征在于,该设备还包括一第四寄存器装置,用以存储中断优先级的指示,所述的指示由所述的数据处理***存入所述的第四寄存器装置内,所述的监测器装置接收来自所述第四寄存器装置的信号,所述中断信号是在所述指示具有一预选值时和所述第一、二、三寄存器装置内具有存储的数值时才会产生。
4、如权利要求1所述的用以响应中断信号的设备,其特征在于,只在上述中断状态涉及一种操作方式,至少与当前执行中的程序的操作方式同样优惠时,所述的中断信号产生对所述中断状态的响应。
5、如权利要求4所述的用以响应中断状态的设备,其特征在于,所述的中断信号使所述的数据处理***除掉来自上述第二寄存器装置中的存储元件的与所述当前执行中的程序的操作方式有关的信号。
6、如权利要求2所述的用以响应中断状态的设备,其特征在于,所述的数据处理***使用一个非优惠指令将用户方式信号存入上述第一寄存器装置和从上述第一寄存器装置中除掉用户方式信号。
7、如权利要求1所述的用以响应中断状态的设备,其特征在于,所述第一和所述第二寄存器装置的所述内容是所存储的程序的上下文的一部分。
8、如权利要求1所述的用以响应中断状态的设备,其特征在于,用以使信号存入上述第一和第二寄存器装置和从上述第一和第二寄存器装置中被除掉信号的指令起动上述监测器装置。
9、如权利要求1所述的用以响应中断状态的设备,其特征在于,当所述数据处理***处于所述核心操作方式时,只在所述的第一和所述第二寄存器装置的所述第二存储元件里具有预选信号时,来自所述数据处理***的指令使所述监测器装置产生所述中断信号。
10、如权利要求9所述的用以响应中断状态的设备,其特征在于,当所述数据处理***处于所述用户操作方式时,当信号存储在所述第一和所述第二寄存器装置的所述第二存储元件内时,来自所述数据处理***所述指令使所述监测器装置产生所述中断信号;在所述的用户操作方式期间,当信号存储在所述第一和所述第二寄存器装置的所述第二存储元件内并且不同时存储在所述第一和所述第二寄存器装置的所述第二存储元件内时,来自所述数据处理***的指令使所述监测器装置产生所述中断信号。
11、如权利要求1所述的用以响应中断状态的设备,其特征在于,来自所述数据处理***的指令使所述监测器装置工作。
12、如权利要求11所述的用以响应中断状态的设备,其特征在于,来自所述数据处理***的指令使所述的监测器工作,所述指令包括:用以改变上述中断优先级指示的指令、用以使信号存入所述第一寄存器中和从第一寄存器中除掉该信号的指令、用以使信号存入所述第二寄存器中和从第二寄存器中除掉该信号的指令和用以在执行异常和中断子程序之后返回数据处理***操作的指令。
13、如权利要求12所述的用以响应中断状态的设备,其特征在于,所述监测器装置产生上述中断信号以后,所述的数据处理***除掉存在上述第二寄存器中的与上述中断信号的方式有关的上述信号。
14、如权利要求13所述的用以响应中断状态的设备,其特征在于,所述数据处理***包括第三操作方式,来自所述的数据处理***的所述指令以所述第三操作方式来执行。
15、如权利要求1所述的用以响应中断状态的设备,其特征在于,用户程序能使信号存入所述第一寄存器装置的所述第一存储元件内和从上述第一存储元件中除掉该信号。
16、如权利要求3所述的用以响应中断状态的设备,其特征在于,所述的中断优先级的所述指示的预选值对应于所述中断优先级的最低值。
17、一种响应具有多种操作方式的一种数据处理***中的异步中断状态的方法,其特征在于,该方法包括下列步骤:
在第一寄存器装置中存入有关方式的允许信号,该信号表示在有关方式下的异步中断状态可以响应;
检测上述异步中断状态;
在第二寄存装置中存入有关方式的中断状态存在信号,该信号表示在有方式下存在异步中断状态;和
监测上述允许信号和上述中断状态存在信号;
当在上述数据处理***当前执行的方式下上述允许信号和上述中断状态存在信号都存在时,发出中断信号。
18、如权利要求17所述的响应异步中断状态的方法,其特征在于,在所述第一寄存器中存储上述允许信号的步骤包括响应在上述一个允许信号有关的方式下执行的一个指令,存储一个上述的允许信号的步骤。
19、如权利要求17所述的响应异步中断状态的方法,其特征在于,所述发出中断信号的步骤包括执行多个指令中的一个指令的步骤。
20、如权利要求17所述的响应异步中断状态的方法,所述数据处理***包括用以执行非优惠指令的用户方式和用以执行优惠指令和非优惠指令的核心方式,其特征在于,所述的数据处理***在上述用户操作方式下操作时,所述发出中断信号的步骤包括在所述用户操作方式下工作时,当所述允许信号和所述的中断状态存在信号都存在时,和在上述核心操作方式下,当上述允许信号和上述中断状态存在信号都存在时,发出中断信号的步骤,以及当上述数据处理***在上述核心操作方式下操作时,发出中断信号的步骤还包括上述核心操作方式下,当上述允许信号和上述中断状态存在信号都存在时发出一个中断信号的步骤。
21、一种用以响应一数据处理***中的中断状态的设备,该数据处理***具有第一和第二操作方式,其特征在于该设备包括:
第一寄存器装置,用以存储允许产生所述第一和第二操作方式的中断信号起作用的信号;
第二寄存器装置,用以存储指示所述第一和所述第二操作方式的中断状态存在的信号;和
中断装置,与上述第一寄存器装置和上述第二寄存器装置相连接,用以在允许信号和中断状态存在信号与上述数据处理***的操作方式有关时响应所述中断状态,其特征还在于所述的数据处理***使上述信号存入上述第一和第二寄存器装置内,和上述中断装置接收来自上述数据处理***的当前操作方式的一个指示。
22、如权利要求21所述的用以响应中断状态的设备,其特征在于,所述数据处理***能够发出多个具有子程序的指令,用以确定所述允许信号和所述中断状态存在信号与所述当前的操作方式有关的时间。
CN88104139A 1987-07-01 1988-07-11 数据处理***中控制异步程序中断事件的设备和方法 Expired CN1014842B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6943687A 1987-07-01 1987-07-01
US069,436 1987-07-01

Publications (2)

Publication Number Publication Date
CN1030311A CN1030311A (zh) 1989-01-11
CN1014842B true CN1014842B (zh) 1991-11-20

Family

ID=22088968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN88104139A Expired CN1014842B (zh) 1987-07-01 1988-07-11 数据处理***中控制异步程序中断事件的设备和方法

Country Status (9)

Country Link
EP (1) EP0297892B1 (zh)
JP (1) JPH0668725B2 (zh)
KR (1) KR970004512B1 (zh)
CN (1) CN1014842B (zh)
AU (1) AU626067B2 (zh)
BR (1) BR8803377A (zh)
CA (1) CA1302582C (zh)
DE (1) DE3852220T2 (zh)
IN (1) IN171220B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0831038B2 (ja) * 1990-02-13 1996-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 割込みマネジャおよび割込み処理方法
CN100367213C (zh) * 2004-09-30 2008-02-06 黄英哲 具有自动备份和还原寄存器内数据的***和方法
US7581051B2 (en) * 2005-05-16 2009-08-25 Microsoft Corporation Method for delivering interrupts to user mode drivers
CN100365605C (zh) * 2005-12-02 2008-01-30 北京中星微电子有限公司 多级中断申请装置和方法
US8214574B2 (en) * 2006-09-08 2012-07-03 Intel Corporation Event handling for architectural events at high privilege levels
US8185722B2 (en) * 2007-03-14 2012-05-22 XMOS Ltd. Processor instruction set for controlling threads to respond to events

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3560935A (en) * 1968-03-15 1971-02-02 Burroughs Corp Interrupt apparatus for a modular data processing system
JPH0693225B2 (ja) * 1985-09-20 1994-11-16 日本電気株式会社 事象処理方式

Also Published As

Publication number Publication date
AU1863788A (en) 1989-01-05
DE3852220D1 (de) 1995-01-12
KR970004512B1 (en) 1997-03-28
AU626067B2 (en) 1992-07-23
CA1302582C (en) 1992-06-02
JPS6488639A (en) 1989-04-03
EP0297892A2 (en) 1989-01-04
IN171220B (zh) 1992-08-15
EP0297892A3 (en) 1992-02-12
DE3852220T2 (de) 1995-06-08
CN1030311A (zh) 1989-01-11
EP0297892B1 (en) 1994-11-30
KR890002764A (ko) 1989-04-11
BR8803377A (pt) 1989-01-24
JPH0668725B2 (ja) 1994-08-31

Similar Documents

Publication Publication Date Title
US5386563A (en) Register substitution during exception processing
CN100383740C (zh) 挂起线程执行直到发生指定的存储器访问的方法和设备
US5043867A (en) Exception reporting mechanism for a vector processor
EP0333366B1 (en) Context switching method and apparatus for use in a vector processing system
Vyssotsky et al. Structure of the Multics supervisor
CN100373331C (zh) 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
US5148544A (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
US4493034A (en) Apparatus and method for an operating system supervisor in a data processing system
CN101452423B (zh) 控制硬件加速器内数据值的清除
US3984820A (en) Apparatus for changing the interrupt level of a process executing in a data processing system
CN1040157C (zh) 自动暂停状态重启动的透明***中断
CN104364769B (zh) 处理器特性的运行时间检测监控
EP0106668A2 (en) Computer system with multiple operating systems
EP1766518B1 (en) Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
JPS61286931A (ja) 情報処理装置
RU2137182C1 (ru) Выполнение инструкции обработки данных
US3654621A (en) Information processing system having means for dynamic memory address preparation
GB2348306A (en) Batch processing of tasks in data processing systems
CN104380264A (zh) 运行时间检测报告
CN1092189A (zh) 用于在超标量处理机***中索引中间存储器缓冲的指定的方法和***
EP1760580B1 (en) Processing operation information transfer control system and method
CN104169887A (zh) 通过指令操作码的运行时间检测间接采样
CN100440153C (zh) 处理器
CN1014842B (zh) 数据处理***中控制异步程序中断事件的设备和方法
CN107526622A (zh) Linux的快速异常处理方法及装置

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