JPH11149382A - 情報処理装置及びマイクロプロセッサの割込み制御装置 - Google Patents

情報処理装置及びマイクロプロセッサの割込み制御装置

Info

Publication number
JPH11149382A
JPH11149382A JP31784397A JP31784397A JPH11149382A JP H11149382 A JPH11149382 A JP H11149382A JP 31784397 A JP31784397 A JP 31784397A JP 31784397 A JP31784397 A JP 31784397A JP H11149382 A JPH11149382 A JP H11149382A
Authority
JP
Japan
Prior art keywords
interrupt
priority
processing request
interrupt processing
microprocessor
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.)
Withdrawn
Application number
JP31784397A
Other languages
English (en)
Inventor
Takashi Nagumo
隆司 南雲
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 Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP31784397A priority Critical patent/JPH11149382A/ja
Publication of JPH11149382A publication Critical patent/JPH11149382A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 優先順位を割込みポートにフレキシブルに付
与することができ、且つ複数の割込み処理要求が競合し
た場合の調整が容易な情報処理装置を提供する。 【解決手段】 1つの割込みポート200及びその割込
みポートに固有の優先順位を記憶した優先順位レジスタ
103を有する複数の割込みコントローラ100と、複
数の割込みコントローラ100を相互に接続し、固有の
優先順位に関する情報等を伝達するアービトレーション
バス204とを有し、複数の割込みポート220〜22
7からの割込み処理要求が競合した場合に優先順位が最
も高い割込みポートからの割込み処理要求を優先的にM
PUに送出するようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、割込み機能付きの
マイクロプロセッサを用いた情報処理装置に係り、より
詳しくは、マイクロプロセッサへの外部周辺装置からの
割込み処理要求を制御する割込み制御装置に関する。
【0002】
【従来の技術】割込み機能付きのマイクロプロセッサを
使用した情報処理装置において、その内部処理手段や周
辺装置からの割込み処理要求を制御するための割込みコ
ントローラ(割込み制御装置)は従来からよく知られて
いる。図10は、従来のこの種の割込みコントローラ5
20を使用した情報処理装置のブロック構成図である。
【0003】この情報処理装置は、マイクロプロセッサ
(MPU)140、MPU140に直結されるマスタ
(Master)割込みコントローラ520、及びマス
タ割込みコントローラに接続される3つのスレーブ(S
lave0,1,2)割込みコントローラ520とを有
し、これらの割込みコントローラ520によって、全部
で29本の割込みポートを提供するようになっている。
【0004】図9を参照して、各割込みコントローラ5
20の内部の構成を説明する。割込みコントローラ52
0は、それぞれ下記の要素を含む。 (1−1)割込みポート(以下、必要に応じてIP端
子、IPn端子またはIPnn端子(nは数字)と称す
る)毎に設けられ割込みベクタの出力制御を行う割込み
ベクタ制御回路500、(1−2)IP0端子620〜
IP7端子627に対して割込み処理要求の優先順位を
付与する割込み処理要求優先回路521、(1−3)割
込み処理要求優先回路でのアービトレーション(調停、
以下同じ)に勝ち残った割込み処理要求を入力端子(以
下、INT端子と称する)628に出力する8入力OR
回路527、(1−4)割込みコントローラ520がマ
スタコントローラとして動作する場合にスレーブコント
ローラに与えるスレーブアドレスを生成するエンコーダ
回路528、(1−5)コントローラ520がマスタコ
ントローラの場合にスレーブアドレスを出力し、スレー
ブコントローラの場合にスレーブアドレスを受信するバ
ス(SA−BUS)630のトランシーバ529、(1
−6)スレーブコントローラの自己スレーブアドレスを
保持するスレーブアドレスレジスタ530、(1−7)
割込みコントローラ520がスレーブコントローラとし
て動作する場合にSA−BUS630の値とスレーブア
ドレスレジスタ530の値とを比較し、一致を判定する
コンパレータ531、(1−8)コンパレータ531の
結果を保持するマッチレジスタ533、(1−9)MP
U140が実行する割込みアクノリッジサイクルを検出
するアクノーレッジ検出回路(以下、INTAK検出回
路と称する)532、(1−10)割込みコントローラ
520をマスタコントローラとして使うか、スレーブコ
ントローラとして使うかを決定するマスタ/スレーブレ
ジスタ534、(1−11)MPU140からの割込み
終了コマンドを検出する割込み終了検出部535、(1
−12)割込み処理中を示す割込み処理中レジスタ53
6。
【0005】また、割込みベクタ制御回路500は、下
記の要素により構成される。 (2−1)自割込みポートIP600にスレーブコント
ローラが接続されているかを保持するスレーブ有/無レ
ジスタ502、(2−2)割込みコントローラ500が
マスタコントローラとして動作する場合にスレーブ有/
無レジスタの内容に応じて、また、割込みコントローラ
500がスレーブコントローラとして動作する場合にコ
ンパレータ531の出力に応じて、割込みベクタ出力を
制御するゲート制御回路503、(2−3)自割込みポ
ートの割込みベクタを保持する割込みベクタレジスタ5
04、(2−4)ゲート制御回路503に従って、割込
みベクタレジスタ504の内容をDATA端子606に
出力する3ステートゲート回路505。
【0006】以下、図9〜図11を参照して、従来の割
込みコントローラ520及び従来の割込みコントローラ
520を使用した情報処理装置の動作を説明する。この
情報処理装置に対する外部回路からの割込み処理要求
は、マスターの割込みコントローラ520の割込みポー
トに入力される。この場合、割込みコントローラ520
は、以下のようにして、MPU140に対する割込み処
理要求の優先制御を行う。図9の割込み優先制御回路5
21に入力される複数の外部回路からの割込み処理要求
は、割込みポートの数字が小さいポート(図9の例では
IP0端子が最も小さい)の割込み処理要求が、数字の
大きい割込みポート(図9の例ではIP7端子が最も大
きい)の割込み処理要求をマスクするようになってい
る。つまり、割込みポートの数字が小さいほど優先順位
が高いということになる。例えば、IP3端子623に
割込み処理要求が入力された場合、実際にINT端子6
28にこの割込み処理要求が出力されるのは、IP0端
子620〜IP2端子622に割込み処理要求が入って
いない場合に限られる。
【0007】これを図10の例で見た場合、29本ある
割込みポートのうち、IP00端子640の優先順位が
最も高く、逆にIP7端子677の優先順位が最も低
い。特に、スレーブの割込みコントローラ520は、マ
スタの割込みコントローラ520の1つの割込みポート
にぶら下がり、マスタ割込みコントローラ520の配下
となる。このように、各割込みポートの優先順位は、そ
のポートの物理的な位置によって固定的に決定されるこ
とになる。前述のような割込み優先制御の結果、INT
端子を通じてMPU140に割込み処理要求が伝達され
ると、MPU140は、それまで行っていた処理(メイ
ンルーチン)を中断し、割込みアクノリッジを各割込み
コントローラ520に通知し、割込みが許可された割込
みポートが持つ割込みベクタを読み込んで割込み処理を
開始する。
【0008】次に、割込みアクノリッジが通知された割
込みコントローラ520の動作について説明する。図1
0の割込みポートのIP00端子640からIP40端
子644は、すべてマスタの割込みコントローラ520
に直結されている。また、IP50端子650〜IP5
7端子657はSlave0の割込みコントローラ52
0を介して、IP60端子660〜IP67端子667
はslave1の割込みコントローラを介して、IP7
0端子670〜IP77端子677はslave2の割
込みコントローラを介して、それぞれマスタの割込みコ
ントローラ520に接続されている。
【0009】ここで、注目すべき点は、このような従来
技術においては、割込みコントローラ520の接続方法
の違いにより、各割込みコントローラ520の動作に違
いが生じるということである。この点を説明する。ま
ず、マスタの割込みコントローラ520に直接接続され
た割込みポート(IP00〜IP40)に割込み処理要
求が生じた場合について説明する。割込み処理要求を受
信したMPU140は、割込みアクノリッジを2回起動
し、それぞれINTAK信号631として割込みコント
ローラ520に入力する。マスタの割込みコントローラ
520は、割込みアクノリッジの1回目を無視し、割込
みアクノリッジの2回目において、割込みベクタ制御回
路500内のIP端子600(=1(要求あり))、ス
レーブ有/無レジスタ502(=0(スレーブ無、コン
トローラに直結))、MASTER端子603(=1
(コントローラのマスタ指定))の条件が成立するの
で、その3ステートゲート回路505を開き、自割込み
ベクタ(割込みベクタレジスタ504の値)をDATA
端子606に出力する。このとき、マスタの割込みコン
トローラ520の割込みレジスタ535の対応するビッ
トに、自割込み処理中を示すフラグをたてる。その後、
MPU140は、この割込みベクタを受け取り、その割
込みベクタで指示される割込み処理に移行する。
【0010】次に、slaveの割込みコントローラ5
20に接続された割込みポートに割込み処理要求が発生
した場合の、マスタの割込みコントローラ520の動作
について説明する。マスタの割込みコントローラ520
は、割込み処理要求優先回路521での優先判定の結果
をエンコーダ回路528、SA−BUSトランシーバ5
29を通じて、SA−BUS端子630に出力する。エ
ンコーダ回路は、INT00が“1”ならば“000”
(2進数)を出力し、以下、順にINT01が“1”な
らば“001”、INT07が“1”ならば“111”
となる。MPU140による割込みアクノリッジの1回
目は、マスタ割込みコントローラ520によって無視さ
れ、割込みアクノリッジの2回目も割込みベクタ制御回
路500内のスレーブ有/無レジスタ502(=1(ス
レーブ有))、MASTER端子603(=1)の条件
が成立するので、マスタ割込みコントローラ520は、
3ステートゲート回路505を開けることができず、そ
の割込みベクタは、出力されない。このとき、マスタの
割込みコントローラ520は、その割込み処理中レジス
タ535の対応するビットに処理中のフラグをたてる。
【0011】この場合のスレーブの割込みコントローラ
520の動作を説明する。スレーブの割込みコントロー
ラ520は、割込みアクノリッジの1回目に、SA−B
US端子630上のスリーブアドレスとスリーブアドレ
スレジスタ530の値とを比較し、比較結果をマッチレ
ジスタ533に保持する。それらが一致していれば、自
コントローラが割込みの権利を獲得したと判断する。割
込みアクノリッジの2回目が入力されると、スレーブの
割込みコントローラ520において、割込みベクタ制御
回路500内のIP端子600(=1(要求有り))、
MASTER端子603(=0(コントローラのスレー
ブ指定))、SAMACH端子604(=1(スレーブ
アドレスの一致))が成立するので、その3ステートゲ
ート回路505を開き、自割込みのベクタ(割込みベク
タレジスタ504の値)をDATA端子606に出力す
る。このとき、スレーブの割込みコントローラ520の
割込み処理中のレジスタ535の対応するビットに処理
中のフラグをたてる。MPU140は、この割込みベク
タを受け取り、その割込みベクタで示される割込み処理
に移行する。よって、スレーブ割込みコントローラ52
0からの割込みは、マスタ側、スレーブ側各々の割込み
処理レジスタ535のビットに処理中のフラグが立つこ
とになる。
【0012】割込み処理が終了する際には、MPU14
0から割込みコントローラ520に対して割込み終了コ
マンドを発行する。このとき、マスタの割込みコントロ
ーラ520からの割込み処理に対しては、マスタの割込
みコントローラ520に対してのみ当該コマンドを発行
すればよい。また、スレーブの割込み処理に対しては、
該当するスレーブの割込みコントローラ520に対して
終了コマンドを発行するとともに、マスタの割込みコン
トローラ520に対しても終了コマンドを発行する必要
がある。これは、前述のようにマスタ側、スレーブ側の
各々の割込み処理レジスタ535の対応ビットに処理中
のフラグが立っているためである。この終了コマンドの
発行により、各割込みコントローラ520の処理中フラ
グが消え、より下位レベルの優先順位をもつ割込みポー
トにも割込みを要求する権利が与えられる。
【0013】図11は、図10のIP53端子653と
IP77端子677の割込み処理要求が競合したときの
情報処理装置の動作を示すタイムチャートである。とこ
ろで、この情報処理装置における、ある割込みの処理中
に、処理中の割込みよりも優先順位の高い割込みポート
に対して割込み処理要求が発生したとする。この場合、
情報処理装置は、現在の割込み処理を中断して新たに優
先順位の高い割込み処理を行う。このことを、割込みの
多重化という。この多重化が許可されるのは、図9の割
込み処理要求優先回路520から判るように、処理中の
優先順位よりも、新たに要求された割込みポートの優先
順位が高い場合に限られる。
【0014】この新たな割込み処理要求に対しても、M
PU140は割込みアクノリッジを起動してくるので、
通常の割込み動作と同様の処理を各割込みコントローラ
520は行う。ここで、上位レベルの割込みを受けた、
つまり処理の権限を譲った割込みコントローラ520
は、その割込み処理中レジスタ535の対応ビットに上
位割込み処理中のフラグを追加してたてる。なお、この
時点では、以前の自割込み処理中のフラグも残ってい
る。この新たな上位レベルの割込みの処理が終了する
と、中断されていた割込みの処理が再開されるが、その
前にMPU140から該当する割込みコントローラ52
0に対して割込み終了コマンドを発行する。このコマン
ドを受け取った割込みコントローラ520は、割込み処
理中レジスタ535中でフラグの立っている一番優先順
位の高いビットのフラグをクリアする。これにより、割
込み処理中レジスタ535の値も、多重化される前の状
態に戻る。
【0015】
【発明が解決しようとする課題】以上説明したような割
込みコントローラ520を使用した情報処理装置では、
割込みポートの物理的な位置によって、そのポートの優
先順位が一意に決定され、固定されてしまうという問題
がある。このため、ある特定のアプリケーションのみに
おいて情報処理装置が使用される場合には特に問題がな
いが、様々なアプリケーションに情報処理装置が対応し
なければならない場合には、割込みポートの番号によっ
て割込みの優先順位が固定されていては柔軟性に欠け、
異なったアプリケーションの要求にフレキシブルに対応
することは困難となる。特に、スレーブ側の割込みコン
トローラ520の割込みポートの優先順位は、マスタ側
の割込みコントローラ520の1つの割込みポートにぶ
ら下がる形となっているので、スレーブ側の割込みポー
ト520の優先順位は相対的に低いままとなる。
【0016】一方、従来の割込みコントローラが割込み
処理の終了に際して発行する割込み終了コマンドは、ス
レーブ側の割込みポートの割込み処理終了時には、該当
するスレーブの割込みコントローラ520とマスタの割
込みコントローラ520の両方に報知する必要があり、
また多重化割込みが発生した際には、その処理終了時に
は、該当する割込みコントローラ520以外に終了コマ
ンドを発行しては、その後の割込み制御の内容が変化し
てしまうため、ソフトウェアによる別処理が必要とな
る。この結果、割込み終了に対する処理量が増加し、割
込み処理要求に対する応答性が悪くなるという問題があ
った。
【0017】そこで本発明の課題は、マイクロプロセッ
サに対する割込み処理要求の優先順位をフレキシブルに
変更することができ、且つ複数の割込み処理要求が競合
したときの調整が容易な、改良された情報情報処理装置
を提供することにある。本発明の他の課題は、上記情報
情報処理装置に用いられる、改良された割込み制御装置
を提供することにある。
【0018】
【課題を解決するための手段】上記課題を解決する本発
明の情報処理装置は、割込み処理要求に対する処理を実
行するマイクロプロセッサと、それぞれ前記割込み処理
要求を受け付ける複数の割込みポートの各々に随時変更
可能な優先順位を付与する順位付与手段と、前記複数の
割込みポートからの割込み処理要求が競合した場合に、
競合した割込み処理要求を受け付けた割込みポートに付
与されている優先順位の情報を取得して調停を行い、調
停期間中に最も高い優先順位が付与されている割込みポ
ートからの割込み処理要求を優先的に前記マイクロプロ
セッサへ送出する割込み制御手段とを有することを特徴
とする。
【0019】前記割込み制御手段は、例えば、前記マイ
クロプロセッサによる割込み処理の実行中に、他の割込
みポートがより高い優先順位が付与された新たな割込み
処理要求を多重に受け付けた場合、処理実行中の割込み
処理要求の優先順位を所定のメモリ手段に一時的に記憶
するとともに新たな割込み処理要求を前記マイクロプロ
セッサに送出し、この送出した割込み処理要求に対する
処理が終了した時点での割込み処理要求の優先順位と前
記一時的に記憶した優先順位とを比較して、両者が一致
する場合に前記実行中の割込み処理に復帰させるように
構成する。
【0020】本発明の他の情報処理装置は、割込み処理
要求に対する処理を実行するマイクロプロセッサと、そ
れぞれ1つ以上の割込みポート及びその割込みポートに
付与された随時変更可能な優先順位を記憶したレジスタ
を有する複数の割込み制御装置と、前記複数の割込み制
御装置を接続して割込み処理要求を受け付けた割込みポ
ートの優先順位に関する情報と割込み処理終了の情報と
を共用させるとともに、前記複数の割込み制御装置で受
け付けた割込み処理要求が競合した場合に、競合した割
付処理要求を受け付けた装置間でレジスタに記憶されて
いる優先順位を比較して比較時点で最も優先順位の高い
割込みポートを有する割込み制御装置に当該割付ポート
で受け付けた割込み処理要求を前記マイクロプロセッサ
へ送出させる調停手段と、を有することを特徴とする。
【0021】また、上記他の課題を解決する割込み制御
装置は、割込み処理要求に対する処理を実行するマイク
ロプロセッサに対する割込み制御を行う装置であって、
それぞれ前記割込み処理要求を受け付ける複数の割込み
ポートに付与された随時変更可能な優先順位を記憶する
レジスタと、複数の割込みポートで受け付けた割込み処
理要求が競合したときに前記レジスタの記憶情報に基づ
いて各割込み処理要求の調停を行い、調停結果が肯定的
となった割込み処理要求を優先的に前記マイクロプロセ
ッサに送出する割込み制御手段とを有することを特徴と
する。
【0022】本発明の他の割込み制御装置は、前記割込
み処理要求を受け付ける割込みポートに付与された随時
変更可能な優先順位を記憶するレジスタと、前記マイク
ロプロセッサを共用する他装置との間で前記優先順位に
関する情報及び前記マイクロプロセッサからの割込み処
理終了の情報の相互利用を可能にする伝達手段と、自装
置の割込みポートで受け付けた割込み処理要求が他装置
の割込み処理要求と競合したときに前記伝達手段を通じ
て他装置の優先順位を取得し前記レジスタに記憶されて
いる優先順位が前記取得した優先順位より高いときは自
装置で受け付けた割込み処理要求を前記マイクロプロセ
ッサに送出する調停手段とを有することを特徴とする。
【0023】前記調停手段は、前記割込み処理要求を発
した装置がアイドル状態になったときに前記当該割込み
処理要求の優先順位を他の優先順位と比較するように構
成される。また、前記レジスタに記憶されている優先順
位が少なくとも前記他装置の優先順位と同位になるまで
前記割込み処理要求の送出を自律的に休止する。
【0024】
【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。図1は、本発明の割込み制御装置を適用し
た割込みコントローラの一実施形態を示す構成図であ
る。
【0025】本実施形態の割込みコントローラ100
は、以下の構成要素から成る。 (1)IP端子200、(2)図示しない外部回路から
IP端子200に入力される割込み処理要求と2つの内
部信号(EXECUTE,UPPER)とを受信して図
示しないMPUに対する割込み処理要求をINT0端子
に出力する割込み処理要求ゲート101、(3)バーI
NTAK端子202に入力されるMPUからの割込みア
クノリッジを検出する割込みアクノリッジ検出部10
2、(4)割込みベクタを保持する割込みベクタレジス
タ103、(5)割込みアクノリッジ検出部102の出
力及び上記2つの内部信号に応じて割込みベクタの出力
ゲート制御を行う割込みベクタ制御回路104、(6)
割込みベクタ制御回路104の出力に応じて割込みベク
タレジスタの内容をDATA端子203に出力する3ス
テートゲート105、(7)自己の優先順位を保持する
割込みレベルレジスタ106、(8)割込みアクノリッ
ジ検出回路102の出力、上記2つの内部信号、及びア
ービトレーション制御回路110の出力に応じて割込み
レベルレジスタ106の出力制御を行うABT−BUS
制御回路107、(9)ABT−BUS制御回路107
の出力に応じて割込みレベルレジスタの内容をABT−
BUS204に出力し、且つABT−BUS204の状
態を割込みコントローラ100内部に取り込むABT−
BUSトランシーバ108、(10)ABT−BUS2
04の値と割込みレベルレジスタ103の値とをビット
単位に最上位から比較し、一致/不一致を出力するアー
ビトレーション比較器109、(11)アービトレーシ
ョン比較器109の出力及び他の内部信号に応じてアー
ビトレーション動作を実行するアービトレーション制御
部110、(12)ABT−BUS204の値と割込み
レベルレジスタ106の値とを比較し、前者の値が小さ
い(優先順位が高い)ことを判定する上位レベル比較器
111、(13)上位割込み処理中を検出する上位割込
み実行検出部112、(14)割込みコントローラ10
0がアイドル(IDLE)状態のときに最初の上位割込
み処理の割込みレベルを保持する上位レベルレジスタ1
13、(15)ABT−BUS204の値と上位レベル
レジスタ113の値とを比較する上位実行レベル比較器
114、(16)ABT−BUS204の値と割込みレ
ベルレジスタ106の値とを比較する自割込みレベル比
較器115、(17)自割込みレベル比較器115の出
力に応じて自割込み処理中を検出する自割込み実行検出
部116。
【0026】また、割込み終了コマンドが入力されるI
NTend端子205は、上位割込み実行検出部112
及び自割込み実行検出部116に接続され、クロック信
号が入力されるCLK端子206は、上位割込み検出部
112、自割込み検出部116、アービトレーション制
御部110にそれぞれ接続されている。
【0027】このように構成される本実施形態の割込み
コントローラ100は、割込みポートを1つしか持たな
い点で複数の割込みポートを持つ従来の割込みコントロ
ーラ520よりも割込みポート数は少ないが、柔軟な割
込み制御を行うことができる点で、単なる割込みベクタ
制御を行う従来の割込みコントローラ520よりも動作
の自由度は高い。
【0028】図2は、上記割込みコントローラ100を
8個用いて8ポートの割込み制御アレイを構成した場合
の例を示したものである。この割込み制御アレイは、従
来の割込みコントローラ520に相当するもので、独立
した割込みコントローラ100を8回路並列に接続し、
各割込みコントローラ100のINT0端子の出力を8
入力ORゲート回路121で一つにまとめ、その出力が
INT端子228から外部に出力されるようになってい
る。
【0029】図2において、バーINTAK入力、IN
Tend入力、CLK入力、DATA線、ABT−BU
Sは、各割込みコントローラ100に接続され、各割込
みコントローラ100はそれぞれ個別にIP端子を持っ
ている。図3は、上記割込み制御アレイを使用した情報
処理装置の構成例をブロック図で示したものである。本
例では、MPU140に割込み制御アレイ120を4個
接続し、便宜上、従来型装置と同様、割込みポート数を
29個としている。また、割込み終了コマンドを生成す
るデコーダ回路142を備えている。
【0030】この情報処理装置の動作を説明する前に、
まず、図1に戻って割込みコントローラ100の動作を
説明する。割込みコントローラ100の上位割込み実行
検出部112の上位割込み処理中フラグ(以下、UPP
ERという。UPPER=1で処理中を示す。)及び自
割込み実行検出部116の自割込み処理中フラグ(以
下、EXECUTEという。EXECUTE=1で処理
中を示す。)が共にたっていないアイドル状態(UPP
ER=0,EXECUTE=0)のとき、IP端子20
0に入力された割込み処理要求は、割込み処理要求ゲー
ト101を通過し、INT0端子201に出力され、M
PUに割込み処理要求として通知される。このときの上
位割込み実行検出部112及び自割込み実行検出部11
6の動作については後述する。
【0031】この割込み処理要求により、MPUは、そ
れまでの処理、すなわちメインルーチン又は下位レベル
の割込み処理を中断して、新たに割込み処理を実行する
ため割込みアクノリッジサイクルを起動し、バーINT
AK信号を出力する。この割込みアクノリッジサイクル
は2回連続起動され、1回目のサイクルにおいて各割込
みポート間のアービトレーションを実行し、割込み処理
の権利を最も高い優先順位を有する割込みポートに与え
る。2回目のサイクルにおいて、MPUは、その割込み
処理の権利が与えられた割込みポートが接続された割込
みコントローラから割込みベクタを読みとる。
【0032】続いて、本発明の割込みコントローラの一
つの特徴である割込みポートのアービトレーション処理
について、図1から図4を参照して説明する。図4を参
照して、図示しない外部の周辺装置からIP端子200
に割込み処理要求が入力されると(ステップS00)、
割込みコントローラ100は、その内部状態がアイドル
状態であるか否かをチェックする(ステップS01)。
内部状態がアイドル状態でない場合には、割込みコント
ローラ100はその内部状態がアイドル状態になるまで
待機する(ステップS01:No)。内部状態がアイド
ル状態の場合は(ステップS01:Yes)、INT0端
子201に割込み処理要求を出力する(ステップS0
2)。
【0033】割込み処理要求を受け取ったMPUによる
割込みアクノリッジサイクルの1回目が開始されると、
割込みコントローラ100は、ABT−BUSトランシ
ーバ108の出力ゲートを開け、外部クロック信号に同
期してABT−BUS204上にその割込みレベルレジ
スタの値を出力する(ステップS04)。このABT−
BUSトランシーバ108の出力は、信号“1”(=H
i−Z)、信号“0”(=Low)となるオープンコレ
クタ出力であり、ABT−BUS204上にプルアップ
抵抗を必要とする。同一のABT−BUS204に接続
された他の割込みコントローラ100の割込みポートの
いずれかにおいても別個に割込み処理要求が存在する場
合には、それらの割込みコントローラもそれぞれが持つ
固有の優先順位(優先順位レジスタ106の値)をAB
T−BUS204に出力する。
【0034】一定時間、例えば1クロックサイクル後、
アービトレーションビット比較器109がクロック信号
と同期してABT−BUS204の値と自己の割込みレ
ベルレジスタ106の値とを最上位ビットから最下位ビ
ットまで1ビット毎に半クロック間隔で比較する(ステ
ップS05,S06)。ここでABT−BUS204上
において、信号“1”はHi−Zなので、ABT−BU
S204に接続された他の割込みコントローラ100が
信号“0”を出力している場合には図1の信号(A)及
び信号(B)は、不一致と判定される。この比較過程に
おいて、あるビット位置において不一致が発見された場
合に、アービトレーション制御部110は、自分よりも
優先順位の高い割込みポートと割込み処理要求が競合し
たと判断し(アービトレーション負け)、次のビットを
比較することなしに、ABT−BUSトランシーバ10
8の出力ゲートを閉じる(ステップS07)。
【0035】このようにして、各ビット位置につき比較
を継続して行い(ステップS05,S06,S08,S
09)、最下位ビットまで一致が確認された場合(アー
ビトレーション勝ち)には、アービトレーション制御部
110は、自己が割込み処理の権利を獲得したと判断す
る(ステップS10)。つまり、割込み処理の権利を獲
得した割込みコントローラ100は、同時に割込み処理
要求を行った割込みコントローラ100の中で最も小さ
い割込みレベルの値をもっていたということになる。
【0036】割込み処理の権利を獲得した割込みコント
ローラ100は、アービトレーションサイクルの終了を
待って、自割込みレベル比較器115の出力(一致を示
す)を自割込み実行検出部116に送り、自割込み処理
中フラグをたてる(EXECUTE=1,ステップS1
0)。このようにして、割込みアクノリッジサイクルの
一回目が終了する(ステップS11)。
【0037】一方、アービトレーション負けの割込みコ
ントローラ100は、アービトレーションサイクルの終
了を待って、そのときのABT−BUS204の値を上
位レベルレジスタ113に保持するとともに、上位レベ
ル比較器111の判定結果(ABT−BUS端子の値の
方が小さい)を上位割込み実行検出部112に出力し、
上位割込み処理中フラグをたてる(UPPER=1,ス
テップS12)。このアービトレーション負けの割込み
コントローラ100は、内部状態が再びアイドル状態に
なるまで割込み処理要求アービトレーションには参加で
きない(ステップS01)。アービトレーション負けの
割込みコントローラ100が再びアイドル状態に戻るた
めの条件については後述する。
【0038】上記のアービトレーション処理につき、図
1の割込みコントローラ100の各内部信号の状態を、
動作タイムチャートとして示したのが図6及び図7であ
る。図6は、アービトレーション処理において他の割込
みポートとの競合が生じていない場合を示し、期間T1
が割込みアクノリッジサイクル1回目(アービトレーシ
ョンサイクル)であり、T11が要求受け付け期間、T
12が各ポートの割込みレベル比較期間、T13が比較
結果判定期間である。一方、図7は、アービトレーショ
ン処理において他の割込みポートとの競合が生じた場合
を示し、図6と同様に、期間T1(クロックサイクルt
41からt46)が割込みアクノリッジサイクル1回目
(アービトレーションサイクル)であり、3つの割込み
ポートIP00、IP53及びIP77が競合した結
果、割込みポートIP77が勝ち残っている。
【0039】アービトレーションに勝った割込みコント
ローラ100は、割込みアクノリッジサイクルの2回目
が起動されると、割込みベクタゲート105を開き、割
込みベクタレジスタ103の値をDATA端子203に
出力する。MPUはDATA端子203に出力された割
込みベクタを受信し、最も優先順位の高い割込み処理へ
と移行する。
【0040】この割込みベクタの出力は、図6及び図7
の期間T2(図6のクロックサイクルt10〜t13、
図7のクロックサイクルt47〜t50)において示さ
れている。この後、アービトレーションに勝った割込み
コントローラ100は、この後、MPUからの割込み終
了コマンドがINTend端子205に入力されるま
で、自割込みレベルレジスタの値をABT−BUS20
4に出力し続ける。
【0041】割込み処理が終了すると、MPUは、各割
込みコントローラ100に対して同報化された割込み終
了コマンドを発行する。INTend端子205で割込
み終了コマンドを受信したそれまで割込みを行っていた
割込みコントローラ100は、内部のEXECUTEフ
ラグを“0”に設定し、アイドル状態に復帰するととも
に、自割込みレベルレジスタの値をABT−BUS20
4に出力することを停止する。この割込み終了の処理
は、図6のクロックサイクルt30及びt31において
示される。
【0042】一方、アービトレーションに負けた、より
下位レベルの割込みコントローラ100は、アービトレ
ーションに勝った、より上位レベルの割込みコントロー
ラ100の割込み処理について終了コマンドが発行され
たときに、その上位レベルレジスタ113の値とABT
−BUS204の値とを上位実行レベル比較器114に
よって比較し、それらが一致した場合にはUPPERフ
ラグを“0”とし、アイドル状態に復帰する。これによ
って、再び割込み処理要求を行うことが可能となる。一
方、それらが一致しない場合には、まだ自割込みレベル
よりも上位の割込み処理が行われていると判断する。
【0043】次に、割込みコントローラ100の多重割
込み制御及び割込み終了コマンドの同報化処理につい
て、図1、図5を参照して説明する。図5は、割込みコ
ントローラ100の内部状態を示す状態遷移図である。
【0044】ある割込みコントローラ100がアイドル
状態(EXECUTE=0,UPPER=0)にあると
き(S20)、MPUはメインルーチン処理又は下位レ
ベルの割込み処理を行っていると判断される。このと
き、この割込みコントローラ100は、割込み処理要求
レベルよりも下位のレベルの割込み処理が発生しても内
部状態は変化させず、アイドル状態(S28)を保つ。
【0045】次に、自分の割込み処理要求レベルよりも
上位レベルの割込み処理要求が発生すると(ステップS
29)、上位割込みフラグUPPERを“1”に設定し
て、上位割込み処理中(S30)となる。上位割込みフ
ラグUPPERが“0”から“1”に変化する際に、割
込みコントローラ100は、ABT−BUS204に出
力されている上位レベルの値(アービトレーション終了
直後の値)を、上位レベルレジスタ113に保持する。
上位割込み処理中(S30)において、さらに上位レベ
ルの割込みが発生しても(S32)、その状態は変化し
ない。
【0046】上位割込み処理中状態(S30)におい
て、ある上位割込み処理が終了し、割込み終了コマンド
がMPUから発行されると、割込みコントローラ100
は、そのときのABT−BUS204の値(現在処理中
の割込みレベル)と上位レベルレジスタ113の値(U
PPERフラグが“0”から“1”になるときの割込み
レベル)とを比較し、それらが不一致であれば(ステッ
プS32)そのままの状態(S30)を保ち、逆にそれ
らが一致すれば(S31)、その割込みコントローラ自
身がアイドル状態にあったときに発生した上位割込みが
終了したと判断し、UPPERフラグを“0”にしてア
イドル状態(S20)に戻る。
【0047】一方、アイドル状態(S20)において、
自割込みが発生し、且つアービトレーションに勝つと
(S21)、EXECUTEフラグを“1”として、自
割込み処理中状態(S22)に移る。この自割込み処理
中に(S22)、上位レベルのポートからの割込み処理
要求なしで自割込み処理が終了した場合は、MPUから
の割込み終了コマンドに応じて(S23)、EXECU
TEフラグを“0”に戻してアイドル状態(S20)に
戻る。しかし、自割込み処理中(S22)に上位レベル
からの割込み処理要求があると(S24)、多重割込み
となり、その上位レベルのポートに割込み処理の権利を
奪われる。
【0048】ここで、割込みコントローラ100は、U
PPERフラグを“1”に設定して多重化(上位割込み
処理中)状態となる(S25)。このとき、割込みコン
トローラ100は、UPPERフラグが“0”から
“1”に変化する際に、ABT−BUS204に出力さ
れている上位レベルの値(現在処理中の割込みレベルを
示すアービトレーション終了直後の値)を上位レベルレ
ジスタ113に保持する。この多重化状態において、さ
らに上位レベルの割込みが発生しても(S27)、多重
化状態は変化しない(S25)。
【0049】一方、多重化状態において、ある上位の割
込み処理が終了し、割込み終了コマンドが発行される
と、そのときのABT−BUS204の値(現実行中の
割込みレベル)と上位レベルレジスタ113の値(UP
PERフラグが0から1になったときの割込みレベル)
とを比較する。不一致であれば(S27)、さらに上位
のレベルの割込み(S27)が終了したものと判断し、
そのままの状態を保つ(S25)。また、一致すれば
(S26)、自割込み処理中に多重化をした割込み処理
(S24)の終了と判断され、UPPERフラグを
“0”にして、ABT−BUS204上に自己の優先順
位を出力し、中断されていた自割込み処理(S22)を
再開する。再開された自割込みが終了して、割込み終了
コマンドがMPUから発行されると(S23)、割込み
コントローラ100は、EXECUTEフラグを“0”
にして、アイドル状態(S20)に戻る。割込みが多重
化される場合の、割込みコントローラ100の内部信号
の変化を図8に示す。図5に示す各状態を遷移すること
により、割込みコントローラ100は、多重化割込み制
御と割込み終了コマンドの同報化処理とを実現してい
る。
【0050】すでに説明したように、この割込みコント
ローラ100を並列に8個接続し、8ポートの割込み制
御を可能としたものが図2に示される割込み制御アレイ
120であり、また4個の割込み制御アレイ120とM
PU140とを接続して割込み処理を可能とした情報処
理装置を構成した例を示したのが図3である。
【0051】ここで、図3では、従来の割込みコントロ
ーラ520(図10)と同様に、1つの割込み制御アレ
イ120(INTC0)の割込みポートに3つの割込み
制御アレイ120(INTC1〜INTC3)がそれぞ
れぶら下がる形となっているが、各割込みポート(IP
00〜IP77)の優先順位は、各割込みコントローラ
100の割込みレベルレジスタに固有のレベルを与える
ことによって任意に定めることができるので、従来のよ
うに、マスタ・スレーブの関係にはなく、その物理的な
位置には制約されない。また、各割込み制御アレイ12
0の接続の形態も図3の例に限定されるものではない。
【0052】
【発明の効果】以上の説明から明らかなように、本発明
の割込み制御装置を用いることによって、フレキシブル
な割込み処理が可能となり、多様なアプリケーションに
対して効率よく対処することが可能となる。また、多重
化割込みの際の終了処理が単純化されるので、従来のよ
うにソフトウェアによる別処理が不要になり、割込み処
理要求に対する応答性が向上する。さらに、調停手段を
構成するアービトレーションバスのビット幅を拡張する
ことにより、割込みポートの数を容易に増やすことがで
きるという利点もある。この場合、アービトレーション
バスのビット幅をxとすると、制御可能な割込みポート
の数は2のx乗個、設定可能な割込みレベルは2のx乗
−1レベルとなる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る割込みコントローラ
の構成図。
【図2】本実施形態の割込みコントローラを複数用いた
割込み制御アレイの構成図。
【図3】本実施形態の割込みコントローラを使用した情
報処理装置の構成図。
【図4】本実施形態の割込みコントローラによるアービ
トレーション処理の説明図。
【図5】本実施形態の割込みコントローラの内部状態の
変化を示した状態遷移図。
【図6】割込みの競合がない場合の割込みコントローラ
の動作説明図。
【図7】割込みの競合がある場合の割込みコントローラ
の動作説明図。
【図8】割込みの多重化がある場合の割込みコントロー
ラの動作説明図。
【図9】従来の割込みコントローラを示す構成図。
【図10】従来の割込みコントローラを用いた情報処理
装置の構成図。
【図11】従来の割込みコントローラの動作説明図。
【符号の説明】
100 割込みコントローラ 102 割込みアクノリッジ検出部 103 割込みベクタレジスタ 106 優先順位(レベル)レジスタ 108 ABT−BUSトランシーバ 109 ビット比較器 110 アービトレーション制御部 111 上位レベル比較器 112 上位割込み実行検出部 113 上位レベルレジスタ 114 上位実行レベル比較器 115 自割込みレベル比較器 116 自割込み実行検出器

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 割込み処理要求に対する処理を実行する
    マイクロプロセッサと、 それぞれ前記割込み処理要求を受け付ける複数の割込み
    ポートの各々に随時変更可能な優先順位を付与する順位
    付与手段と、 前記複数の割込みポートからの割込み処理要求が競合し
    た場合に、競合した割込み処理要求を受け付けた割込み
    ポートに付与されている優先順位の情報を取得して調停
    を行い、調停期間中に最も高い優先順位が付与されてい
    る割込みポートからの割込み処理要求を優先的に前記マ
    イクロプロセッサへ送出する割込み制御手段と、 を有することを特徴とする情報処理装置。
  2. 【請求項2】 前記割込み制御手段は、前記マイクロプ
    ロセッサによる割込み処理の実行中に、他の割込みポー
    トがより高い優先順位が付与された新たな割込み処理要
    求を多重に受け付けた場合、処理実行中の割込み処理要
    求の優先順位を所定のメモリ手段に一時的に記憶すると
    ともに新たな割込み処理要求を前記マイクロプロセッサ
    に送出し、この送出した割込み処理要求に対する処理が
    終了した時点での割込み処理要求の優先順位と前記一時
    的に記憶した優先順位とを比較して、両者が一致する場
    合に前記実行中の割込み処理に復帰させるように構成さ
    れていることを特徴とする請求項1記載の情報処理装
    置。
  3. 【請求項3】 割込み処理要求に対する処理を実行する
    マイクロプロセッサと、 それぞれ1つ以上の割込みポート及びその割込みポート
    に付与された随時変更可能な優先順位を記憶したレジス
    タを有する複数の割込み制御装置と、 前記複数の割込み制御装置を接続して割込み処理要求を
    受け付けた割込みポートの優先順位に関する情報と前記
    マイクロプロセッサからの割込み処理終了の情報とを共
    用させるとともに、前記複数の割込み制御装置で受け付
    けた割込み処理要求が競合した場合に、競合した割付処
    理要求を受け付けた装置間でレジスタに記憶されている
    優先順位を比較して比較時点で最も優先順位の高い割込
    みポートを有する割込み制御装置に当該割付ポートで受
    け付けた割込み処理要求を前記マイクロプロセッサへ送
    出させる調停手段と、 を有することを特徴とする情報処理装置。
  4. 【請求項4】 割込み処理要求に対する処理を実行する
    マイクロプロセッサに対する割込み制御を行う装置であ
    って、 それぞれ前記割込み処理要求を受け付ける複数の割込み
    ポートに付与された随時変更可能な優先順位を記憶する
    レジスタと、 複数の割込みポートで受け付けた割込み処理要求が競合
    したときに前記レジスタの記憶情報に基づいて各割込み
    処理要求の調停を行い、調停結果が肯定的となった割込
    み処理要求を優先的に前記マイクロプロセッサに送出す
    る割込み制御手段とを有することを特徴とする、マイク
    ロプロセッサの割込み制御装置。
  5. 【請求項5】 前記割込み制御手段は、前記マイクロプ
    ロセッサによる割込み処理の実行中に、他の割込みポー
    トがより高い優先順位が付与された新たな割込み処理要
    求を多重に受け付けた場合、処理実行中の割込み処理要
    求の優先順位を所定のメモリ手段に一時的に記憶すると
    ともに新たな割込み処理要求を前記マイクロプロセッサ
    に送出し、この送出した割込み処理要求に対する処理が
    終了した時点での割込み処理要求の優先順位と前記一時
    的に記憶した優先順位とを比較して、両者が一致する場
    合に前記実行中の割込み処理に復帰させるように構成さ
    れていることを特徴とする請求項4記載の割込み制御装
    置。
  6. 【請求項6】 割込み処理要求に対する処理を実行する
    マイクロプロセッサに対する割込み制御を行う装置であ
    って、 前記割込み処理要求を受け付ける割込みポートに付与さ
    れた随時変更可能な優先順位を記憶するレジスタと、 前記マイクロプロセッサを共用する他装置との間で前記
    優先順位に関する情報及び前記マイクロプロセッサから
    の割込み処理終了の情報の相互利用を可能にする伝達手
    段と、 自装置の割込みポートで受け付けた割込み処理要求が他
    装置の割込み処理要求と競合したときに前記伝達手段を
    通じて他装置の優先順位を取得し、前記レジスタに記憶
    されている優先順位が前記取得した優先順位より高いと
    きは、自装置で受け付けた割込み処理要求を前記マイク
    ロプロセッサに送出する調停手段とを有することを特徴
    とする、マイクロプロセッサの割込み制御装置。
  7. 【請求項7】 前記調停手段は、前記割込み処理要求を
    発した装置がアイドル状態になったときに前記当該割込
    み処理要求の優先順位を他の優先順位と比較することを
    特徴とする請求項6記載の割込み制御装置。
  8. 【請求項8】 前記調停手段は、前記レジスタに記憶さ
    れている優先順位が少なくとも前記他装置の優先順位と
    同位になるまで前記割込み処理要求の送出を自律的に休
    止することを特徴とする請求項6記載の割込み制御装
    置。
JP31784397A 1997-11-19 1997-11-19 情報処理装置及びマイクロプロセッサの割込み制御装置 Withdrawn JPH11149382A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31784397A JPH11149382A (ja) 1997-11-19 1997-11-19 情報処理装置及びマイクロプロセッサの割込み制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31784397A JPH11149382A (ja) 1997-11-19 1997-11-19 情報処理装置及びマイクロプロセッサの割込み制御装置

Publications (1)

Publication Number Publication Date
JPH11149382A true JPH11149382A (ja) 1999-06-02

Family

ID=18092683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31784397A Withdrawn JPH11149382A (ja) 1997-11-19 1997-11-19 情報処理装置及びマイクロプロセッサの割込み制御装置

Country Status (1)

Country Link
JP (1) JPH11149382A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004066150A1 (ja) * 2003-01-24 2004-08-05 Fujitsu Limited 割り込み制御方法および割り込み制御装置
US7523240B2 (en) 2005-12-19 2009-04-21 Nec Electronics Corporation Interrupt controller and interrupt control method
JP2009521036A (ja) * 2005-12-21 2009-05-28 アーム・リミテッド プログラム可能な優先値を用いた割込み制御器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004066150A1 (ja) * 2003-01-24 2004-08-05 Fujitsu Limited 割り込み制御方法および割り込み制御装置
CN100336022C (zh) * 2003-01-24 2007-09-05 富士通株式会社 中断控制方法和中断控制装置
US7523240B2 (en) 2005-12-19 2009-04-21 Nec Electronics Corporation Interrupt controller and interrupt control method
JP2009521036A (ja) * 2005-12-21 2009-05-28 アーム・リミテッド プログラム可能な優先値を用いた割込み制御器

Similar Documents

Publication Publication Date Title
US5088024A (en) Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US7360002B2 (en) Method of arbitrating access to a data bus
EP0383475A2 (en) Shared resource arbitration
CA1275328C (en) Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
KR900001120B1 (ko) 우선도가 낮은 유니트를 우선도가 높은 위치에 위치시키기 위한 분배된 우선도 회로망 로직을 가진 데이타 처리 시스템
JP2008513886A (ja) バスの送信チャネル上の帯域幅を割り振る方法および装置
JPH11149382A (ja) 情報処理装置及びマイクロプロセッサの割込み制御装置
JP2550811B2 (ja) 通信制御方法
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
EP0079140A1 (en) Multiple computing systems and communication bus structure therefor
JP2624989B2 (ja) データ転送制御装置
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2004213666A (ja) Dmaモジュールとその操作方法
JPH0962640A (ja) 共有メモリのアクセス制御方法
EP0781433B1 (en) Bus assignment system for dsp processors
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
KR930004910Y1 (ko) 다중처리기 시스템에서의 데이터버스 중재기
JP3317150B2 (ja) 情報処理装置
JP4190629B2 (ja) マルチプロセッサシステム
US7085865B2 (en) I/O throughput by pre-termination arbitration
JPH0580186B2 (ja)
JP2000207352A (ja) メモリアクセス競合制御方法とその回路、並びにデ―タ処理装置
JPS58217071A (ja) 情報処理システム
JP2615815B2 (ja) 優先順位制御方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050201