JPH0668725B2 - データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 - Google Patents

データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法

Info

Publication number
JPH0668725B2
JPH0668725B2 JP63164820A JP16482088A JPH0668725B2 JP H0668725 B2 JPH0668725 B2 JP H0668725B2 JP 63164820 A JP63164820 A JP 63164820A JP 16482088 A JP16482088 A JP 16482088A JP H0668725 B2 JPH0668725 B2 JP H0668725B2
Authority
JP
Japan
Prior art keywords
interrupt
signal
mode
data processing
register means
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 - Fee Related
Application number
JP63164820A
Other languages
English (en)
Other versions
JPS6488639A (en
Inventor
エヌ カトラー ディヴィッド
エイ オービッツ ディヴィッド
バンダーカー ディリープ
カードーザ ウェイン
ティー ウィーテック リチャード
Original Assignee
ディジタル イクイプメント コーポレーション
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 ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
Publication of JPS6488639A publication Critical patent/JPS6488639A/ja
Publication of JPH0668725B2 publication Critical patent/JPH0668725B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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)

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は一般にデータ処理システムに関し、特にデー
タ処理システムにおける実行下でプログラムに変化を生
じ得る事象に関する。
(従来の技術) 最新の高性能データ処理システムにおいては、複数の作
業を同時に実行可能とするのに充分な処理能力を備えて
いる。作業を同時発生しないと、データ処理システムの
資源の利用効率が低下する。一般に、データ処理システ
ムの資源をスケジュール設定し、一組のシステムユーザ
間にプログラムの実行を割り当てるのに、制御プログラ
ムが必要である。この制御プログラムは、(データ処理
装置等)資源の状態またはパラメータをセーブすること
によってプログラムの実行を中断し、別のプログラムを
資源で利用可能とし、資源の状態またはパラメータを復
元した後、中断プログラムの実行を継続する能力を備え
ている。このようにして、資源は複数のシステムユーザ
及び/又はプログラムに対し多重化可能となる。つまり
制御プログラムは、資源利用の潜在候補者間でシステム
資源の公正な配分を行うことによって、データ処理シス
テムの稼働をできるだけ高いレベルに一貫して維持する
役割を果している。
現プログラムに応答した作業が実行されている間に、制
御プログラムの認知外で生じる事象に応答して、実行作
業の割込が必要になることがある。このため、外部の作
業が資源を必要としているということが、現在実行中の
プログラムに知らされねばならない。現在使用中の資源
を必要とする外部事象の例としては、入/出力(I/
O)要求の完了、別のプログラムから発生された割込
(例えばプログラム信号)、キーボードあるいはプログ
ラムに非同期事象を知らせるためシステムユーザ又は制
御プログラム自体から信号を入力するためのその他の装
置(例えば満了タイマ)による端末ユーザ発生のプログ
ラム割込がある。これらの事象は一般に、AST(非同
期システムトラップ)事象と呼ばれている。事実、制御
プログラムは該当プログラムの文脈内で制御プログラム
自体の一部を実行するのに、実行中のプログラムに割り
込む必要を生じることがある(例えば、内部バッファか
らプログラムバッファへのデータ群転送のI/O完了通
知)。しかし、ある一定時点でのプログラム割込は適切
でなく、重要なデータを危険にさらす可能性がある。
関連のデータ処理システムでは、プログラム割込に必要
な能力が制御プログラム自体によって担われている。し
かし、プログラム割込の制御プログラムによる実施は処
理能力利用の点で高いオーバヘッドコストを必要とし、
更に一部の事象が連続的にモニターされねばならないこ
とを必要とする。モニター事象が検出される度に、制御
プログラムは関連の条件をテストし、割込プログラムを
実行するのに現在実行中のプログラムが割り込まれるべ
きかを判定しなければならない。また、現在実行中のプ
ログラムは、それが現時点で割込不能なことを制御プロ
グラムに通知可能でなければならない。更に、プログラ
ムの割込あるいは割込の試みが頻繁だと、許容し得ない
量の処理能力が制御プログラムで使われてしまう。
(発明が解決しようとする課題) 従って、非特権プログラムに直接利用可能で、しかもソ
フトウェアプログラムでの実施におけるような非効率を
含まないプログラム割込制御装置及び方法の必要が痛感
されている。
本発明の目的は、改良データ処理装置を提供することに
ある。
本発明の一特徴は、現在実行中のプログラムの割込制御
が改善されたデータ処理システムを提供することにあ
る。
本発明の別の特徴は、特定のモードで割込状態が可能に
なるとき、及び特定のモードで割込状態が存在するとき
を指示する機構を提供することにある。
本発明の更に別の特徴は、割込可能機構及び割込存在機
構をモニターし、両状態が一致したときに割込信号を発
生することにある。
本発明の他の別の特徴は、現プロセッサモードプログラ
ムによるプログラム割込の可能及び不能を制御する非特
権命令を与えることにある。
(課題を解決するための手段) 上記及びその他の特徴は、本発明によれば、プログラム
の割込シーケンスを制御する2つのレジスタ、つまり非
同期トラップエネーブルレジスタ(ASTEN)と非同
期トラップサマリレジスタ(ASTSR)を備えたデー
タ処理装置を提供することによって達成される。AST
ENレジスタは、非同期プログラム割込が実行モードの
種別、例えば特権命令つまり核モードと非特権命令つま
りユーザモード、に関して可能となるかどうかを制御す
るビットを含む。ASTSRレジスタは、非同期割込が
関連の実行モードについて未処理かどうかを表すビット
を含む。ASTSRレジスタ内の未処理ビットは前記プ
ログラムによって入力され、割込の発生するモードに関
連した特定のレジスタビットが、割込の実行時にクリア
される。ASTEN及びASTSR両レジスタが、現プ
ロセッサモード及び現プロセッサ割込優先順位レベルと
共にモニターされ、割込が発生可能な時点を判定する。
ASTENレジスタのエネーブルモードを制御するた
め、非特権命令が与えられる。
本発明の前記及びその他の特徴は、図面に沿って以下の
説明を読み進むことによって理解されよう。
(実施例) 次に第1A及び1B図を参照すると、本発明を使用可能
な2つの例示データ処理システムの構成が示してある。
第1A図において、中央処理装置(#1)11はシステ
ムバス19に接続されている。他の中央処理装置(例え
ば#N)12も、システムに接続可能である。1つ又は
複数の中央処理装置11(〜12)が、中央処理装置内
の制御プログラムと協働して中央処理装置の構造に従っ
てデータを処理し、制御プログラムは主メモリ装置15
内に常駐する命令からなる。非常駐データ及び命令は一
般に1つ又は複数の大容量記憶装置内に記憶され、シス
テムバス19を介して主メモリ装置15へ及びそこから
伝送される。1つ又は複数の入/出力装置{#1}16
(〜{#M}17)が、大容量記憶装置、ユーザ端末記
憶装置及び通信装置等の各種装置を、システムバス19
によってデータ処理システムに接続する。大容量記憶装
置が、データ処理装置にとって必要なデータ及び命令を
記憶する。一般にデータ及び/又は命令のページとして
指定され、中央処理装置11〜12の動作に必要な複数
組のデータ及び/又は命令が、中央処理装置によって比
較的遅いアクセス能力を持つ大容量記憶装置から比較的
速くアクセスされる主メモリ装置へと転送される。かか
るバス指向のシステムは、システムを再構成するのが比
較的容易という利点を持つ反面、各システム構成要素が
システムバスとのインタフェースを与える制御装置を必
要とするという欠点を有する。次に第1B図を参照する
と、1つ又は複数の中央処理装置11(〜12)及び1
つ又は複雑の入/出力装置{#1}16(〜{#M}1
7)がメモリ制御装置14を介して主メモリ装置15に
接続されたデータ処理システムが示してあり、メモリ制
御装置14が第1A図に示したバス指向のデータ処理構
成におけるシステムバス19及び個々のデータ処理シス
テムの構成要素によって行われる制御機能を代わりに果
たす。メモリ制御装置14がデータ及び命令の転送の集
中制御とモニタリングを行い、これは第1図のバス指向
構成より効率的だが、フレキシビリティが失われてい
る。
次に第2図を参照すると、本発明を有効に利用可能な例
示中央処理装置のブロック図が示してある。発出(イッ
シュ)装置22が、スカラー演算アドレス発生装置2
4、少なくとも1つの実行装置(#1)25(〜実行装
置(#Q)26)及びベクトル演算装置28からなる複
数の専用実行装置に(デコードされた)命令を与える役
割を果たし、ベクトル演算装置28はベクトル演算処理
装置28A、ベクトル演算アドレス発生装置28B及び
ベクトル演算レジスタ28Cを含む。実行装置によって
処理されるデータは一般に、スカラーレジスタ23又は
ベクトルレジスタ28Cから抽出される。実行装置から
得られたデータは、スカラーレジスタ23、ベクトルレ
ジスタ28C又はデータキャッシュメモリ装置27内に
記憶される。データキャッシュメモリ装置27は、主メ
モリ装置15と中央処理装置11の間のインタフェース
を与えるキャッシュメモリ装置として見なすことができ
る。(データキャッシュメモリ装置27は、第2図で主
メモリ装置に直接接続されるものとして示してある。第
1A及び1B図に示したように、実際の接続では介在す
るデータ処理装置を含めることができる。)発出装置2
2は、どの実行装置が選定データを処理するかを決める
と共に、選ばれた実行装置がいつデータ処理のために使
用可能となるべきかを決める装置を含む。この後者の特
徴は、宛先記憶ロケーションが処理されたデータを記憶
するのに使えるかを確認することも含んでいる。命令キ
ャッシュメモリ装置21は、発出装置22によってデコ
ードされ該当の実行装置に送られる命令を記憶する。発
出装置22は、各実行装置の処理演算を最大限化しよう
とする装置を有している。つまり、発出装置22はプリ
フェッチ装置と、(任意の分岐命令を含め)該当の命令
が必要に応じ発出装置22で利用可能なことを保証する
アルゴリズムとを含んでいる。複数の実行装置は、スカ
ラー演算アドレス発生装置24とベクトル演算装置28
で示したように、ある一定クラスの処理演算を扱う専用
の処理装置である。例えば実行装置は、浮動小数点演算
や整数算術演算などを扱うように構成できる。発出装置
22は、プログラムを実行したり、データ処理演算のレ
コードを与えるのに必要なデータを記憶可能な付属のス
カラーレジスタ23を備えている。例えば、1つのレジ
スタは、プログラム命令シーケンスの実行において、処
理すべき次の命令の(仮想)アドレスを記憶するプログ
ラムカウンタレジスタである。スカラー演算アドレス発
生装置24が、仮想アドレスを主メモリ装置15内の物
理ロケーションへ変換するのに使われる。また発出装置
22は、各実行装置が異なる速度で命令を処理するとき
に、実行装置からのデータを正しいシーケンスで再順序
付けする役割も果たす。
第3図を参照すると、AST割込信号の発生を制御する
装置が例示してある。ASTENレジスタ221が各シ
ステム動作モード毎に、AST割込信号の発生がそれぞ
れのモードについて可能かどうかを指示するビット位置
に与える。プログラムの一部を、実行中のプログラムの
割込が適切でなくなるような性質にすることができる。
ASTENレジスタ221の有用性を拡張するため、命
令セットは非特権命令、つまり現在実行中のプログラム
をその現在実行中のプログラムのモードに対応したモー
ド位置で割込可能変更可能とするSWASTEM命令を
含んでいる。ASTSRレジスタ222も各システム動
作モード毎のビット位置を含んでいるが、何れかのビッ
ト位置に記憶された論理値‘1’のビットが、対応した
モードについてAST割込条件が未処理であることを指
示する。記憶装置223は、現在実行中のプログラムの
モードを指示する信号を含む。また割込優先順位レベル
(IPL)レジスタ224は、データ処理システムの現
割込優先順位レベルを含んでいる。好ましい実施例にお
いては、割込が先取り優先順位で処理される。割込発生
源が割込を開始せしめるために、割込発生源の優先順位
は現プロセッサ割込レベルより高くなければならない。
割込が開始されると、前のプログラムカウンタ及びプロ
グラム状態が核スタックメモリに記憶される。新たなプ
ログラムカウンタがオペレーティングシステム内のシス
テム制御ブロックから選ばれ、それは割込発生源に依存
している。そして、新たなIPLが割込発生源のIPL
にセットされる。つまり、発生源のIPLがより高い割
込は、それより低いIPLの中央処理装置に割り込める
が、それ以上のIPLのものには割り込めない。AST
割込はレベル#1から始まるので、IPL#0を持つプ
ログラムにしか割込をかけられない。これらのレジスタ
221、222、223及び224に記憶された信号
が、モニター装置225によってモニターされる。AS
TENレジスタ221、ASTSRレジスタ222及び
モードレジスタ223内の信号が同一モードを示し、且
つ現プロセッサIPL(割込優先順位レベル)が#0で
あると、モニター装置225が割込AST信号を発生
し、AST割込応答シーケンスが開始される。
第4図を参照すると、第3図のモニター装置225から
発生されたAST割込信号に対するデータ処理装置の応
答が例示してある。ステップ401で、モニター装置が
適切な入力信号に応じてAST割込信号を発生する。ス
テップ402で、ASTSRレジスタ内の関連ビットが
クリアされる。ステップ403で、オペレーティングシ
ステムが割込信号の発生に応答する。この応答は一般
に、割込信号に応じた手順の開始という形を取る。ステ
ップ404で、プログラム実行のためのプロセッサ状態
語とプログラムカウンタの内容が核スタックセーブされ
る。これらのセーブされたレジスタの内容が、AST割
込信号への応答後に、データ処理装置が割込の発生した
時点からプログラムの実行を再開するのを可能とする。
AST割込信号に応答するプログラムは、データ処理装
置に入力されている適切なパラメータ(つまり文脈)を
有し、割込を信号発生した状態に応じた命令シーケンス
が実行される。
次に第5図を参照すると、ハードウェア特権文脈ブロッ
クのフォーマットが示してある。ハードウェア特権文脈
ブロックとは、関連プログラムの実行が中断されたとき
に、(特権命令によって)セーブされた情報である。本
発明の観点から見れば、データ処理装置をリターンして
関連プログラムを実行可能とするため、関連プログラム
に依存したASTEN及びASTSR両レジスタの内容
がセーブされねばならない。ハードウェア特権文脈ブロ
ックは、核スタックポインタフィールド501と、ユー
ザスタックポインタフィールド502と、アドレススペ
ース番号とASTENフィールド503A及びASTS
Rフィールド503Bを含むフィールド503とを備え
ている。ページテーブルベースレジスタの内容は、フィ
ールド504内に記憶される。
第6A図を参照すると、未処理AST割込の送出をプロ
グラムで可能とする方法が例示されている。ステップ6
01で、割込状態が可能とされるべきかどうかをプログ
ラムが判定する。この変更が実施するために、SWAS
TEN(ASTENフィールドスワップ)命令がステッ
プ602で発せられる。SWASTEN命令によって、
現モードに関連した割込可能ビットがASTENフィー
ルド内にセットされる。この命令の結果、ASTSR、
ASTEN、IPL(割込優先順位レベル)及び現(動
作)モードの各フィールドがテストされ、割込手順を実
行すべき条件が存在するかどうかをステップ603で判
定する。AST割込条件が存在することをテストが指示
すると、ASTSRフィールド内の該当ビットがステッ
プ605でクリアされ、AST割込応答がステップ60
6で実行される。AST割込条件が存在しないことをテ
ストが指示すると、プログラムの実行が継続される。ま
たプログラムはその後、ASTENレジスタ内の割込可
能ビットをクリアすることによってAST割込を不能と
するSWASTEN命令を用い、AST割込の送出を不
能にすることもできる。
第6B図を参照すると、本発明によるAST割込事象の
発生が示してある。ステップ651で割込条件が識別さ
れると、ステップ652でMTPR(プロセッサレジス
タへの移動)命令が発せられ、ASTRR(AST要求
レジスタ)レジスタがその命令の宛先となる。またMT
PR ASTRR命令は、特定の動作モードに対応した
ビットをASTSRレジスタ内にもセットせしめる。M
TPR ASTRR命令に応答して、ASTEN、AS
TSR、IPL及び現モードの各フィールドがステップ
653でテストされる。ステップ653でデータ処理装
置に関するAST割込条件が存在する、ASTSRフィ
ールド内の対応するモード位置のビットがステップ65
6でクリアされ、それに応じた割込プログラムがステッ
プ657で開始される。AST割込条件が存在しない
と、現在実行されているプログラムの実行がステップ6
53で継続される。
次に第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フィールドがチェックさ
れ、2つの論理値‘1’のビットが識別されると、核モ
ードのAST割込応答が開始される。2つの核モード信
号が存在しないと、現在実行されているプログラムの実
行が継続される。
次に第8図を参照すると、2つの一般的なシステム動作
モードとEPICODEモードとの間の関係が示してある。ユ
ーザモード8Aは一般に、ユーザにとって即座に興味の
ある処理機能を行うアプリケーション型プログラムを実
行する。ユーザには、所望の処理能力を得るために比較
的完全な制御が与えられる。命令は一般に、命令の順序
及び選択された特徴がユーザの制御下にあるという意味
で非特権的である。核モード8Bは、オペレーティング
システムが命令を実行するモードである。核モードは、
ユーザモードで利用可能な全ての命令、及び特権的であ
るためユーザによる操作において利用可能でない核モー
ド8Bに関連した追加の命令を実行する。特権命令は、
他のユーザ又はプログラムの安全を脅かす可能性がある
ので、ユーザモードでは許可されない。データ処理シス
テムのEPICODEモードでの動作は、割込なしで実行すべ
き及び/又はデータ処理システムが所定の状態になけれ
ば実行すべきでない命令シーケンスのために確保されて
いる。ユーザモード8A又は核モード8Bで実行可能な
一部の命令が、EPICODEモード8Cへの移行を必要とす
る。このEPICODEモードは、命令シーケンスの割込不能
な(原子的)実行ほ保証するためのストラテジーを実施
する一定の専用ハードウェアと一定の特権を備えてい
る。
好ましい実施例では、第2図のパイプライン式実行装置
を有する中央処理装置を幾つかの制約下で実施したが、
他の設計方式でも本発明を使用できる。中央処理装置は
複数の実行装置を含み、各実行装置が1つのクラスの命
令を実行する。一例として、1つの実行装置であるスカ
ラーアドレス発生装置24は、中央処理装置と主メモリ
装置の間での論理信号群データの転送を制御する、すな
わちスカラーロード/ストア命令を実行する。更に、1
つの実行装置はデータのシフト演算を実行し、1つの実
行装置は浮動小数点加/減演算を実行し、1つの実行装
置は整数及び浮動小数点乗算を実行し、1つの実行装置
は整数及び浮動小数点除算を実行する。専用の実行装置
はパイプライン式構成とし得るが、必ずしもその構成で
実施されなくともよい。中央処理装置の別の特徴は次の
通りである。現在実行される命令シーケンス中の命令
は、命令キャッシュメモリ装置21から発出装置22に
転送される。発出装置22内では、命令がその構成部分
に分解され、データに依存した制御信号及びアドレス信
号がそこから発生される。しかし、命令が実行開始可能
となる(すなわち発せられる)前に、幾つかの制約が満
たされねばならない。先ず、命令用の出所及び宛先レジ
スタが全て利用可能でなければならない、すなわち必要
なレジスタへの書込動作が未決着のままであってはなら
ない。その命令が処理された量を記憶する別のサイクル
で、レジスタ書込経路が利用可能でなければならない。
また、実行中命令を処理するのに必要となる実行装置
が、オペレーションを行うのに利用可能でなければなら
ない。ベクトル演算装置については、ベクトル演算の継
続中、ベクトル演算が実行装置を確保する。メモリロー
ド/ストア命令がキャッシュメモリ装置のミスに出会う
と、キャッシュメモリミスの応答が完了するまで、ロー
ド/ストア装置使用中フラグによって次のロード/スト
ア命令が遅延される。命令が発せられると、その結果の
ための宛先レジスタと書込経路サイクルが確保される。
オペランドの設定中に、命令と独立の全てのレジスタア
ドレスが発生され、オペランドが読み取られて記憶さ
れ、データ依存の制御信号が発生される。命令オペラン
ドと制御信号が関連の実行装置に送られ、実行される。
実行装置によって発生された結果は、レジスタファイル
またはデータキャッシュメモリ装置27内に適宜記憶さ
れる。命令が一旦発せられると、処理の結果は数マシン
サイクルの間利用できない。一方次のサイクルでは、必
要な発出条件が満たされていれば、次の命令をデコード
して発することができる。つまり、命令は通常の命令シ
ーケンスでデコードされ発せられるが、実行装置の命令
実行時間がさまざまであるため、それらの結果は異なる
順序で記憶可能である。この一定順序でない記憶は、障
害命令の例外扱いと再試行を複雑にする。しかし、これ
らの事象は比較的希で、一定順序でない記憶は実行及び
ハードウェア上の利点を与える。
好ましい実施例のAST(非同期システムトラップ)事
象は、プログラム毎のベースに基づいている。つまり、
これらの事象はソフトウェアプログラムによって開始さ
れる。各プログラム(またはプロセス)は、プログラム
の実行中にASTEN及びASTSRフィールドに入力
される一組の値を有する。これらのフィールドの内容
が、プログラムの文脈環境内で特権制御プログラムり手
順、あるいはプログラムの文脈環境内で非特権制御プロ
グラムの手順を実行するために、現在実行中のプログラ
ムが割り込まれる時点を決める。ASTENフィールド
の状態はプログラムによって制御され、現モードでプロ
グラムを実行するためのエネーブル状態はSWASTE
N命令によって変更可能である。ASTSRフィールド
の状態は、制御プログラムによって制御される。現在実
行されているプログラムへの割込を必要とする事象が生
じると、制御プログラムが、対応した割込手順の実行さ
れるモードをASTRRレジスタに書き込む。ASTR
Rレジスタへの書込により、ASTRRレジスタと関連
したモードに対応するASTSRフィールド内にビット
が入力される。ASTEN及びASTSRフィールド
は、プログラムの文脈環境の一部である。従ってこれら
のフィールドは、プログラム間での文脈切り換え時にセ
ーブ及び復元される。
データ処理装置は、ASTEN及びASTSR両レジス
タの状態、プロセッサの現動作モード、及び現プロセッ
サ割込優先順位レベルを常にモニターしている。現プロ
セッサ割込優先順位レベルが零で、且つASTENレジ
スタ及びASTSRレジスタ内における現又はもっと特
権の与えられたプロセッサモードに対応したビットがセ
ットされていると、AST割込応答が開始される。それ
らの条件は、一定の命令に応じてテストされる。ハード
ウェアは、プログラムカウンタとプロセッサ状態語の内
容をセーブすることによってその割込に応答し、次いで
現在実行中のプログラムを中断する。レジスタの内容を
セーブすることで、データ処理装置は、AST割込手順
の完了後、中断されたプログラムの実行を続行可能とな
る。
命令がそこから実行されるエネーブルモードの状態がA
STENレジスタ内で変更できるように、非特権のつま
りユーザモードの命令(SWASTEN)が与えられて
いる。これによって、プロセスのオーナーはその割込可
能性を決めることができる。
本発明は、プログラム毎のベースで割込プロセスを制御
する機構を与える。本機構はソフトウェアの割込手順に
拘束されず、検出される割込条件が存在しなければ決し
て割込を発生しない。また割込の実行は、制御プログラ
ムが関連の事象条件をポーリングしたり、あるいは割込
が許可されない時点実行プログラムが制御プログラムに
知らせる必要なく、発生可能である。
好ましい実施例においては、SWASTEN及びMTP
R命令がEPICODEモードで実行される。この処理
環境内では、マルチステップ命令が一単位として実行で
き(一般に割込は不能とされる)、ページング動作を省
くためメモリの専用部分に記憶させることもできる。こ
のようにして、各種フィールドのテストが効率的に実施
可能となる。処理環境の変化に応じて、すなわち現動作
モードに関する割込可能条件の変更、あるいは割込事象
の識別に応じて、割込応答が発生されることは明らかで
あろう。上記の実施例で、ASTEN及びASTSR両
レジスタは物理的レジスタとして説明された。しかし、
これらのレジスタをデータブロック内のフィールドとし
て実施できることも明らかであろう。
以上の説明は好ましい実施例の動作を例示するためにこ
こに含めたものであり、発明の範囲を制限することを意
味しない。発明の範囲は、特許請求の範囲の記載によっ
てのみ限定される。以上の説明から、発明の精神及び範
囲に含まれる多くの変形が可能なことは当業者にとって
明らかであろう。
【図面の簡単な説明】
第1A図および第1B図は本発明を使用可能なデータ処
理システム装置のプロック図、第2図は本発明を使用可
能なデータ処理装置の中央処理装置の一例のブロック
図、第3図は本発明を実施する装置のブロック図、第4
図は本発明によって発生される割込信号に対するデータ
処理装置の応答を示すフロー図、第5図は本発明の好ま
しい実施例によるハードウェア特権文脈ブロックのフォ
ーマットを示す図、第6A図はプログラムの作業に応じ
て如何に割込みが発生されるかを示すフロー図、第6B
図は本発明に基づき割込条件を識別する作業に応じて如
何に割込が発生されるかを示すフロー図、第7図はAS
TEN及びASTSRE両レジスタを調べる命令とテス
トの手順を示す図、及び第8図はデータ処理システムの
システム動作モード間の関係を示す概略図である。 8A……ユーザモード、8B……核モード、8C……第
3動作モード(EPICODEモード)、22……割込条件応
答装置(発出装置)、221……第1(ASTEN)レ
ジスタ手段、222……第2(ASTSR)レジスタ手
段、223……第3(動作モード)レジスタ手段、22
4……第4(割込優先順位レベル)レジスタ手段、22
5……モニター装置。
フロントページの続き (72)発明者 ディヴィッド エイ オービッツ アメリカ合衆国 ワシントン州 98052 レッドモンド ノース イースト ワンハ ンドレッドアンドサーティナインス スト リート 17028 (72)発明者 ディリープ バンダーカー アメリカ合衆国 マサチューセッツ州 01545 シュルーズバリー ランターン レーン 3 (72)発明者 ウェイン カードーザ アメリカ合衆国 ニューハンプシャー州 03054 メリマック ハッチンソン ロー ド 3 (72)発明者 リチャード ティー ウィーテック アメリカ合衆国 マサチューセッツ州 01460 リトルトン シルヴァー バーチ レーン 3 (56)参考文献 特開 昭62−69323(JP,A) 江村,「オペレーティング・システムへ の構造的アプローチ(上巻)」,昭和56年 5月25日,日本コンピュータ協会,P.64 〜77

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】現在実行中のプログラムの特権及び非特権
    命令を実行する核動作モードと、前記現在実行中のプロ
    グラムの非特権命令を実行するユーザ動作モードとを有
    するデータ処理システムにおける割込条件に応答する装
    置において、 前記ユーザ動作モードに対応する第1記憶要素と、前記
    核動作モードに対応する第2記憶要素とを有する第1レ
    ジスタ手段、 前記現在実行中のプログラムにおける非特権命令の実行
    に応答して、前記動作モードの一方に対応するエネーブ
    ル信号を発生して、前記動作モードが前記割込条件の一
    つに応答して割込まれることが可能であることを示し、
    且つ前記エネーブル信号が対応するモードに関係する前
    記第1レジスタ手段の記憶素子内に前記エネーブル信号
    を記憶するための手段、 前記ユーザ動作モードに対応する第1記憶要素と、前記
    核動作モードに対応する第2記憶要素とを有する第2レ
    ジスタ手段、 制御プログラムの実行に応答して、前記動作モードの一
    つに対応し且つ前記割込条件の一つが前記動作モードで
    発生したことを示す割込条件存在信号を発生し、前記割
    込み条件存在信号が対応するモードに関係する前記第2
    レジスタ手段の記憶要素内に前記割込条件存在信号を記
    憶するための手段、 前記現在実行中のプログラムに応答して、前記現在実行
    中のプログラムの動作モードを指定する信号を発生する
    手段、 前記動作モードを指定する前記信号を記憶する第3レジ
    スタ手段、及び 前記第1、第2及び第3レジスタ手段が、同じ動作モー
    ドに対応して記憶された信号をそれぞれ有している時割
    込信号を発生するし、前記第1、第2及び第3レジスタ
    手段に接続されたモニター手段、 を備えた割込条件に応答する装置。
  2. 【請求項2】前記エネーブル信号を発生し且つ記憶する
    前記手段が、前記現在実行中のプログラムを含む請求項
    1記載の装置。
  3. 【請求項3】割込優先順位レベルの指示を記憶する第4
    レジスタ手段を更に備え、前記指示が前記データ処理シ
    ステムによって前記第4レジスタ手段内に記憶されてお
    り、前記モニター手段が前記第4レジスタ手段内に記憶
    されている前記指示に更に応答し、前記指示が所定の値
    を有し且つ前記第1、第2及び第3レジスタ手段が同じ
    動作モードに対応して記憶された信号をそれぞれ有する
    時のみに、前記割込信号が発生される請求項1記載の装
    置。
  4. 【請求項4】前記割込条件の前記一つが、前記現在実行
    中のプログラムの前記動作モードと少なくとも同様に特
    権化された動作モードに関係する場合のみ、前記割込信
    号が、前記割込条件の前記一つに対する応答を生じる請
    求項1記載の装置。
  5. 【請求項5】前記割込信号が、前記割込条件存在信号が
    対応するモードに関係する前記第2レジスタ手段の記憶
    要素から前記割込条件存在信号の除去を、前記データ処
    理システムに行わせる請求項4記載の装置。
  6. 【請求項6】前記現在実行中のプログラムが非特権命令
    を実行して前記エネーブル信号を発生し且つ記憶する請
    求項2記載の装置。
  7. 【請求項7】前記第1レジスタ手段に記憶された前記エ
    ネーブル信号及び前記第2レジスタ手段に記憶された割
    込条件存在信号が、記憶されたプログラム文脈の一部で
    ある請求項1記載の装置。
  8. 【請求項8】前記現在実行中のプログラムが、前記第1
    及び前記第2のレジスタ手段内の前記信号の状態に変化
    を引き起こす命令を実行し、前記モニター手段が、前記
    第1、第2及び第3レジスタ手段が同じ動作モードに対
    応して記憶された信号をそれぞれ有しているか否かを決
    めることにより、前記変化に応答する請求項1記載の割
    込信号応答装置。
  9. 【請求項9】前記データ処理システムが前記核動作モー
    ドに有る時に前記第1レジスタ手段の前記第2記憶要素
    が前記核動作モードに対応するエネーブル信号を含み且
    つ前記第2レジスタ手段の前記第2記憶要素が前記核動
    作モードに対応する割込条件存在信号を含む時、前記現
    在実行中のプログラムが、選択された命令を実行して、
    前記モニター手段に前記割込信号を発生させる請求項1
    記載の装置。
  10. 【請求項10】前記データ処理システムが前記ユーザ動
    作モードにあり、且つ前記エネーブル信号及び前記割込
    条件存在信号が前記第1及び第2レジスタ手段の前記第
    1記憶要素内にそれぞれ記憶されている時、前記データ
    処理システムからの前記命令が、前記モニター手段に前
    記割込信号を発生させ、前記核動作モード中に前記エネ
    ーブル信号及び前記割込条件存在信号が前記第1及び前
    記第2レジスタの前記第2記憶素子内にそれぞれ記憶さ
    れている時、前記データ処理システムからの前記命令
    が、前記モニター手段に前記割込信号を発生させる請求
    項9記載の装置。
  11. 【請求項11】前記第1、第2、及び第3レジスタ手段
    が、同じ動作モードに対応して記憶された信号をそれぞ
    れ有しているか否かを前記モニター手段が決めること
    を、前記実行中のプログラムの命令が可能にする請求項
    1記載の装置。
  12. 【請求項12】前記データ処理システムからの命令が前
    記モニター手段を利用可能とし、前記データ処理システ
    ムからの前記命令が、前記割込優先順位レベルの前記指
    示を変更する命令、前記エネーブル信号を前記第1レジ
    スタ手段に記憶させ及びそこから除去させる命令、前記
    割込条件存在信号を前記第2レジスタ手段に記憶させ且
    つ前記第2レジスタ手段から除去させる命令、及び例外
    又は割込サブルーチンの実行の後、データ処理システム
    動作に戻るための命令を含む請求項3記載の装置。
  13. 【請求項13】前記モニター手段が前記割込信号を発生
    した後、前記データ処理システムが、前記第2レジスタ
    手段の何れかの記憶要素内に記憶される前記割込条件存
    在信号を除去する請求項12記載の装置。
  14. 【請求項14】前記データ処理システムが第3動作モー
    ドを含み、前記命令が前記第3動作モードで実行される
    請求項13記載の装置。
  15. 【請求項15】ユーザプログラムの実行が、前記データ
    処理システムに、前記第1レジスタ手段の前記第1記憶
    要素への前記エネーブル信号の記憶及び前記第1レジス
    タ手段の前記第1記憶要素からの前記エネーブル信号の
    除去を行わせる請求項1記載の装置。
  16. 【請求項16】前記割込優先順位レベルの前記指示の前
    記所定の値は前記割込優先順位レベルの最低値に対応す
    る請求項3記載の装置。
  17. 【請求項17】複数の動作モードを有するデータ処理シ
    ステムで発生する非同期割込条件に応答する方法が、 現在実行中のプログラムで非特権命令を実行するのに応
    答して、前記動作モードの一つに対応するエネーブル信
    号を第1レジスタ手段に記憶して、前記データ処理シス
    テムが前記対応するモードで非同期割込条件に対応する
    ことができることを示し、 前記非同期割込条件の一つの発生を制御プログラムによ
    り検出し、 前記動作モードの一つに対応する割込条件存在信号を第
    2レジスタ手段に記憶して、前記対応するモードにおけ
    る前記非同期割込条件の前記一つの前記発生を示すこと
    により、前記制御プログラムを前記非同期割込条件の前
    記一つの前記発生の検出に応答させ、 前記エネーブル信号及び前記割込条件存在信号をモニタ
    ーし、前記現在実行中のプログラムを実行している間に
    データ処理システムが作動しているモードと同じモード
    に前記エネーブル信号及び前記割込条件存在信号が対応
    するか否かを決め、そして、 前記現在実行中のプログラムを実行している間に前記デ
    ータ処理システムが作動しているモードと同じモードに
    前記エネーブル信号及び前記割込条件存在信号が対応す
    る時、割込信号を発生することからなる、複数の動作モ
    ードを有するデータ処理システムで発生する非同期割込
    条件に応答する方法。
  18. 【請求項18】前記エネーブル信号を前記第1レジスタ
    手段に記憶する前記ステップが、前記エネーブル信号の
    一つが関連する前記モードで実行する命令に応答して、
    前記エネーブル信号の一つを記憶するステップを含む請
    求項17の非同期割込状態に応答する方法。
  19. 【請求項19】前記割込信号を発生する前記ステップ
    が、複数の命令の一つを実行するステップを含む請求項
    17の非同期割込状態に応答する方法。
  20. 【請求項20】前記データ処理システムが非特権命令を
    実行するためのユーザ動作モード及び特権及び非特権命
    令を実行するための核動作モードを含み、前記データ処
    理システムが前記動作モードで動作している際、前記割
    込信号を発生するステップが、前記エネーブル信号及び
    前記割込条件存在信号が前記ユーザ動作モードに対して
    存在するか或いは前記エネーブル信号及び前記割込条件
    存在信号が前記核動作モードに対して存在する時に、前
    記割込信号を発生するステップを含み、前記データ処理
    システムが前記核動作モードで動作している際、前記割
    込信号を発生するステップが、前記エネーブル信号及び
    前記割込条件存在信号が前記核動作モードに対して存在
    する時に、前記割込信号を発生するステップを含む請求
    項17の非同期割込条件に応答する方法。
  21. 【請求項21】第1及び第2動作モードを有するデータ
    処理システムで発生する割込条件に応答する装置におい
    て、 現在実行中のプログラムで命令を実行するのに応答し
    て、前記動作モードの一つに対応するエネーブル信号を
    発生し、前記対応する動作モードに対する割込信号の発
    生を可能にする手段、 前記エネーブル信号を記憶するための第1レジスタ手
    段、 制御プログラムの実行に応答して、前記動作モードの一
    つに対応する割込条件信号を発生し、前記対応する動作
    モードに対する割込状態の存在を示す手段、 前記割込条件信号を記憶するめたの第2レジスタ手段、 前記第1動作モード又は前記第2動作モードのいずれが
    前記データ処理システムの現在の動作モードであるかを
    識別する手段、及び 前記第1レジスタ手段及び前記第2レジスタ手段に接続
    されおり、前記第1レジスタ手段に記憶される前記エネ
    ーブル信号の一つ及び前記第2レジスタ手段に記憶され
    る前記割込条件信号の一つが前記データ処理システムの
    前記現在の動作モードと同じ動作モードに対応する時、
    割込信号を発生することにより、前記動作モードの識別
    及び前記割込条件の一つの発生に応答する割込手段、を
    備えた割込条件に応答する装置。
  22. 【請求項22】前記現在の動作モード、前記エネーブル
    信号及び前記割込条件の全てが前記同じ動作モードに関
    係している時を決めるサブルーチンを有する選択された
    命令を前記データ処理システムが含む請求項21記載の
    装置。
JP63164820A 1987-07-01 1988-07-01 データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 Expired - Fee Related JPH0668725B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6943687A 1987-07-01 1987-07-01
US69436 1987-07-01

Publications (2)

Publication Number Publication Date
JPS6488639A JPS6488639A (en) 1989-04-03
JPH0668725B2 true JPH0668725B2 (ja) 1994-08-31

Family

ID=22088968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63164820A Expired - Fee Related JPH0668725B2 (ja) 1987-07-01 1988-07-01 データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法

Country Status (9)

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

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 日本電気株式会社 事象処理方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江村,「オペレーティング・システムへの構造的アプローチ(上巻)」,昭和56年5月25日,日本コンピュータ協会,P.64〜77

Also Published As

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

Similar Documents

Publication Publication Date Title
US5148544A (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US5386563A (en) Register substitution during exception processing
EP0333366B1 (en) Context switching method and apparatus for use in a vector processing system
EP0297893B1 (en) Apparatus and method for recovering from page faults in vector data processing operations
US5043867A (en) Exception reporting mechanism for a vector processor
US4715013A (en) Coprocessor instruction format
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
JPH0517588B2 (ja)
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5021991A (en) Coprocessor instruction format
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
EP0301707B1 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
US4994961A (en) Coprocessor instruction format
CA1304823C (en) Apparatus and method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0250259A (ja) ベクタープロセッサによって非同期メモリ管理例外を取り扱う方法及び装置
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS638841A (ja) 割込み受取り装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees