JPH0612527B2 - 割込み処理装置 - Google Patents

割込み処理装置

Info

Publication number
JPH0612527B2
JPH0612527B2 JP2029760A JP2976090A JPH0612527B2 JP H0612527 B2 JPH0612527 B2 JP H0612527B2 JP 2029760 A JP2029760 A JP 2029760A JP 2976090 A JP2976090 A JP 2976090A JP H0612527 B2 JPH0612527 B2 JP H0612527B2
Authority
JP
Japan
Prior art keywords
context
interrupt
priority
register
circuit
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 - Lifetime
Application number
JP2029760A
Other languages
English (en)
Other versions
JPH02267634A (ja
Inventor
タイ‐リン・チヤング
ポール・ウエイン・ハンター
ドナルド・ジヨン・ラング
ステイブン・グーズ・ラングイング
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02267634A publication Critical patent/JPH02267634A/ja
Publication of JPH0612527B2 publication Critical patent/JPH0612527B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、プログラム式計算機、特に割込み機構を有す
るプログラム式計算機に関する。そのようなプログラム
式計算機はデータ処理機械に関する周辺制御装置であり
うる。
B.従来技術 全ての型のプログラム式計算機は、内部、外部の両者、
及びプログラムにより割込みを処理する機構を含んでい
る。それらの機構のうち、あるものは、ラウンド・ロビ
ン割込み優先順位等の固定式と割込みの優先順位を有し
ている。他の割込み機構は、可変な割込みの優先順位を
備えている。
周辺機器の制御装置は、典型点には、固定した割込み優
先順位を用いている。それは、プラグボード(ピンボー
ドとも呼ばれる)の形で制御装置中にプラグされるか、
又は電気回路の形に配線される。そのような制御装置に
おいて、周辺装置の接続の位置は優先順位を示し、内部
回路の接続はその各々の優先順位を示す。
米国特許第4103330号明細書は、優先順位割込み
エンコーダを有するデータ処理装置を示している。割込
みエンコーダは、I/O制御装置から割込み又は起動要
求を受取る。このエンコーダは、割込み要求を4ビット
のデータにエンコードし、これはさらに、現タスク・レ
ジスタに与えられる。このデータは、現在の最高の優先
順位の未解決の要求を示す。そのような優先順位は、エ
ンコーダの電気回路によって固定されている。より柔軟
で且つ効率的な割込みの評価及び処理を提供する事が望
ましい。
米国特許第3599162号明細書は、複数の割込みテ
ーブルを有する割込み処理装置を示している。各テーブ
ルは、全て同一の優先順位を有している複数の受取った
割込み要求を記憶する事ができ、各テーブルは異なった
優先順位の割込みを記憶している。明らかに、任意の与
えられたテーブルにおいて、割込み要求はFIFO方式
で処理される。従って、テーブル内のFIFO選択は、
同一の優先順位を有する割込み要求の間の同格性を破る
機能(tie breaking function)である。
米国特許第4338662号明細書は、マイクロ命令の
割込み制御を示している。ここで、割込みを受けるマイ
クロ命令は、それらの優先順位に従ってスタック中に記
憶されている。割込まれたマイクロ命令の実行は、割込
みを行なったマイクロ命令が終了すると再開される。こ
の方式も、固定した優先順位を使用いているようであ
る。
米国特許第4636944号明細書は、多レベル優先順
位マイクロ割込み制御装置を示している。割込みレベル
の各々に関して1つの割込み信号だけが1時に活動状態
になれる。より高い優先順位の割込みが起きると、制御
装置は、割込みが終了した時に、割込まれた命令が再開
できるように、現在割込まれた命令をスタックする。
米国特許第4358829号明細書は、動的ランク順序
付けスジュールリング機構を示している。この機構は、
要素のランクによって決定された位置のリスト中に要素
を挿入する事を可能にし、且つリストのトップからのみ
要素の削除を可能にする。この構成は、リスト中の要素
の優先順位の動的なエージングを提供する。
C.発明が解決しようとする課題 上述の文献のいずれも、実行中のコンテキストに基ずい
た柔軟性に富み且つ効率のよい割込み手続き又は装置を
提案していない。これは、実行中であろうとなかろう
と、任意の活動状態のコンテキストを休止させ、且つ同
じ割込み優先順位を有するコンテキストに関する任意の
割込みの間で同格性を破る事を可能にする。
本発明の目的は、プログラム命令の実行が、現在実行中
のコンテキストの優先順位も又現在実行中でないどの活
動状態のコンテキストの優先順位も知る必要がない割込
み制御を提供する事である。
本発明の他の目的は、コンテキストの同一性ではなくコ
ンテキストの状態によって割込みの優先順位を変えるこ
とを可能にする事である。
本発明の他の目的は、指示された最高の優先順位の割込
みコンテキストに従って、割込み制御装置が、プログラ
ム式プロセッサを管理する事を、可能にする事である。
D.課題を解決するための手段 本発明によれば、割込み信号は、プログラム式プロセッ
サが割込まれるか否かを決定するために解析される。計
算機は、プログラム式プロセッサに関して複数の動作コ
ンテキストを確立し、そのコンテキストの各々に関して
割込みの主優先順位及び2次優先順位を確立する。
1以上の割込み信号を記憶する手段が設けられる。それ
らの割込み信号は、各々、記憶された割込み信号に対応
するコンテキストに命令実行を変更するためのプロセッ
サ動作の割込みに関する要求を示す。また計算機は、プ
ログラム式プロセッサが現在命令を実行しても又してい
なくてもよい全ての活動状態のコンテキストを示す情
報、及びプログラム式プロセッサが命令を実行している
現行のコンテキストを示す情報を維持している。プログ
ラム式プロセッサの動作の所定のサイクルの間、主優先
順位及び2次優先順位を確かめる事を含めて、活動状態
のコンテキストの全てと記憶された割込み信号とが互に
比較され、最高と優先順位の活動状態コンテキスト又は
割込み信号が示される。上記示された最高の優先順位の
活動状態のコンテキスト又は割込み信号を主優先順位と
2次優先順位の両者において現行のコンテキストと比較
し、上記示された最高の優先順位の活動状態のコンテキ
スト又は割込み信号が現行のコンテキストの優先順位よ
りも高い時にプログラム式処理装置に割込みを行なう。
E.実施例 周辺制御装置等のプログラム式計算機において、プログ
ラムされた動作はいくつかの動作コンテキストの1つに
おいて実行される。各コンテキストは対応する割込み信
号により開始される。活動化されたコンテキストは、プ
ログラム実行により休止されるまで活動状態に留まる。
活動状態のコンテキストの1つは全ての命令実行が現在
起きている現行コンテキストである。プログラム式計算
機の各サイクルにおいて、全ての活動状態のコンテキス
ト及び受取られ記憶されている割込み信号が、互に、比
較され、最高の優先順位のコンテキストが見出される。
そのような最高の優先順位のコンテキストは現行のコン
テキストの優先順位と比較され、プログラム式計算機が
現行コンテキストを変更すべきが否かが判定される。
添付図面において、種々の図の中で同じ数字は同様の部
品及び構造的特徴を示している。第1図は、単一の半導
体チップ10の形に集積化された、周辺制御装置(図示
せず)の一部であるプログラムされたプロセッサ・シス
テムを示す。このシステムは、任意の通常の設計のマイ
クロプロセッサ回路より成るチップ・プロセッサを含ん
でいる。命令記憶装置12はチップ外にあり、実行すべ
き命令を取り出すためにプロセッサ11アクセス可能で
ある。チップ10中と1組の記憶レジスタ13(これは
RAMでもよい)がチップ内バス14を経由してチップ
・プロセッサ11に接続される。バス14は、通常の複
数の電気導体であって、一部の導体はデータ信号を伝
え、他の導体はタグ又は制御信号を伝える。そのような
構成は、2つのバス、データ・バス及び制御バスと考え
る事もできる。レジスタ13はプロセッサ11に関する
ローカル記憶として働く。レジスタ13にはプログラム
保存領域15が含まれている。これはプログラムステー
タスワード(PSW)のスワップに関して後述する。複数
のバス・アダプタ16が、チップ内バス14を、同じ回
路ボード(図示せず))上の複数の他の機能チップに
のようなチップ(図示せず)は、各バス・アダプタ16を
他の機能チップに動作可能に接続し、それらはホスト・
プロセッサのチャネル、周辺装置等に接続される)、又
は他の回路ボード(図示せず)に、又は他の装置(図示せ
ず)に動作可能に接続する。割込み回路18は、チップ
・プロセッサ11と通信しその動作に割込みを行なうた
めにチップ内バス14に接続される。割込み回路18は
多様なプログラム実行割込み信号を受取る。最高の優先
順位の割込み(これは図示の実施例では固定されてい
る。)は、パワー・リセットが生じた事を示す外部源(図
示せず)から外部チップ接続20を経由して受取られる
パワー・オン・リセット(POR)である。固定した最高
優先順位の他の外部割込みは、外部チップ接続21を経
由して受取られるトラップ信号である。これらの2つの
型の割込みに対するチップ・プロセッサ11の応答は公
知である。1組の外部割込み入力チップ接続22、他の
チップ、例えば上述のようなチップであってデータ・バ
ス17の1つ以上に接続され上記バスを介してチップ1
0上のプロセッサ・システムが通信を行なうようなチッ
プに接続している。1組のチップ内部割込みで入力23
も回路18に入っている。本発明は、上記の割込み信号
の全ての取扱い及びチップ・プロセッサ11が命令のス
トリームを実行するコンテキストの管理に関する。
第2図は、割込み回路18を単純化して示したものであ
る。ハードウェア割込レジスタ30は、第1のランクで
(図示せず)割込み要求信号を非同期的に受取る2重ラン
ク・レジスタである。レジスタ30は、その信号内容を
1割込み評価サイクル、即ち計算機動作の約1サイクル
の間保持するフェーズ・ホールド・レジスタである。レ
ジスタ30に入力される割込み信号は、割込みが認めら
れるまで活動状態に留まっても又割込みが認められるま
で各マシン・サイクル毎に再発行されてもよい。チップ
・プロセッサ11のサイクルがサイクルの開始点から所
定の経過時間に達すると、その度にレジスタ30の第1
ランクの要求信号(図示せず)がその第2ランク(図示せ
ず)に転送される。後で述べる回路は、第2ランクのレ
ジスタ30を効率的に走査し、受取った割込み要求を読
取る。レジスタ30には、各コンテキストに対応する1
つのビット位置が存在している。
チップ・プロセッサ11は、複数の可能なコンテキスト
のうち1つだけのコンテキストで実行する。コンテキス
トの各々は、割込み回路18の管理と制御の下で、準備
されチップ・プロセッサ11に入れられる。後述するよ
うに、プログラム又はソフトウェア手段により割込みの
優先順位がセットされる。コンテキスト実行中のそのよ
うな設定はコンテキストの現在の状態を反映している。
即ち、設計者は、設計に従って割込み優先順位を変更す
る本発明以外にプログラミング又はソフトウェアによる
制御を組込む事もできる。第2図は、この柔軟性を可能
にする装置及びシステムを示している。また、チップ・
プロセッサ11の実行プログラムは、どのコンテキスト
をそれが実行しているか又はどれぐらいの数の又はどの
コンテキストが活動状態か(依然作業は活動状態のコン
テキスト中で実行される)を知る必要はない。この制御
及び管理の全ては、チップ・プロセッサ11のソフトウ
ェアの相互作用を最小限に保ちながら、割込み回路18
によって実行される。活動状態コンテキスト・レジスタ
31は、現在活動状態にあるコンテキスト全ての識別情
報を記憶する。そのような識別情報は、各コンテキスト
に対応するレジスタ中のビット位置であり、コンテキス
ト毎に1つのビットがある。セット・ビットは対応する
コンテキストが活動状態にある事を示し、一方リセット
・ビットは対応するコンテキストが活動状態にない即ち
休止状態をである事を示している。この記憶装置は、現
在実行中の活動状態のコンテキストを含み、そのような
実行中のコンテキストは、現行コンテキスト・レジスタ
32中の対応ビットがセットされる事により識別され
る。チップ・プロセッサ11はバス14を介して、活動
状態コンテキスト・レジスタ31の内容をセットし感知
する。一方、後述する回路が現行コンテキスト・レジス
タ32をセットする。このレジスタはチップ・プロセッ
サ11により感知され、書込まれる。後述の有効割込み
取扱い及び休止状態コンテキスト取扱いは、チップ・プ
ロセッサ11が活動状態コンテキスト・レジスタ31の
コンテキストを更新するようにチップ・プロセッサ11
を含んでいる。この活動は、与えられたコンテキスト内
のプログラム実行が、どのコンテキストが活動状態かに
関する何らかの情報を必要とする意味しない。
チップ・プロセッサ11の動作の各サイクル中の所定の
時点でチップ・プロセッサ11からサイクル・クロック
信号が信号線35を伝搬して、レジスタ30を第2ラン
クにし、活動状態コンテキスト・レジスタ31が1組の
論理OR回路36を経由してそれらの各内容のコピーを
転送するようにさせる。そのような論理OR回路の各々
は、2つのレジスタの同じ位置のビット、即ち同じコン
テキストに論理的に関係するビット信号をマージし、マ
ージしたビット信号を、最高発見回路37(以下FH回
路37と呼ぶ)に渡す。FH回路37は、マージされた
ビット信号を、後の処理のために適当なレジスタ(図示
せず)に保存する。そのような処理は、マージされたビ
ットの信号(活動状態のコンテキスト又は割込み要求)の
どれが最高を割込み優先順位を有しているかを識別す
る。最高優先順位の活動状態コンテキスト又は受信した
要求の識別に続いて、HF回路は、現行コンテキスト・
レジスタ32の優先順位の識別の間の優先順位比較に関
する最高の優先順位をどのビット(どのコンテキスト)が
有しているかを回路38に符号化させる。最初に、符号
化回路38によりビットは、識別された最高の優先順位
に関するPSWを記憶する保管領域15アドレスを識別
するアドレス値に符号化される。比較回路39はレジス
タ32からバス40を経由して現行コンテキストを示す
ビットを受取る。比較回路32は、ビットを、現行コン
テキストに関する保管領域15アドレスに符号化する。
コンテキストPSWに関する保管領域15アドレスは、
事前に定められた順序で配列されている。符号化回路3
8からのアドレスが現行コンテキスト・レジスタ32か
ら受取ったアドレスと違っており、最高位の見出された
割込みが現行コンテキストの優先順位よりも高い優先順
位を有している事を、比較回路39が見出す時、有効な
割込み信号が生成される。有効な割込み信号は信号線4
1を経由してチップ・プロセッサ11に供給される。事
実上同時に、現行コンテキスト・レジスタ32の内容が
AND回路42を介して(最高優先順位発見に伴うコン
テキストへの有効割込み信号によりエネーブルされると
き)更新される。また代りに、チップ・プロセッサ11
が、近々起きるPSWのスワップを反映するように現行
コンテキスト・レジスタ32の内容を更新してもよい。
また、2つのコンテキスト、即ち割込みを行なうコンテ
キストと割込まれるコンテキストとの間のPSWスワッ
プをチップ・プロセッサ11が行なう事を可能にするた
めに新しい保管領域15のアドレスをアドレス・レジス
タ44が受取る事が可能になる。この時点で、休止状態
のコンテキストを活性化する割込みの認知を反映するた
めに、活動状態コンテキスト・レジスタ31が、チップ
・プロセッサ11によりバス14を介して更新される。
割込みコンテキスト(見出された最高の優先順位のコン
テキスト)に対応するレジスタ30の第2ランク中のビ
ット位置は、フェーズ・ホールド時間の経過によりリセ
ットされる。
FH回路37の動作は、レジスタ30、31から受取っ
たコンテキストの識別情報と、コンテキスト優先順位レ
ジスタ45中に記憶された割当てられたコンテキスト優
先順位とを組合せる。好ましくは、(POR等の)システ
ムの初期化の間にチップ・プロセッサ11がバス14を
介してレジスタ45にアクセスして、それを初期に及び
動的にコンテキストに対して優先順位を割当てるように
設定する。動的な割当ては、現在実行中のコンテキスト
の現在の状態を反映する。ある例では、現在実行中のコ
ンテキストは全てのコンテキストの優先順位を動的に変
更する事はないかもしれない。この時、コンテキスト優
先順位のあるものは、終了した又は割込みを受けた初期
に実行していたコンテキストの状態を依然として反映し
ているかもしれない。レジスタ45の各々は、所定の数
のビット位置を有しており、1つのビット位置はコンテ
キストの各々に対応する。各レジスタのビット位置の数
が小さいほど、その位置はより高い優先順位を示してい
る。最低の数及び最高の数のビット位値はセット可能で
ある。そのような位置は各々トラップ及びバックグラウ
ンド処理のために予約されている。PORの間に、レジ
スタ内容はクリアされ、チップ・プロセッサ11は再び
初期に割当てらていれた優先順位を確立しなければなら
ない。各レシスタ45に中にセットされいる最低の数の
ビットは、対応するコンテンキストに関する優先順位を
示す。もしどのレジスタにもビットがセットされていな
ければ、そのコンテキストは優先順位が割当てられてい
ない。即ちそのようなコンテキストと協同する外部装置
が取り付けられていないか又は何らかの理由でコンテキ
ストによる割込みが禁止されているか若しくはマスクさ
れている場合、レジスタ45の各々を消去又はセットし
ない事は実効的にそのコンテキストに関する割込みをマ
スクする。コンテキスト優先順位レジスタの種々のもの
において、ビット位置のうちあるものはそのようなコン
テキトに割当てる事が許されなかもしれない。この制御
はある優先順位をコンテキストからマスクする。そのよ
うな選択は設計の選択の問題である。
活動状態コンテキスの各々に関するFH回路37、及び
論理OR回路36を介して受取られ記憶された割込み要
求は、コンテキストに割当てられら優先順位を確認する
ためにコンテキスト優先順位レジスタ45の各々にアク
セスする。レジスタ45の走査により、最高の割当てら
れた優先順位を有する評価中のどのコンテキストがFH
回路37をネーブルして上述の信号を符号化回路38に
出力させるかが明らかになる。FH回路37内で優先順
位走査を評価するためにいつくかの設定及び手続きを用
いることができる。第6図の計算機動作のチャートはF
H回路37の論理設計を示している。
チップ・プロセッサ11と割込み処理とのソフトウェア
相互作用は、第3図に非常に単純化した形で示されてい
る。信号線41上の有効な割込み信号に応答して、チッ
プ・プロセッサ11はステップ50で、次のマシン・サ
イクル(ステップ51の)におけるPSWスワップの準備
のためにレジスタ44を読取る。ステップ51では、命
令記憶装置12から命令は取り出されない。ステップ5
1に続いて、割込み処理の第2のマシン・サイクルで、
チップ・プロセッサ11は割込みコンテキストの中で動
作する。チップ・プロセッサ11が、与えられたコンテ
キストに関する処理を完了するとそのコンテキストはス
テップ52で休止される。このステップ中に、チップ・
プロセッサ11は信号線47を介して休止信号を割込み
回路18に供給し、現行コンテキスト・レジスタ32を
バックグラウンド処理にセットし、活動状態コンテキス
ト・レジスタ31中の関連活動ビットをリセットする。
この時、回路18の動作のサイクル中に現在の最高優先
順位の活動状態コンテキスト又は受取った割込み要求が
上述のように割込みコンテキストになることができる。
信号線47は、現行コンテキスト・レジスタ32をクリ
アするための休止信号を伝達する。信号線48は、活動
状態コンテキスト・レジスタ31中の関連ビットをリセ
ットする事を表わす。言い換えると、チップ・プロセッ
サ11中で実行しているソフトウェアは単にコンテキス
トの休止を開始するたけである。
FH回路37の一般的な動作は第4図に示されている。
ステップ60はレジスタ30による割込み要求の非同期
的な受理を表わす。最初のマシン・サイクル61におい
て、ソフトウェアのマシン・ステップ50と一致する時
間に回路18は次に述べるマシン・ステップを実行す
る。ステップ62で回路18は、割込みレジスタ30及
び活動状態コンテキスト・レジスタ31からの入力信号
として論理OR回路36の出力を受取る。ステップ63
で、回路18は、受取った入力信号により表わされるコ
ンテキスト(もしあれば)のどれが最高の割当てられた優
先順位を有しているか見出す。次に、判定ステップ64
で(比較回路39の動作に対応)、ステップ63で判定さ
れた最高の割当てられた優先順位が現在実行中のコンテ
キストの優先順位レベルよりも高いかどうかが判定され
る。もし現在の優先順位レベルが、見出された優先順位
レベルよりも高いか又は等しい場合はライン65に示す
ように何の動作も行なわれない。即ち、有効割込み信号
は発生しない。現在のコンテキストと優先順位が、見出
された優先順位よりも高いか又は等しいという事がない
場合は、マシン・ステップ66で、レジスタ30の第2
ランクのビット位置がリセットされ、新しいコンテンキ
ストを準備するために有効割込み信号が信号線41を経
由して供給される。次に、その結果として起きるマシン
・サイクル67中に、チップ・プロセッサはステップ5
2でPSWスワップを実行する。
第5図はコンテキストの休止を、単純化した形で、説明
するチャートである。マシン・ステップ70で、チップ
・プロセッサはコンテキストを終了するか否かを決定す
る。このコンテキストは、通常、レジスタ32に示され
る現在実行中のコンテキストであり、それに対して何の
制限も意図されていない。ステップ70から延びている
のは、信号線47上の休止信号を表わすラインである。
次のマシン・ステップ71で、信号線47の休止信号は
現行コンテキスト・レジスタ32をリセットする。マシ
ン・ステップ73で、活動状態コンテキスト・レジスタ
31中の対応する活動状態ビットが、信号線47を伝搬
する休止信号によりリセットされる(第2図の信号線4
8参照)。プロセッサ11は、バス14を介して活動状
態ビットをリセットできる。マシン・ステップ74で、
プロセッサ11はバックグラウンドの(最低の優先順位
レベルの)コンテキスト中にある。次に、マシン・ステ
ップ75で、再び割込み回路18が、上述のように最高
の優先順位の活動状態のコンテキスト又は割込みを見出
す。電子回路を用いてセッティングを行なわなくても、
プロセッサ11がPSWスワップ・ステップ752の間
にレジスタ32をセットできる事に留意されたい。また
プロセッサ11は、マシン・ステップ70中に現行コン
テキスト・レジスタ32をバックグラウンド・レベル
(最低の優先順位)にセットできるが、回路18により現
行コンテキスト・レジスタ32をセットする動作が行な
われる前に、そのような活動からプロセッサ11を解放
する事が好ましい。
FH回路37の動作を第6図を参照しながら説明する。
動作は、ライン80に示すように開始される。読取りス
テップ81は論理OR回路36の出力を捉える。優先順
位との割込み/コンテキストの照合のステップ82で、
動作の最初のパスでPORトラップ・ビットが調べられ
る。もしそれがセットされていれば、動作は経路83に
従って、符号化回路38及び他の回路を上述のように動
作させるように活動化する事により有効な割込み信号を
準備する。もしPORトラップがセットされていなけれ
ば、FH回路37のホールディング・レジスタ(図示せ
ず)の次のビット位置が調べられる。もしセットされて
いれば、対応するレジスタ45が、割当てられた優先順
位レベルを得るために調べられる。ステップ84では、
判明した優先順位レベルが、この動作サイクルでかつて
調べられた優先順位のうち最高のレベルを記憶するため
に使われる1バイト・レジスタ(図示せず)の内容と比較
される。最初のパスの間、バイト・レジスタの内容はバ
ックグラウンド処理を表わす最高の数である。それは現
在のコンテキストの優先順位にセットされる事もありう
る。比較回路39は、もし見出された最高の優先順位が
現在の優先順位レベルよりも大きい場合に有効割込み信
号を供給するだけである。何らかの事象において、もし
ステップ84での比較により、調べられているコンテキ
ストの優先順位が1バイト・レジスタ中の優先順位より
も低い事が判明すると、後述のハウスキーピング動作が
起きる。比較ステップ84により、調べられているコン
テキストの優先順位が1バイト・レジスタの内容よりも
高い事が判明すると、ステップ86で、調べられている
コンテキストの優先順位とコンテキスト識別情報が、1
バイト・レジスタに記憶される。もし比較ステップ84
で、比較された優先順位が等しければ、ステップ87で
コンテキスト・レジスタ45(コンテキスト番号、優先
順位ではない)のアドレスと1バイト・レジスタ中で識
別されたコンテキストに関するコンテキスト・レジスタ
45アドレスが比較される。平衡を破る動作として、最
低のレジスタ45アドレス(最低のコンテキスト番号)を
有するコンテキストが、最高の優先順位を持つように判
定される。優先順位の、固定された第2レベルの評価は
複数のコンテキストが同様の優先順位レベルを割当てら
れる事を可能にする。評価されるコンテキストのアドレ
スが高れければ、後述のハウスキーピング動作が起き
る。さもなければ、評価されるコンテキストのアドレス
がより低ければ(より高い優先順位)、そのアドレス及び
優先順位レベルはステップ88で1バイト・レジスタに
記憶される。ハウスキーピング動作は、ステップ84、
86、87又は88のどれかから開始する。ステップ9
0で、レジスタ30、31から受取ってさらに別のコン
テキスト/要求を調べなければならないかどうかが判定
される。もしなければ、動作は、ライン91を経てステ
ップ64に進む。ステップ92で識別される、入力信号
からの次のビットはステップ81で得られ、FH回路3
7によって受取られたセット・ビットの全てが調べられ
るまで、動作のループが反復される。次に、見出された
最高優先順位に関する情報がFH回路37により符号化
回路38に転送される。
F.発明の効果 本発明の割込み処理方式によれば、I/O制御装置中の
マイクロコードの実行に関する負荷が軽減される。
【図面の簡単な説明】
第1図は、周辺制御装置中で使用するための、単一の半
導体チップに組込まれる、プログラム式処理装置の単純
化したブロック図、 第2図は、第1図のプログラム式処理装置で使用される
コンテキスト及び割込み制御装置を示す図、 第3図は、有効な割込み及びプログラムにより開始され
るコンテキスト休止に対する応答を示す単純化された流
れ図、 第4図は、第2図に示す装置の動作を示す単純化した機
械動作の図、 第5図は、第2図に示した装置を用いた時のコンテキス
ト休止を示す単純化した機械動作の図、 第6図は、第2図に示した装置による割込み信号に関す
るコンテキスト又は最高の優先順位の活動状態コンテキ
ストを見出す事を説明する単純化した機械動作の図であ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ステイブン・グーズ・ラングイング アメリカ合衆国カリフオルニア州サン・ホ セ、ソーントリー・ドライブ5966番地

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プログラム式処理装置への割込みを処理す
    る装置であって、 割込み要求信号を記憶する割込み手段と、 上記プログラム式処理装置に関して現在活動状態にある
    全てのコンテキストを示す情報を記憶する活動状態コン
    テキスト手段と、 上記プログラム式処理装置が実行しているプログラム命
    令のストリームの現行のコンテキストに関する情報を記
    憶する現行コンテキスト手段と、 コンテキストの優先順位に関する情報を記憶する優先順
    位手段と、 事前に定められた順序で配列された、それぞれのコンテ
    キストのプログラムステータスワード(PSW)を有す
    る保管手段と、 上記割込み手段及び活動状態コンテキスト手段に接続さ
    れ、その各々に記憶されているコンテキストに関する情
    報を受取り、かつ上記優先順位手段に接続され、該各コ
    ンテキストの優先順位を受取って、それらの中から最高
    の優先順位を有するコンテキストを発見する発見手段
    と、 上記発見手段によって示される最高の優先順位を有する
    コンテキストの上記保管手段における配列位置を与える
    符号化手段と、 上記符号化手段及び上記現行コンテキスト手段に接続さ
    れ、上記発見手段により示されるコンテキストの優先順
    位が現行コンテキストと同じときに、上記発見手段によ
    り示される最高の優先順位のコンテキストのPSWの上
    記保管手段における位置が、現行コンテキストのPSW
    よりも優先されるべき位置にある場合に、有効割込み信
    号を生成する割込み有効化手段と、 上記割込み有効化手段に接続され、上記有効割込み指示
    信号に応答して、上記プログラム式処理装置に割込みを
    行う手段と、 を有することを特徴とする割込み処理装置。
JP2029760A 1989-02-13 1990-02-13 割込み処理装置 Expired - Lifetime JPH0612527B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/310,409 US5057997A (en) 1989-02-13 1989-02-13 Interruption systems for externally changing a context of program execution of a programmed processor
US310409 1989-02-13

Publications (2)

Publication Number Publication Date
JPH02267634A JPH02267634A (ja) 1990-11-01
JPH0612527B2 true JPH0612527B2 (ja) 1994-02-16

Family

ID=23202368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2029760A Expired - Lifetime JPH0612527B2 (ja) 1989-02-13 1990-02-13 割込み処理装置

Country Status (4)

Country Link
US (1) US5057997A (ja)
EP (1) EP0383474B1 (ja)
JP (1) JPH0612527B2 (ja)
DE (1) DE69023018T2 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
US5504904A (en) * 1994-02-23 1996-04-02 International Business Machines Corporation Personal computer having operating system definition file for configuring computer system
US6601081B1 (en) * 1995-06-30 2003-07-29 Sun Microsystems, Inc. Method and apparatus for context maintenance in windows
US6385645B1 (en) * 1995-08-04 2002-05-07 Belle Gate Investments B.V. Data exchange system comprising portable data processing units
PT757336E (pt) 1995-08-04 2001-04-30 Belle Gate Invest B V Sistema de intercambio de dados que inclui unidades portateis de processamento de dados
US5898864A (en) * 1995-09-25 1999-04-27 International Business Machines Corporation Method and system for executing a context-altering instruction without performing a context-synchronization operation within high-performance processors
US5708808A (en) * 1996-02-27 1998-01-13 Shoichi; Horio Method and apparatus for concurrency with critical regions
US5933627A (en) * 1996-07-01 1999-08-03 Sun Microsystems Thread switch on blocked load or store using instruction thread field
US5835788A (en) * 1996-09-18 1998-11-10 Electronics For Imaging System for transferring input/output data independently through an input/output bus interface in response to programmable instructions stored in a program memory
US6148326A (en) * 1996-09-30 2000-11-14 Lsi Logic Corporation Method and structure for independent disk and host transfer in a storage subsystem target device
US6247040B1 (en) * 1996-09-30 2001-06-12 Lsi Logic Corporation Method and structure for automated switching between multiple contexts in a storage subsystem target device
US6081849A (en) * 1996-10-01 2000-06-27 Lsi Logic Corporation Method and structure for switching multiple contexts in storage subsystem target device
US5870582A (en) * 1997-03-31 1999-02-09 International Business Machines Corporation Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched
US6098167A (en) * 1997-03-31 2000-08-01 International Business Machines Corporation Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution
US5805849A (en) * 1997-03-31 1998-09-08 International Business Machines Corporation Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions
US5887161A (en) * 1997-03-31 1999-03-23 International Business Machines Corporation Issuing instructions in a processor supporting out-of-order execution
US5913048A (en) * 1997-03-31 1999-06-15 International Business Machines Corporation Dispatching instructions in a processor supporting out-of-order execution
US6192442B1 (en) * 1998-04-29 2001-02-20 Intel Corporation Interrupt controller
US6499050B1 (en) * 1998-06-09 2002-12-24 Advanced Micro Devices, Inc. Means used to allow driver software to select most appropriate execution context dynamically
WO2000019699A1 (en) 1998-09-29 2000-04-06 Sun Microsystems, Inc. Superposition of data over voice
US6823520B1 (en) 1999-01-22 2004-11-23 Sun Microsystems, Inc. Techniques for implementing security on a small footprint device using a context barrier
US6633984B2 (en) 1999-01-22 2003-10-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using an entry point object
US6907608B1 (en) * 1999-01-22 2005-06-14 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using global data structures
US6922835B1 (en) 1999-01-22 2005-07-26 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges
US7093122B1 (en) 1999-01-22 2006-08-15 Sun Microsystems, Inc. Techniques for permitting access across a context barrier in a small footprint device using shared object interfaces
CN1278236C (zh) 1999-06-10 2006-10-04 贝勒加特投资公司 在分离的存储区域中存储数据组的不同版本的装置和更新存储器中数据组的方法
WO2001040910A1 (en) * 1999-12-06 2001-06-07 De Jong, Eduard, Karel Computer arrangement using non-refreshed dram
AU777437B2 (en) 1999-12-07 2004-10-14 Sun Microsystems, Inc. Secure photo carrying identification device, as well as means and method for authenticating such an identification device
KR100693874B1 (ko) 1999-12-07 2007-03-12 선 마이크로시스템즈 인코포레이티드 판독을 제어하는 마이크로프로세서를 포함한 컴퓨터 판독매체 및 이러한 매체와 통신하도록 설정된 컴퓨터
US6845419B1 (en) * 2000-01-24 2005-01-18 Freescale Semiconductor, Inc. Flexible interrupt controller that includes an interrupt force register
DE60037342T2 (de) 2000-07-20 2008-11-27 Belle Gate Investment B.V. Verfahren und system für kommunizierende geräte, und vorrichtungen dafür, mit geschützter datenübertragung
US6795884B2 (en) 2000-12-29 2004-09-21 Intel Corporation Read-only memory based circuitry for sharing an interrupt between disk drive interfaces
US6742060B2 (en) * 2000-12-29 2004-05-25 Intel Corporation Look-up table based circuitry for sharing an interrupt between disk drive interfaces
US6772258B2 (en) 2000-12-29 2004-08-03 Intel Corporation Method and apparatus for sharing an interrupt between disk drive interfaces
US7031989B2 (en) * 2001-02-26 2006-04-18 International Business Machines Corporation Dynamic seamless reconfiguration of executing parallel software
US6807595B2 (en) * 2001-05-10 2004-10-19 Qualcomm Incorporated Mobile communication device having a prioritized interrupt controller
US20030177280A1 (en) * 2002-03-12 2003-09-18 Webster Steve R. Imbedded interrupt handler
US7272664B2 (en) * 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information
US7117319B2 (en) * 2002-12-05 2006-10-03 International Business Machines Corporation Managing processor architected state upon an interrupt
US6981083B2 (en) * 2002-12-05 2005-12-27 International Business Machines Corporation Processor virtualization mechanism via an enhanced restoration of hard architected states
US7493478B2 (en) * 2002-12-05 2009-02-17 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
US7065595B2 (en) * 2003-03-27 2006-06-20 International Business Machines Corporation Method and apparatus for bus access allocation
BE1015508A3 (nl) 2003-05-08 2005-05-03 Svensson Ludvig Bv Doek bestemd om voorzien te worden van minstens een permanente vouw en werkwijze daarbij toegepast.
WO2005020065A2 (en) * 2003-08-25 2005-03-03 Koninklijke Philips Electronics, N.V. Dynamic retention of hardware register content in a computer system
US8220058B2 (en) * 2003-09-25 2012-07-10 Oracle America, Inc. Rendering and encryption engine for application program obfuscation
US7424620B2 (en) * 2003-09-25 2008-09-09 Sun Microsystems, Inc. Interleaved data and instruction streams for application program obfuscation
US7353499B2 (en) 2003-09-25 2008-04-01 Sun Microsystems, Inc. Multiple instruction dispatch tables for application program obfuscation
US7415618B2 (en) * 2003-09-25 2008-08-19 Sun Microsystems, Inc. Permutation of opcode values for application program obfuscation
US7363620B2 (en) * 2003-09-25 2008-04-22 Sun Microsystems, Inc. Non-linear execution of application program instructions for application program obfuscation
US20050069138A1 (en) * 2003-09-25 2005-03-31 Sun Microsystems, Inc., A Delaware Corporation Application program obfuscation
TW201237630A (en) * 2011-03-01 2012-09-16 Wistron Corp Method and computer system for processing data in a memory
GB2514126A (en) 2013-05-14 2014-11-19 Ibm Interruption of chip component managing tasks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58115552A (ja) * 1981-12-28 1983-07-09 Fujitsu Ltd 割込み制御方式

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3599162A (en) * 1969-04-22 1971-08-10 Comcet Inc Priority tabling and processing of interrupts
US3866181A (en) * 1972-12-26 1975-02-11 Honeywell Inf Systems Interrupt sequencing control apparatus
FR2269150B1 (ja) * 1974-04-25 1977-10-28 Honeywell Bull Soc Ind
GB1529581A (en) * 1974-10-29 1978-10-25 Xerox Corp Data processing apparatus
DE2754890C2 (de) * 1977-12-09 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Programmunterbrechung
JPS5530730A (en) * 1978-08-22 1980-03-04 Nec Corp Data processor
US4257096A (en) * 1978-10-23 1981-03-17 International Business Machines Corporation Synchronous and conditional inter-program control apparatus for a computer system
US4286322A (en) * 1979-07-03 1981-08-25 International Business Machines Corporation Task handling apparatus
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
EP0048767B1 (de) * 1980-09-27 1985-03-20 Ibm Deutschland Gmbh Prioritätsstufengesteuerte Unterbrechungseinrichtung
US4636944A (en) * 1984-01-17 1987-01-13 Concurrent Computer Corporation Multi-level priority micro-interrupt controller
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
US4734882A (en) * 1985-04-01 1988-03-29 Harris Corp. Multilevel interrupt handling scheme
JPH0792782B2 (ja) * 1985-09-30 1995-10-09 富士通株式会社 処理実行システム
US4805107A (en) * 1987-04-15 1989-02-14 Allied-Signal Inc. Task scheduler for a fault tolerant multiple node processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58115552A (ja) * 1981-12-28 1983-07-09 Fujitsu Ltd 割込み制御方式

Also Published As

Publication number Publication date
DE69023018D1 (de) 1995-11-23
EP0383474B1 (en) 1995-10-18
EP0383474A2 (en) 1990-08-22
EP0383474A3 (en) 1991-12-27
US5057997A (en) 1991-10-15
JPH02267634A (ja) 1990-11-01
DE69023018T2 (de) 1996-05-30

Similar Documents

Publication Publication Date Title
JPH0612527B2 (ja) 割込み処理装置
EP0597441B1 (en) Microprocessor having a bus-width change function
US5333273A (en) Protected hot key function for microprocessor-based computer system
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
EP0330226A2 (en) Apparatus of and method for executing subprogram in bank switching data processing system
KR950001417B1 (ko) 컴퓨터 시스템
JP2822782B2 (ja) シングルチップマイクロコンピュータ
JPH02156334A (ja) 情報処理装置
GB2216306A (en) Load and synchronize computer architecture and process
JPS61182160A (ja) デ−タ処理装置
EP0338564B1 (en) Microprogram branching method and microsequencer employing the method
KR100385493B1 (ko) 재구성가능한프로그램상태워드를갖는마이크로콘트롤러
US5499363A (en) Microprocessor coupled to coprocessor by coprocessor bus separate from system bus to external memory for increased efficiency
GB1602421A (en) Processors for data processing systems
US5586336A (en) Microcomputer capable of monitoring internal resources from external
US4807178A (en) Programmable sequence controller having indirect and direct input/output apparatus
JPS6290728A (ja) 割込処理方法
JPH06230985A (ja) タスク制御回路、及びマイクロプロセッサ
JPS59123933A (ja) アドレス比較方式
WO2003088036A1 (en) System and method for instruction level multithreading
JPH1131068A (ja) リセットベクタ切替え方法ならびに同方法を用いた情報処理装置
JPS59111557A (ja) アドレス変換装置
JPH09167117A (ja) マイクロコンピュータおよびこれを用いたリアルタイムシステム
JP3127737B2 (ja) ディジタル信号処理装置
JP2558902B2 (ja) 半導体集積回路装置