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

割込み処理装置

Info

Publication number
JP2990800B2
JP2990800B2 JP2340912A JP34091290A JP2990800B2 JP 2990800 B2 JP2990800 B2 JP 2990800B2 JP 2340912 A JP2340912 A JP 2340912A JP 34091290 A JP34091290 A JP 34091290A JP 2990800 B2 JP2990800 B2 JP 2990800B2
Authority
JP
Japan
Prior art keywords
interrupt
output
request
controller
processor
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
JP2340912A
Other languages
English (en)
Other versions
JPH04209058A (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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP2340912A priority Critical patent/JP2990800B2/ja
Publication of JPH04209058A publication Critical patent/JPH04209058A/ja
Application granted granted Critical
Publication of JP2990800B2 publication Critical patent/JP2990800B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は割込みの処理方式に関し、とくに不完全な割
込みが発生したときの割込みコントローラと中央処理装
置による割込み処理方法に関する。
〔従来の技術〕
情報処理システムに於いて、中央処理装置(以下プロ
セッサと略記)はメモリのほかにいくつかの入出力デバ
イス(以下I/Oと略記)との間で情報を交換する必要が
ある。システムのスループットを向上させるために、I/
Oへのサービスは割込みによって行なわれる。プロセッ
サからのサービスを必要とするI/Oはプロセッサに対し
て割込み要求信号をアクティブにする。割込み許可状態
にあるプロセッサは割込み要求信号により割込み発生を
認識するとそれまでのプログラムの実行を中断して割込
み処理プログラム(割込みサービス・ルーチン)へと制
御を移し、割込み処理プログラムでI/Oに対するサービ
スを行う。
情報処理システム内にI/Oが多数存在する場合には、
それぞれのI/Oからの割込み要求を優先順位により調停
してプロセッサに伝える割込みコントローラ使用する。
割込みコントローラはいくつかのI/Oからの割込み要求
信号を入力とし、プロセッサに割込み要求の有無を通知
する。この通知信号をINT信号とよぶことにする。プロ
セッサは1つの命令の実行が修了しつぎの命令の実行が
開始されるまでの間にプロセッサ外部から入力されるIN
T信号をサンプルし、INT信号がアクティブであってプロ
セッサが割込み受付け許可状態であると、プロセッサは
内部での割込み受付け処理を開始し、まず割込み受付け
信号を出力する。割込みコントローラは割込み受付け信
号を受け取ると、その瞬間にアクティブになっている割
込み要求信号のなかで優先順位の最も高い割込み要求を
発している割込み要求元を特定することのできる情報を
含んだベクタをプロセッサにかえす。プロセッサは割込
みコントローラから得たベクタを解析することにより割
込み要求元に対応するサービス・ルーチンへと分岐す
る。
第14図はプロセッサと割込みコントローラによって構
成されている情報処理システムのブロック図である。10
1はプロセッサ、1002は8本の割込み要求を処理するこ
とができる割込みコントローラ、103は1つのI/O、104
はI/O103からの割込み要求信号、105は割込みコントロ
ーラ102からの前記INT信号、106はプロセッサ101からの
割込み受付け信号、107は本情報処理システムのデータ
・バスである。
以下プロセッサ101は割込み受付け可能な状態にあ
り、割込みコントローラ1002には1つのI/O103からの割
込み要求104が1つだけアクティブになっている場合を
考える。該I/O103からの割込み要求104がアクティブに
なると割込みコントローラ1002からのINT信号105がアク
ティブになり、プロセッサ101にたいして割込み要求が
発生したことを通知する。
第15図に示すようにプロセッサ101がINT信号を1101で
サンプルし、INT信号がアクティブであることを検出し
たあと、割込み受付け信号106が出力されるまで該I/O10
3からの割込み要求104がアクティブであるときには、次
のような正常な割込み処理がおこなわれる。プロセッサ
101が割込みを受付けるときには、割込み受付けバス・
サイクルを連続して2サイクル起動する。各割込み受付
けバス・サイクルにおいて、プロセッサ101は割込み受
付け信号106を割込みコントローラ1002にたいして出力
する。1回目の割込み受付けバス・サイクルにおいて割
込みコントローラ1002はアクティブになっている割込み
要求入力のなかで優先順位レベルのもっとも高い割込み
要求入力にたいするサービスをプロセッサ101に要求す
ることを決定する。本例においては、割込み要求104が
1つだけがアクティブであるので、1回目の割込み受付
けバス・サイクルにおいて割込みコントローラ1002は割
込み要求104にたいするサービスをプロセッサ101に要求
することを決定する。2回目の割込み受付けバス・サイ
クルにおいて割込みコントローラ1002はデータ・バス10
7に前記割込み要求104の優先順位を含むベクタを出力
し、プロセッサ101は該ベクタを受け取る。プロセッサ1
01はプログラム・カウンタや該割込みにより中断された
プログラムの走行の状態を示す情報をスタックに退避し
た後に、該ベクタによりI/O103にたいする割込みサービ
ス・ルーチンへ分岐する。
割込みコントローラ1002からプロセッサ101へ渡され
る前記ベクタは第16図に示されるフォーマットになって
いる。1201は割込みコントローラ1002からプロセッサ10
1へ渡される8ビット幅の前記ベクタである。1202は該
ベクタ1201のなかのアドレスに相当する5ビットの部分
であり、予めプロセッサ101から割込みコントローラ100
2にたいしてセットされる。1203は該ベクタ1201のなか
の割込み要求の優先順位のレベルを3ビットにエンコー
ドした部分である。割込みコントローラ1002は8本の割
込み要求に8レベルの優先順位に割り付けて、プロセッ
サ101が割込みを受付けるとき前記8本の割込み要求の
なかのサービスすべき割込み要求の優先順位のレベルを
3ビットにエンコードして、プロセッサ101へのベクタ1
201のなかの1203に示す。本例においてたとえばI/O103
からの割込み要求104が割込みコントローラの優先順位
3レベルに相当する割込み要求入力端子に接続されてい
るとすると、割込み要求104にたいするベクタ1201の中
の1203には2進数の0112が入る。
プロセッサ101は割込みコントローラ1002から得た該
ベクタ1201を用いて16ビットのアドレス1204を生成す
る。アドレス1204は、メモリ中に用意されているベクタ
・テーブルのなかの割込み要求104の優先順位レベルに
対応するエントリの位置を示している。本例では、ベク
タ・テーブルのなかの各エントリには、そのエントリの
位置を示している。本例では、ベクタ・テーブルのなか
の各エントリには、そのエントリの示す優先順位レベル
の割込みのサービス・ルーチンの先頭アドレスに関する
情報が格納されているものとする。最初にプロセッサ10
1はベクタ・テーブルのなかの前記ベクタにより指定さ
れるエントリへアクセスして割込みのサービス・ルーチ
ンの先頭アドレスに関する情報を得る。つぎに該情報に
より割込みサービス・ルーチンの先頭アドレスへと制御
を移す。
第18図は従来の割込み処理の流れを示す図である。プ
ロセッサ101は1命令の実行を終了する度に、割込みコ
ントローラ1002からのINT信号がアクティブであるか否
かを判断し、アクティブであった場合にはプロセッサ10
1が割込み受付けバス・サイクルを連続して2回起動
し、2回目の割込み受付けバス・サイクルにおいて割込
みコントローラ1002からベクタを取込む。プロセッサ10
1は該ベクタによりベクタ・テーブル内の該割込みにた
いするサービス・ルーチンのエントリにアクセスし該割
込みにたいするサービス・ルーチンの先頭アドレスに関
する情報を得る。次にプロセッサ101はプログラム・カ
ウンタや該割込みにより中断されたプログラムの走行の
状態を示すスタックに退避した後に、前記割込みにたい
するサービス・ルーチンの先頭アドレスへ制御を移す。
該割込みに対する、サービス・ルーチンでの処理が終了
すると、該サービス・ルーチンの最後に書かれている割
込みからの復帰命令を実行することによりスタックに退
避した前記プログラム・カウンタ等の情報をスタックか
ら復帰して割込みにより中断されたプログラムへと制御
を戻す。
第17図に示すように1301においてプロセッサ101がINT
信号105をサンプルしたときにはI/O103からの割込み要
求104がアクティブであったのに、プロセッサ101が割込
み受付け信号を出力したときには該I/O103からの割込み
要求104がインアクティブになってしまっていたときに
は、割込みコントローラ1002は割込み受付け信号106の
入力にたいして割込み要求元を示すベクタをプロセッサ
101に返すことができない。第17図に示すようなタイミ
ングで入力された割込みを不完全割込みとよぶことにす
る。不完全割込みはI/Oが独自に割込み要求の発生・消
去をおこなう場合に発生する。
従来の割込み処理方式では不完全割込みが発生したと
き、割込み受付けバス・サイクル中に割込みコントロー
ラ1002はプロセッサ101にたいして、不完全割込みが発
生したとき使用すると決められている優先順位レベル
(例えばレベル7)に対応する割込みベクタを出力し、
プロセッサ101は不完全割込みであることを知らずに該
割込みベクタを受け取り、そのまま不完全割込み処理を
第14図に説明した正常な割込み処理の1つとして行って
いた。
つまり割込み要求元のI/O103が既に発行していた割込
み要求を自ら消去したことによって発生した不完全割込
みにより、プロセッサ101は該不完全割込みを受け付け
た箇所でそれまでのプログラムの実行を中断し、プログ
ラム・カウンタ等の情報をスタックに退避し、不完全割
込みベクタを解析してベクタ・テーブルから不完全割込
み処理ルーチンの先頭アドレスの情報を得て不完全割込
み処理ルーチンへと制御を移す。
〔発明が解決しようとする課題〕
従来の割込み処理方式では、不完全割込みが発生した
ことを割込みコントローラが検出することができるが、
プロセッサはどの割込みレベルに割込み要求が発生して
たかを特定することができないため不完全割込み処理ル
ーチンでは特に為すべき処理はない。I/O処理に即時性
・適時性が必要となる適用分野においては不完全割込み
が発生した場合にどの割込みレベルに割込み要求が発生
していたかを特定する必要がある。従来の割込み処理方
式のおいては不完全割込み処理ルーチンのなかで割込み
要求を発行するI/Oを一つ一つポーリングして個々のI/O
の状態をチェックしなければならず、I/O処理の即時性
・適時性が著しく損なわれるという欠点を有していた。
また従来の割込みコントローラにおいては不完全割込
みが発生したとき使用すると決められている優先順位レ
ベル(上記の従来例ではレベル7)に対応する割込み要
求入力端子には実質的にシステム内のI/O等からの割込
み要求信号を接続できないという欠点を有していた。
〔課題を解決するための手段〕
本発明による割込み処理装置は、中央処理装置と割込
みコントローラと複数の入出力デバイスとを有し、前記
入出力デバイスからの割込み要求が前記割込みコントロ
ーラに入力され、前記割込みコントローラが該複数の入
出力デバイスからの割込み要求を調停して前記中央処理
装置に割込み要求信号を出力し、前記中央処理装置が前
記割込みコントローラからの該割込み受付けると前記割
込みコントローラにたいして割込み受付けバス・サイク
ルを起動し、前記割込みコントロールは該割込み受付け
バス・サイクル中に前記中央処理装置にたいして割込み
ベクタを出力する情報処理システムにおいて、前記割込
みコントローラ内部にあって前記中央処理装置から値を
設定されるレジスタ1と、レジスタ1の内容と異なる値
を出力する手段2と、レジスタ1と手段2との出力を入
力とする選択手段3と,該複数の入出力デバイスからの
アクティブな割込み要求の優先順位を判断し最高優先順
位の割込み要求レベルの値を出力する手段4と、前記入
出力デバイスからの割込み要求の有無の情報を保持する
手段5と,前記保持手段5の出力を入力して優先順位を
判断し最高優先順位の割込み要求レベルの値を出力する
手段6と、手段4の出力と手段6と出力とを入力とをす
る選択手段7と、前記割込みコントローラ内部にあって
前記入出力デバイスからの割込み要求が1つも無いこと
を検出する手段8とを有し、 前記中央処理装置が前記割込みコントローラからの割
込み要求を受付けたあと割込み受付けバス・サイクルに
対して、検出手段8により選択手段3と選択手段7とが
同時に制御されて、割込みベクタをレジスタ1の内容と
手段4の出力から生成するか、あるいは手段2の出力と
手段6の出力から生成するかを選択することを特徴とす
る。
また、前記割込み処理装置において、前記割込みコン
トローラ内部にあって前記中央処理装置から値を設定さ
れるレジスタ9を有し、レジスタ9の内容により前記入
出力デバイスからの割込み要求の優先順位を決定を制御
する手段と、レジスタ9の内容により前記入出力デバイ
スからの割込み要求をマスク制御して前記検出手段8へ
入力する手段と、レジスタ9の内容により前記保持手段
5の出力をマスク制御して前記手段6へ入力する手段と
を有することを特徴とする。
〔実施例〕
以下、図面により本発明を詳述する。
第1図は本発明の第1の実施例でプロセッサと割込み
コントローラとI/Oとの接続方法を示す図であり従来例
の接続方法と同様である。
101はプロセッサ、102は本実施例で改良された割込み
コントローラである。103は割込みコントローラ102に対
して割込み要求を発行するI/O、104はI/O103から割込み
コントローラ102への割込み要求信号、105は割込みコン
トローラ102からプロセッサ101へのINT信号である。106
はプロセッサ101から割込みコントローラ102への割込み
受付け信号である。107はプロセッサ101、割込みコント
ローラ102、I/O103を接続する外部バスである。
割込みコントローラ102の内部のハードウェアについ
て説明する。108は割込みコントローラ102外部からの8
本の割込み要求信号が全てインアクティブであること検
出する回路で、8本の割込み要求信号が全てインアクテ
ィブであるとき出力信号110が‘1'になる。108は例えば
8入力のNOR回路である。不完全割込みの検出に使用す
る。109はレジスタ111の5ビット出力の中の最下位ビッ
トのみを反転する回路である。110は検出回路108の出力
信号である。111はプロセッサ101により設定される5ビ
ットのアドレス情報を格納するレジスタである。通例プ
ロセッサ101は割込みコントローラ102からの割込みを受
付ける前に外部データ・バス107、割込みコントローラ1
02の内部データ・バスを介して5ビットのアドレス情報
を該レジスタ111に格納する。112はセレクタでレジスタ
111の出力と109の出力を入力とし、信号108を選択信号
として、信号108が‘1'のとき109の出力を選択し、信号
108が‘0'のとき111の出力を選択して内部データ・バス
118のビット3,4,5,6,7に出力する。113は割込みコント
ローラ102外部からの8本の割込み要求信号を入力とす
る優先順位決定回路である。入力される8本の割込み要
求信号のなかのアクティブになっている割込み要求のな
かで優先順位の最も高い割込み要求を検出して3ビット
にエンコードする優先順位決定回路で、114は優先順位
決定回路113の3ビット出力である。115は割込みコント
ローラ102外部からの8本の割込み要求信号の各信号の
状態を保持する8ビット・レジスタで、該8ビット・レ
ジスタの各ビットは各割込み要求信号の立上がりエッジ
で1にセットされ、プロセッサ101が起動する連続2回
の割込み受付けバスサイクルの2回めの割込み受付けバ
ス・サイクルに付随して2回アクティブになる割込み受
付け信号106の2回目のアクティブ・パルスの立ち下が
りエッジでリセットされる。116は8レジスタ115の出力
を入力とするプライオリティー・エンコーダで、8ビッ
トのレジスタ115の出力のなかの‘1'となっているビッ
トのなかで優先順位の最も高いビットの位置を検出して
3ビットにエンコードして出力する。
117はセレクタで優先順位決定回路113の3ビットの出
力114と116の3ビット出力を入力とし、信号108を選択
信号として、信号108が‘1'のときプライオリティー・
エンコーダ116の出力を選択し、信号108が‘0'のとき優
先順位決定回路113の3ビットの出力114を選択して内部
データ・バス118のビット0,1,2に出力する。118は割込
みコントローラ102の内部バスで8ビット・バスであ
る。
本実施例におけるプロセッサ101にたいして割込みコ
ントローラ102からINT信号105により割込みが発生した
ことが通知されると、プロセッサ101は割込み受付けバ
ス・サイクルを連続して2回起動する。従来の割込みコ
ントローラと同様に割込みコントローラ102では1回目
の割込み受付けバス・サイクルに付随して出力される割
込み受付け信号106が、割込みコントローラ内部での割
込み優先順位決定のためにのみ使用され、2回めの割込
み受付けバス・サイクルでベクタが外部バス107を介し
てプロセッサ101に取り込まれる。該ベクタのフォーマ
ットは従来の割込み受付けバス・サイクルにおいて出力
されるベクタのフォーマット1204と同一である。
以下の説明のために本実施例ではレジスタ111に11100
2がプリセットされているものとする。109はレジスタ11
1の5ビット出力の中の最下位ビットのみを反転するた
め109の出力は111012となっている。また割込みコント
ローラ102には1つのI/O103のみから割込みを要求さ
れ、I/O103の割込み要求信号104は割込みコントローラ1
02の割込み優先順位レベル3に接続されているものとす
る。
不完全割込み以外の正常な割込みについては割込みコ
ントローラ102は次のような8ビットのベクタを外部バ
ス107を介してプロセッサ101に発行する。正常な割込み
の場合つまりプロセッサ101がINT信号をサンプルしたあ
と2回の割込み受付けバス・サイクルの1回めの割込み
受付けバス・サイクルを起動したときに割込みコントロ
ーラ102への割込み要求信号が1つでもアクティブであ
れば110が‘0'となるので、セレクタ112はレジスタ111
の内容(本例では111002)を選択する。またセレクタ11
7は優先順位決定回路113の出力114を選択する。本例で
はI/O103の割込み要求信号104は割込みコントローラ102
の割込み優先順位レベル3に接続されているので優先順
位決定回路113の出力114は0112となっている。
第3図においてベクタ301は正常な割込みの(2回目
の)割込み受付けバスサイクルにたいして発行されるベ
クタである。ベクタ301の中の1202の部分はプロセッサ1
01からプリセットされる5ビットのアドレス情報(本例
では111002)である。ベクタの301の1203は3ビットの
優先順位レベル(本例では0112)に相当する。
不完全割込みが発生したとき、つまり第2図のタイミ
ング・チャートに示すようにプロセッサ101がタイミン
グ201でアクティブなINT信号105をサンプルしたことに
起因して2回の割込み受付けバス・サイクルの1回めの
割込み受け付けバス・サイクルを起動したときに、割込
みコントローラ102への割込み要求入力が全てインアク
ティブであったときには、割込みコントローラ102は次
のような8ビットのベクタをプロセッサ101に対して発
行する。タイミング201でプロセッサ101がINT信号をサ
ンプルしたあと2回の割込み受付けバス・サイクルの1
回めの割込み受付けバス・サイクルを起動する前のタイ
ミング202で割込みコントローラ102への割込み要求信号
が全てインアクティブであれば、タイミング202以降は1
10が‘1'となる。本実施例においては、I/O103の割込み
要求信号104は割込みコントローラ102の割込み優先順位
レベル3に接続されてるためタイミング202までは優先
順位決定回路113は0112を出力しているがタイミング202
以降は不定の値を出力する。これに対してレジスタ115
では優先順位レベル3に接続されている割込み要求信号
104の立上がりエッヂによりビット3のみがセットさ
れ、タイミング202で優先順位レベル3に接続されてい
る割込み要求信号104がインアクティブになったあとで
も、優先順位レベル3に接続されている割込み要求信号
104の立上がりエッヂがあった事をレジスタ115のビット
3が記憶しているため、割込み要求信号104の立上りエ
ッヂ以降の2回目の割込み受付け信号の立ち下がりエッ
ヂまではプライオリティー・エンコーダ116は0112を出
力する。タイミング202以降は110が‘1'であるのでセレ
クタ112はレジスタ109の内容(本例では111012)を選択
する。セレクタ117はプライオリティー・エンコーダ116
の出力(本例では0112)を選択する。第3図においてベ
クタ302は正常な割込みの(2回目の)割込み受付けバ
スサイクルにたいして発行されるベクタである。
第4図に示すように、第3図をもとに本実施例におい
て正常な割込みに対するベクタ・アドレス1204は03800H
〜039COHの範囲内にあり、不完全割込みに対するベクタ
・アドレス1204は03A00H〜03BC0Hの範囲内にある。本実
施例においてはプロセッサ101は従来の割込み制御方式
を用いたまま、不完全割込みが発生しても正常な割込み
発生しても、プロセッサ101は第14図にしめすようなフ
ローで、INT信号をサンプルしたあと2回の割込みで受
付けバス・サイクルを起動して、2回目の割込み受付け
バス・サイクルで取込んだベクタをもとにベクタテーブ
ルにアクセスして目的のベクタ・アドレスへ分岐する事
が可能である。特に不完全割込みが発生した場合には、
2回目の割込み受付けバス・サイクルにおいて割込みコ
ントローラ102から不完全割込み用のベクタが発行さ
れ、不完全割込みを発生させた割込み要求レベルを区別
して第4図の不完全割込み用ベクタテーブルのなかの該
当するエントリへアクセスする。不完全割込み用ベクタ
テーブルのなかの該当するエントリには、各割込みレベ
ルの不完全割込み処理ルーチンの先頭アドレスが格納さ
れている。
第5図は本発明の第2の実施例を示す図である。本第
2の実施例においては不完全割込み用のベクタ・テーブ
ルのエントリを決定するレジスタ509がプロセッサ101か
ら値を設定する事が可能になっている。これによりベク
タ・テーブルをメモリ内の任意の位置に置くことが可能
になり、システムを構築する際の柔軟性が増す。
第6図は本発明の第3実施例である。
100はメモリ、101はプロセッサ、102は本実施例で改
良された割込みコントローラである。103−1,103−2は
割込みコントローラ102に対して割込み要求を発行するI
/O、104−1,104−2はそれぞれI/O103−1、103−2か
ら割込みコントローラ102への割込み要求信号、105は割
込みコントローラ102からプロセッサ101へのINT信号で
ある。106はプロセッサ101から割込みコントローラ102
への割込み受付け信号である、107はプロセッサ101、割
込みコントローラ102,I/O103接続する外部バスである。
割込みコントローラ102の内部のハードウエアについ
て説明する。
119は割込み要求マスクレジスタで、レジスタ119の内
容は、プログラムによりプロセッサ101から外部データ
・バス107、内部データ・バス118を介して書込まれる。
例えば第5図に示すようにレジスタ119のビット3が
‘0'であれば割込み優先順位レベル3に接続されている
I/O103−1からの割込み要求104−1はマスクされる、 108は割込みコントローラ102外部からの8本の割込み
要求信号とマスク・レジスタ119の8ビットの出力120を
入力とする不完全割込み検出回路である。第11図に不完
全割込み検出回路108の内部構成を示す。例えば601−3
は論理積ゲートでレベル3の割込み要求信号104−1と1
20−3はマスク・レジスタ119の出力のビット3とを入
力する。第10図に示すようにレジスタ119のビット3が
‘0'であれば割込み要求104−1は論理積ゲート601−3
によりマスクされる。同様に第11図中の個々の論理積ゲ
ートはそれに入力されている個々の割込み要求信号をマ
スクレジスタ119の各ビットによってマスクする。602は
NORゲートで、マスクレジスタ119に格納された情報でマ
スクされていない割込み要求信号が全てインアクティブ
であること、つまりNORゲート602の入力が全て‘0'であ
ることを検出し、このとき出力信号110が‘0'になる。
109はレジスタ111の5ビット出力の中の最下位ビット
のみを反転する回路である。110は検出回路108の出力信
号である。111はプロセッサ101により設定される5ビッ
トのアドレス情報を格納するレジスタである。通例プロ
セッサ101は割込みコントローラ102からの割込みを受付
ける前に外部データ・バス107、割込みコントローラ102
の内部データ・バス118を介して5ビットのアドレス情
報を該レジスタ111に格納する。112はレジスタ111の出
力と109の出力を入力とし信号108を選択信号とするセレ
クタで、信号108が‘1'のとき109の出力を選択し、信吾
108が‘0'のとき111の出力を選択して内部データ・バス
118のビット3,4,5,6,7に出力する。
113は割込みコントローラ102外部からの8本の割込み
要求信号とマスク・レジスタ119の8ビットの出力120を
入力とする優先順位決定回路である。113は入力される
8本の割込み要求信号なかで、マスクレジスタ119に格
納されている情報によりマスクされていない割込み要求
がアクティブになった事を検出してINT信号105をアクテ
ィブにする機能、およびマスクレジスタ119に格納され
ている情報によってマスクされている割込み要求がアク
ティブになってもINT信号105をアクティブにしないとい
う機能を有する。また入力される8本の割込み要求信号
なかで、マスクレジスタ119の内容によりマスクされて
いない割込み要求の中で優先順位の最も高い割込み要求
を検出して3ビットにエンコードする機能を有する。11
4は優先順位決定回路113の3ビット出力である。
115は割込みコントローラ102外部からの8本の割込み
要求信号の各信号の状態を保持する8ビット・レジスタ
および周辺回路である。該8ビット・レジスタの各ビッ
トは各割込み要求信号の立上りエッヂで1にセットさ
れ、プロセッサ101が起動する連続2回の割込み受付け
バスサイクルの2回めの割込み受付けバス・サイクルに
付随して2回アクティブになる割込み受付け信号106の
2回目のアクティブ・パルスの立ち下がりエッヂでリセ
ットされる。第12図は8ビット・レジスタ115のビット
3の部分のみを示した図であり、他のビットの構成も第
12図の構成と同様である。701はセット・リセット・フ
リップ・フロップ(以下RS−FFと略記)で、I/O103−1
からの割込み要求信号104−1の立上がりでセットさ
れ、割込み受付け信号106の2回目のアクティブ・パル
スの立ち下がりエッヂでリセットされる。120−3はマ
スク・レジスタ119の出力のビット3、702は論理積ゲー
トで120−3とRS−FF701の出力を入力する。第10図に示
すようにレジスタ119のビット3が‘0'(120−3が
‘0')であれば、論理積ゲート702により割込み優先順
位レベル3に接続されているI/O103−1からの割込み要
求104−1がアクティブであったことはマスクされる。
116は8ビット・レジスタ115の出力を入力とするプラ
イオリティー・エンコーダで、レジスタ115の出力のな
かの‘1'となっているビットのなかで優先順位の最も高
いビットの位置を検出して3ビットにエンコードして出
力する。
117はセレクタで優先順位決定回路113の3ビットの出
力114と116の3ビット出力を入力として、信号108を選
択信号として、信号108が‘1'のときプライオリティー
・エンコーダ116の出力を選択し、信号108が‘0'のとき
優先順位決定回路113の3ビットの出力114を選択して内
部データ・バス118のビット0,1,2に出力する。118は割
込みコントローラ102の内部バスで8ビット・バスであ
る。
本実施例では、プロセッサ101にたいして割込みコン
トローラ102からINT信号105により割込みが発生したこ
とが通知されると、プロセッサ101は割込み受付けバス
・サイクルを連続して2回起動する。従来の割込みコン
トローラと同様に割込みコントローラ102では1回めの
割込み受付けバス・サイクルに付随して出力される割込
み受付け信号106が、割込みコントローラ内部での割込
み優先順位決定のためにのみ使用され、2回めの割込み
受付けバス・サイクルでベクタが外部バス107を介して
プロセッサ101に取込まれる。該ベクタのフォーマット
は従来の割込み受付けバス・サイクルにおいて出力され
るベクタのフォーマット1204と同一である。
以下の説明のために本実施例ではレジスタ111に11100
2がプリセットされているものとする。109はレジスタ11
1の5ビット出力の中の最下位ビットのみを反転するた
め、109の出力は111012となっている。また割込みコン
トローラ102には2つのI/O103−1および103−2からの
割込み要求104−1,104−2が入力され、割込み要求信号
104−1は割込みコントローラ102の割込み優先順位レベ
ル3に、割込み要求信号104−2は割込み優先順位レベ
ル4に接続されているものとする。
マスクレジスタ119に111111112がプリセットされてい
る場合、つまり割込みコントローラ102の全ての割込み
要求信号がマスクされていない時には、不完全割込み以
外の正常な割込みについては割込みコントローラ102は
次のような8ビットのベクタを外部バス107を介してプ
ロセッサ101に発行する。正常な割込みの場合はI/O103
−1からの割込み要求104−1がアクティブになると、
割込みコントローラ102はINT信号105をアクティブにす
る。プロセッサ101がINT信号をサンプルしたあと2回の
割込み受付けバス・サイクルの1回めの割込み受付けバ
ス・サイクルを起動したときに割込みコントローラ102
への割込み要求信号が1つでもアクティブであれば110
が‘0'となるので、セレクタ112はレジスタ111の内容
(本例では111002)を選択する。またセレクタ117は優
先順位決定回路113の出力114を選択する。本例ではI/O1
03−1の割込み要求信号104−1は割込み優先順位レベ
ル3に接続されているので優先順位決定回路113の出力1
14は0112となっている。
第8図においてベクタ301は正常な割込みの(2回め
の)割込み受付けバスサイクルにたいして発行されるベ
クタである。ベクタ301の中の1202の部分はプロセッサ1
01からプリセットされる5ビットのアドレス情報(本例
では111002)である。ベクタの301の1203は3ビットの
優先順位レベル(本例では0112)に相当する。
マスクレジスタ119に111111112がプリセットされてい
る場合に不完全割込みが発生したときについて説明す
る。ここではI/O103−1の割込み要求信号104−1が不
完全割込みを発生し、I/O103−2の割込み要求信号104
−2はインアクティブであった場合について説明する。
第7図のタイミング・チャートに示すようにプロセッサ
101がタイミング201でアクティブなINT信号105をサンプ
ルしたことに起因して2回の割込み受付けバス・サイク
ルの1回めの割込み受付けバス・サイクルを起動したと
きに、割込みコントローラ102への割込み要求入力が全
てインアクィブであったときには、割込みコントローラ
102は次のような8ビットのベクタをプロセッサ101に対
して発行する。タイミング201でプロセッサ101がINT信
号をサンプルしたあと2回の割込み受付けバス・サイク
ルの1回めの割込み受付けバス・サイクルを起動する前
のタイミング202で割込みコントローラ102への割込み要
求信号が全てインアクティブであれば、タイミング202
以降は110が‘1'となる。本実施例においては、I/O103
−1の割込み要求信号104−1は割込みコントローラ102
の割込み優先順位レベル3に接続されているためタイミ
ング202までは優先順位決定回路113は0112を出力してい
るがタイミング202以降は不定の値を出力する。これに
対してレジスタ115では優先順位レベル3に接続されて
いる割込み要求信号104−1の立上りエッヂによりビッ
ト3のみがセットされ、タイミング202で優先順位レベ
ル3に接続されている割込み要求信号104−1がインア
クティブになったあとでも、優先順位レベル3に接続さ
れている割込み要求信号104−1の立上りエッヂがあっ
た事をレジスタ115のビット3が記憶しているため、割
込み要求信号104−1の立上りエッヂ以降の2回目の割
込み受付け信号の立ち下がりエッヂまではプライオリテ
ィー・エンコーダ116は0112を出力する。タイミング202
以降は110が‘1'であるのでセレクタ112はレジスタ109
の内容(本例では111012)を選択する。セレクタ117は
プライオリティー・エンコーダ116の出力(本例では011
2)を選択する。第8図においてベクタ302は正常な割込
みの(2回目の)割込み受付けバスサイクルにたいして
発行されるベクタである。
第9図に示すように、第8図をもとに本実施例におい
て正常な割込みに対するベクタ・アドレス1204は03800H
〜039C0Hの範囲内にあり、不完全割込みに対するベクタ
・アドレス1204は03A00H〜03BC0Hの範囲内にある。
マスクレジスタ119に111101112がプリセットされてい
る場合、つまりI/O103−1からの割込み要求信号104−
1のみがマスクされている時の動作について説明する。
割込み要求信号104−2がインアクティブであるときに1
04−1のみに‘短い’パルスが発生した場合は、マスク
レジスタ119により割込み要求104−1はマスクされてい
るためにINT信号は発生しないので、不完全割込みは発
生しない。
割込み要求信号104−1,104−2に同時に‘短い’パル
スが発生した場合には、104−1はマスクレジスタ119に
よりマスクされているため、上述のように104−1に発
生した‘短い’パルスは108,115では検出されない。104
−2はマスクされていないため、104−2に発生した
‘短い’パルスは108,115で検出され、104−2が接続さ
れている割込みレベル4にたいして前記の不完全割込み
処理を行う。つまり104−2に発生した‘短い’パルス
によりINT信号105がアクティブになり、プロセッサ101
から2つのパルスの割込み受付け信号106が発行された
ときに、2回目の割込み受付けバス・サイクルにたいし
て104−2の接続されている割込みレベル4の不完全割
込み用のベクタが発行される。
正常割込み処理時にマスクされている割込みレベル3
が不完全であることにより116のプライオリティ・エン
コードの誤動作、本例では割込みレベル4に接続されて
いる割込み要求信号104−2が不完全割込みであったこ
とが、優先順位の高い割込みレベル3に接続されている
割込み要求信号104−1の不完全割込みの発生により隠
されてしまうことを防止する。
本実施例においてはプロセッサ101は従来の割込み制
御方式を用いたまま、不完全割込みが発生しても正常な
割込みが発生しても、プロセッサ101は第14図に示すよ
うなフローで、INT信号をサンプルしたあと2回の割込
み受付けバス・サイクルを起動して、2回目の割込み受
付けバス・サイクルで取込んだベクタをもとにベクタテ
ーブルにアクセスして目的のベクタ・アドレスへ分岐す
る事が可能である。特に不完全割込みが発生した場合に
は、2回目の割込み受付けバス・サイクルにおいて割込
みコントローラ102から不完全割込み用のベクタが発行
され、不完全割込みを発生させた割込み要求レベルを区
別して第4図の不完全割込み用ベクタテーブルのなかの
該当するエントリへアクセスする。不完全割込み用ベク
タテーブルのなかの該当するエントリには、各割込みレ
ベルの不完全割込み処理ルーチンの先頭アドレスが格納
されている。
第13図は本発明の第4の実施例を示す図である。本第
4の実施例においては不完全割込み用のベクタ・テーブ
ルのエントリを決定するレジスタ801がプロセッサ101か
ら値を設定する事が可能になっている。これによりベク
タ・テーブルをメモリ内の任意の位置に置くことが可能
になり、システムを構築する際の柔軟性が増す。
〔発明の効果〕
以上説明してきたように本発明により、プロセッサが
割込みを受付けようとして割込み受付けバス・サイクル
を起動して割込みコントローラから得たベクタにより、
プロセッサはその割込みが不完全割込みであるか否かを
判定することができる。またどのレベルに不完全割込み
が発生していたかを従来の割込み処理方式と同等のベク
タ取込みタイミングで認識することができる。従ってプ
ロセッサは、割込み受付けから割込み処理ルーチンへの
分岐までの割込み応答の処理及びタイミングは従来の方
式と同等のままで、不完全割込みを発生させた割込み要
求元にたいして不完全割込み処理を行うことができる。
また従来の割込み処理方式の割込みコントローラが特
定の1つの割込み要求入力端子に対応する優先順位レベ
ルのサービス・ルーチンを不完全割込みが発生したとき
使用すると決めていたため、該割込み要求入力端子には
実質的にシステム内のI/O等からの割込み要求信号を接
続できなかったが、本発明により割込みコントローラの
すべての割込み要求入力端子にシステム内のI/O等から
の割込み要求信号を接続することができるという効果が
ある。
【図面の簡単な説明】
第1図はI/Oと本発明の第1実施例による割込みコント
ローラとプロセッサの接続関係を示す図、第2図は本実
施例の動作を説明するタイミング・チャート、第3図は
本実施例において割込みが発生したときプロセッサ101
が起動する連続した2回の割込み受付けバス・サイクル
中に割込みコントローラ102が出力する2つのベクタの
フォーマットを示す図、第4図は本実施例において使用
する割込みベクタ・テーブル、第5図は本発明の第2の
実施例を説明する図、第6図は本発明の第3の実施例を
示す図、第7図は本実施例の動作を説明するタイミング
・チャート、第8図は本実施例において割込みが発生し
たときプロセッサ101が起動する連続した2回の割込み
受付けバス・サイクル中に割込みコントローラ102が出
力する2つのベクタのフォーマットを示す図、第9図は
本実施例において使用する割込みベクタ・テーブル、第
10図はマスクレジスタ119の内容の例を示す図、第11図
は不完全割込み検出回路108の内部構成を示す図、第12
図はレジスタ115の内部の1ビット分(ビット3)の構
造を示す図、第13図は本発明の第4の実施例を説明する
図、第14図乃至第18図は夫々従来例を説明するための図
である。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置と割込みコントローラと複数
    の入出力バイアスとを有し、前記入出力デバイスからの
    割込み要求が前記割込みコントローラに入力され、前記
    割込みコントローラが前記複数の入出力デバイスからの
    割込み要求を調停して前記中央処理装置に割込み要求信
    号を出力し、前記中央処理装置が前記割込みコントロー
    ラからの該割込み受付けると前記割込みコントローラに
    たいして割込み受付けバス・サイクルを起動し、前記割
    込みコントローラは前記割込み受付けバス・サイクル中
    に前記中央処理装置にたいして割込みベクタを出力する
    情報処理システムにおいて、前記割込みコントローラ内
    部にあって前記中央処理装置から値を設定されるレジス
    タと、このレジスタの内容と異なる値を出力する第1の
    手段と、前記レジスタと前記第1の手段との出力を入力
    する第1の選択手段と、前記複数の入出力デバイスから
    のアクティブな割込み要求の優先順位を判断し最高優先
    順位の割込み要求レベルの値を出力する第2の手段と、
    前記入出力デバイスからの割込み要求の有無の情報を保
    持する保持手段と、この保持手段の出力を入力して優先
    順位を判断し最高優先順位の割込み要求レベルの値を出
    力する第3の手段と、前記第2および第3の手段の出力
    とを入力とする第2の選択手段と、前記割込みコントロ
    ーラ内部にあって前記入出力デバイスからの割込み要求
    が1つも無いことを検出する検出手段とを有し、前記中
    央処理装置が前記割込みコントローラからの割込み要求
    を受付けたあと割込み受付けバス・サイクルに対して、
    前記検出手段により前記第1および第2の選択手段が同
    時に制御されて、割込みベクタを前記レジスタの内容と
    前記第2の手段4の出力から生成するか、あるいは前記
    第1および第3の手段の出力から生成するかを選択する
    ことを特徴とする割込み処理装置。
  2. 【請求項2】請求項1の割込み処理装置において、前記
    割込みコントローラ内部にあって前記中央処理装置から
    値を設定される付加レジスタを有し、この付加レジスタ
    の内容により前記入出力デバイスからの割込み要求の優
    先順位を決定を制御する手段と、前記付加レジスタの内
    容により前記入出力デバイスからの割込み要求をマスク
    制御して前記検出手段へ入力する手段と、前記付加レジ
    スタの内容により前記保持手段の出力をマスク制御して
    前記第3の手段へ入力する手段とを有することを特徴と
    する割込み処理装置。
JP2340912A 1990-11-30 1990-11-30 割込み処理装置 Expired - Lifetime JP2990800B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2340912A JP2990800B2 (ja) 1990-11-30 1990-11-30 割込み処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2340912A JP2990800B2 (ja) 1990-11-30 1990-11-30 割込み処理装置

Publications (2)

Publication Number Publication Date
JPH04209058A JPH04209058A (ja) 1992-07-30
JP2990800B2 true JP2990800B2 (ja) 1999-12-13

Family

ID=18341450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2340912A Expired - Lifetime JP2990800B2 (ja) 1990-11-30 1990-11-30 割込み処理装置

Country Status (1)

Country Link
JP (1) JP2990800B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103000B1 (ko) * 2009-04-13 2012-01-05 주식회사 에너지 오션 다단계 연소방식에 의한 고형연료 연소장치
CN111045738B (zh) * 2019-11-29 2023-12-29 RealMe重庆移动通信有限公司 电子设备控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JPH04209058A (ja) 1992-07-30

Similar Documents

Publication Publication Date Title
KR940001273B1 (ko) 버스사이클을 제어하는 방법 및 마이크로컴퓨터
KR100588790B1 (ko) 데이터처리기에서의후속명령처리에작용하는방법및장치
US5053949A (en) No-chip debug peripheral which uses externally provided instructions to control a core processing unit
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
US5185864A (en) Interrupt handling for a computing system with logical devices and interrupt reset
US5717851A (en) Breakpoint detection circuit in a data processor and method therefor
US4630041A (en) Enhanced reliability interrupt control apparatus
US5319785A (en) Polling of I/O device status comparison performed in the polled I/O device
JPH0430053B2 (ja)
US5815733A (en) System for handling interrupts in a computer system using asic reset input line coupled to set of status circuits for presetting values in the status circuits
JPH0332818B2 (ja)
US5933613A (en) Computer system and inter-bus control circuit
JP2990800B2 (ja) 割込み処理装置
KR920002830B1 (ko) 다이렉트 메모리 액세스 제어장치
JPH08241199A (ja) データ処理システム
JPH08171504A (ja) エミュレ−ション装置
JPH09167117A (ja) マイクロコンピュータおよびこれを用いたリアルタイムシステム
JP2616542B2 (ja) 疑似障害発生システム
JPS61241833A (ja) 命令コ−ドアクセス制御装置
JPH05108476A (ja) 主記憶制御装置
JP2560312B2 (ja) 情報処理システム
JPS59123933A (ja) アドレス比較方式
KR0176075B1 (ko) 주변소자연결 버스 응답 장치
JPH04266147A (ja) バスアダプタ装置
JPH066358A (ja) トークン制御方法およびその装置