JPH04211836A - 割り込み制御装置 - Google Patents

割り込み制御装置

Info

Publication number
JPH04211836A
JPH04211836A JP933891A JP933891A JPH04211836A JP H04211836 A JPH04211836 A JP H04211836A JP 933891 A JP933891 A JP 933891A JP 933891 A JP933891 A JP 933891A JP H04211836 A JPH04211836 A JP H04211836A
Authority
JP
Japan
Prior art keywords
signal
scan
output
becomes
register
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.)
Granted
Application number
JP933891A
Other languages
English (en)
Other versions
JP2643609B2 (ja
Inventor
Sachiko Yasunaga
保永 幸子
Tsuyoshi Katayose
片寄 強
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3009338A priority Critical patent/JP2643609B2/ja
Publication of JPH04211836A publication Critical patent/JPH04211836A/ja
Application granted granted Critical
Publication of JP2643609B2 publication Critical patent/JP2643609B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、割り込み制御装置に関
し、特に割り込み処理の優先順位判定制御に関する。
【0002】
【従来の技術】マイクロコンピュータシステムには、C
PUに対し、緊急を要する処理(以下割り込み処理とい
う)を制御するための割り込み制御装置が不可欠なもの
となっている。
【0003】割り込み制御装置は、周辺装置から割り込
み処理の要求信号が入力されると、割り込み要因と割り
込み処理の優先順位を判定し、CPUに対する割り込み
要求信号(以下、INTRQ信号と称す)をアクティブ
にすることで割り込み処理の要求があることをCPUに
知らせる。CPUはINTRQ信号のアクティブ状態を
検知すると、現在の命令実行終了後に割り込み処理を開
始できる状態にし、割り込み制御装置に対する割り込み
肯定信号(以下、INTAK信号と称す)をアクティブ
にする。
【0004】図1は従来の割り込み制御装置250を有
するマイクロコンピュータの構成例を示すブロック図で
ある。本マイクロコンピュータは、システム全体を制御
するCPU99と、各割り込み要因に対応しそれぞれ個
別に設けられている割り込み制御レジスタ7,8,9と
、CPU99にINTRQ信号22を供給し、CPUか
らのINTAK信号23を受け付けるINTRQ信号生
成回路21と割り込み処理の優先順位を判定するための
スキャンカウンタ60と、スキャンカウンタ60によっ
て同一レベルの優先順位と判定された割り込み要因から
システムにより固定の優先順位指定に基づいて一要因を
選択するディジーチェーン19とを有する。
【0005】本例のスキャンカウンタ60は3ビットの
バイナリカウンタで構成されており、“000B(以下
、2進数表記は末尾にBを記す)”から“111B”に
順次カウントアップし、“111B”までカウントアッ
プすると、再度“000B”からカウントを繰り返す。 スキャンカウンタ60が“000B”から“111B”
までカウントする期間をスキャンサイクルと呼ぶ。 スキャンカウンタ60はカウント値が“000B”とな
るタイミングで、零信号40をアクティブにする。零信
号40は、割り込み制御レジスタ7,8,9に供給され
ており、前回のスキャンサイクル中に入力された割り込
み要求の優先順位判定動作を起動する。またスキャンカ
ウンタ60は、内部割り込み要求信号(以下、IRQ信
号)13,14,15のいずれか1つがアクティブ“1
”になると、内容を保持したまま停止する。
【0006】割り込み制御レジスタ7,8,9で設定で
きる割り込み優先順位はレベル0からレベル7までの8
段階であり、スキャンカウンタ60の内容は表1に示す
ように割り込み優先順位に対応している。
【0007】
【0008】図12は割り込み制御レジスタ7,8,9
の構成を示したブロック図である。
【0009】割り込み制御レジスタ7,8,9は全く同
一の構成であり、ここでは割り込み制御レジスタ7につ
いて詳細に説明する。割り込み制御レジスタ7は割り込
み要求が発生したことを記憶する割り込み要求フラグ(
主)71(以下、IFマスタと称す)と、割り込み要求
フラグレジスタ(従)72(以下、IFスレーブと称す
)と、割り込み要求の受け付け禁止を指定するマスクレ
ジスタ73(以下、MKと称す)と、CPUにより割り
込み処理の優先順位を指定するための優先順位指定レジ
スタ74と、排他的論理和ゲート51,52,53(以
下、XORゲートと称す)と、論理和反転ゲート54(
以下ゲートと称す)と、反転ゲート50(以下、INV
ゲートと称す)から構成される。
【0010】割り込み要求信号4は、割り込み制御レジ
スタ7に入力される。IFマスタ71は、割り込み要求
信号4を入力し、割り込み要求が発生すると出力を“1
”とする。IFスレーブ72は零信号40が“1”の期
間にIFマスタ71の出力レベルをラッチする。IFス
レーブ72の出力は、INVゲート50に入力される。 また、IRQAK信号16が“1”になると、IFスレ
ーブ72は“0”になるよう制御されている。INVゲ
ート50の出力は、NORゲート54に入力される。さ
らに、MK73の出力がNORゲート54に出力される
。また、優先順位指定レジスタ74のPR2の出力とス
キャンカウンタ60の出力信号41はXORゲート51
に入力される。同様に優先順位指定レジスタ74のPR
1,PR0の出力とスキャンカウンタ60の出力信号4
2,43はXORゲート52及びXORゲート54にそ
れぞれ入力される。XORゲート51,52,53の出
力は共にNORゲート54に入力されている。
【0011】このようにスキャンカウンタ60の出力信
号41,42,43は優先順位指定レジスタ4の各ビッ
ト出力と一致がとられる。
【0012】図12において、割り込み制御レジスタ8
,9は割り込み制御レジスタ7と全く同一の構成であり
、IFマスタ71にはIFマスタ81およびIFマスタ
91、IFスレーブ82にはIFスレーブ82及びIF
スレーブ92、MK73にはMK83及びMK93、優
先順位指定レジスタ71には優先順位指定レジスタ84
および94、IRQ信号13には、IRQ信号14およ
び15にそれぞれ対応している。また、割り込み要求信
号5,6は割り込み要求信号4と同様に割り込み制御レ
ジスタ8,9にそれぞれ入力される。
【0013】次に、図13を用いて、割り込み要求信号
が入力され、優先順位が判定されて1つの割り込み要求
が受け付けられるまでの動作を説明する。ここでは、要
因1は優先順位を“3”に、要因2は優先順位を“3”
に、要因3は優先順位を“6”にそれぞれ設定されてい
るとする。また、MK73,83,93はいずれも“0
”に設定され、割り込み要求の受け付けが許可されてい
るものとする。
【0014】まず、スキャンサイクル(A)において非
同期に割り込み要求信号4,5,6が発生し、IFマス
タ71,81,91がそれぞれセット“1”される。
【0015】スキャンカウンタ60のカウント値が“1
11B”から“000B”に変化すると、零信号40が
アクティブになり、IFマスタ71,81,91の内容
がIFスレーブ72,82,92に移され、スキャンサ
イクル(B)において優先順位判定を行う。
【0016】スキャンサイクル(B)では、スキャンサ
イクル(A)中に割り込み要求信号4,5,6が発生し
、IFマスタ71,81,91はすべて“1”となって
いるので、零信号40が発生すると、同時にIFスレー
ブ72,82,92は共に“1”になる。スキャンカウ
ンタ60は“000B”から順次カウントアップする。
【0017】スキャンカウンタ60のカウント値が“0
11B”になると、割り込み制御レジスタの優先順位指
定レジスタ74は“011B”に設定されているため、
XORゲート51,52,53の出力は全て“0”とな
る。また、MK73とINVゲート50の出力は共に“
0”となっているので、NORゲート54の出力である
IRQ信号13は“1”となる。同様に割り込み制御レ
ジスタ8の優先順位指定レジスタ84も“011B”に
設定されているため、IRQ信号14は“1”となる。 割り込み制御レジスタ9の優先順位指定レジスタ94は
“110B”に設定されているので、スキャンカウンタ
60のカウント値と一致がとれず、IRQ信号15は“
0”のままとなる。
【0018】スキャンカウンタ60はIRQ信号16,
17,18の少なくとも一つがアクティブ“1”となっ
たので、内容を保持したまま停止する。
【0019】IRQ信号13は“1”、IRQ信号14
は“1”、IRQ信号15は“0”のレベルで、ディジ
ーチェーン19に入力される。ディジーチェーン19で
は、IRQ信号13とIRQ信号14が共に“1”とな
っているため、受け付ける割り込み要求を最終的に決定
するための判定を行う。IRQ信号13のほうがIRQ
信号14よりも優先順位が高いとすると、ディジーチェ
ーン19はIRQAK信号16を“1”にする。一般的
にIRQAK信号は最終的に受け付けられたIRQ信号
の割り込み制御レジスタに対し、IRQAK信号が“1
”になる。
【0020】IRQAK信号16が“1”になると、割
り込み制御レジスタのIFスレーブ72はリセットされ
る。一方、IRQAK信号17及びIRQAK信号18
は共に“0”であるため、IFスレーブ82,92はリ
セットされない。
【0021】INTRQ生成回路21はIRQAK信号
16,17,18を入力することで、最終的に受け付け
られた割り込み要求を判断する。また、INTRQ生成
回路21はIRQAK信号16,17,18のいずれか
がアクティブになると、INTRQ信号22をアクティ
ブにし、CPU99に割り込み処理の要求が発生してい
ることを知らせる。CPU99はINTRQ信号がアク
ティブとなったことを検知すると、割り込み処理を開始
できる状態にし、INTAK信号23をアクティブにす
る。
【0022】
【発明が解決しようとする課題】以上説明したように、
従来の割り込み制御装置では、割り込み優先順位判定を
スキャンカウンタによって行っており、スキャンカウン
タのカウント値が“000B”のタイミングからそれま
でに発生した割り込み要求の優先順位を判定を開始して
いる。このため、例えば優先順位を“7(PR2  P
R1  PR0=111)”に設定された要因の割り込
み要求がスキャンカウンタのカウント値が“001B”
以降に発生すると、そのスキャンサイクル中は、これら
の割り込み受け付けの優先順位は判定せず、次のスキャ
ンサイクルまで待たされる。このように低い優先順位の
割り込み要求が、高い割り込み要求の有無を判定してい
るタイミングに発生するほど、優先順位判定を開始する
までの期間が長くなる。
【0023】さらに、優先順位判定が開始されても割り
込み受付優先順位の判定は常に最上位のレベル“0(P
R2  PR1  PR0=000)”から行われるた
め、例えば、最下位“7”の割り込み要求信号しか発生
していなくても、スキャンカウンタのカウント値が“0
00B”から“110B”までの検索期間は優先順位判
定のオーバーヘッドとして常に一定時間を要していた。
【0024】このように低い優先順位に設定された要因
ほど、割り込み要求を発生してから、割り込み要求が受
け付けられるまでの応答時間が長くなり、緊急な対応を
必要とする割り込み処理が長時間受け付けられないとい
う重大な欠点があった。
【0025】
【課題を解決するための手段】本発明の割り込み制御装
置は、割り込み要因ごとに割り込み処理の要求状態を記
憶する割り込み要求記憶回路と、受け付け順位情報を記
憶する優先順位指定回路と、順位検索情報を生成する検
索情報生成回路と、受け付けるべき割り込み要因を決定
するために、前記割り込み要求記憶回路の状態を検知し
、前記優先順位指定回路に記憶されている受け付け順位
情報と、前記検索情報生成回路で生成される順位検索情
報とを比較する順位比較回路と、前記順位比較回路にお
ける前記受け付け順位情報と順位検索情報との比較範囲
を限定する手段と、前記順位比較回路における比較結果
に応じて前記検索情報生成回路の更新を制御する手段と
を有する。
【0026】
【実施例】以下、図面を用いて本発明の実施例を詳述す
る。
【0027】図1は本発明の割り込み制御装置350を
有するマイクロコンピュータシステムの構成例を示すブ
ロック図である。本マイクロコンピュータは、システム
全体を制御するCPU99と、各割り込みに対応した割
り込み制御レジスタ107,108,109と、CPU
にINTRQ信号22を供給し、CPUからのINTA
K信号23を受け付けるINTRQ信号生成回路21と
、割り込み処理の優先順位を判定するためのスキャン制
御回路500と、同一レベルの優先順位と判定された割
り込み要因をシステムに固有の優先順位判定を行って一
要因を選択するディジーチェーン119と、割り込み処
理の優先順位を判定するための情報を更新するために、
タイミング信号を生成するタイミング発生回路301を
有する。
【0028】図2および図3は、合わせて、割り込み制
御レジスタ107,108,109と、スキャン制御回
路500と、タイミング発生回路301の構成を示した
ブロック図である。まず、割り込み制御レジスタについ
て説明する。割り込み制御レジスタ107,108,1
09は全く同一の構成であり、ここでは、割り込み制御
レジスタ107について詳細に説明する。
【0029】割り込み制御レジスタ107は従来例と同
様にIFマスタ71と、IFスレーブ72と、MK73
と、優先順位指定レジスタ74(以下、PRIと称す)
と、XORゲート51,52,53と、NORゲート5
4と、INVゲート50とを有し、さらに従来例に加え
て論理積ゲート52a及び53a(以下、ANDゲート
と称す)を有する。
【0030】割り込み要求信号4は割り込み制御レジス
タ107に入力される。IFマスタ71は、割り込み要
求信号4を入力し、割り込み要求が発生すると出力を“
1”とする。IFスレーブ72は零信号40が“1”の
期間にIFマスタ71の出力値をラッチする。IFスレ
ーブ72の出力は、INVゲート50に入力される。 また、RIQAK信号16が“1”になると、IFスレ
ーブ72は“0”になるよう制御されている。INVゲ
ート50の出力は、NORゲート54に入力される。さ
らに、MK73の出力は、NORゲート54に入力され
る。
【0031】PRI74のPR2の出力とスキャンレジ
スタ160の出力信号41はXORゲート51に入力さ
れる。PRI74のPRIの出力とスキャンレジスタ1
60の出力信号42はXORゲート52に入力され、X
ORゲート52の出力とタイミング信号302はAND
ゲート52aに入力される。同様にPRI74のPR0
の出力とスキャンレジスタ160の出力信号43はXO
Rゲート53に入力され、XORゲート53の出力とタ
イミング信号303はANDゲート53bに入力される
。XORゲート51,ANDゲート52a,ANDゲー
ト53bの出力は共にNORゲート54に入力されてい
る。
【0032】このようにスキャンレジスタ160の出力
信号41,42,43はPRIの各ビット出力と一致が
とられる。
【0033】スキャン制御回路500は設定バッファレ
ジスタ170と、スキャンストップフラグ162と、ス
キャンレジスタ160、NORゲート151とを有する
。設定バッファレジスタ170は、リセット付きの3つ
のラッチ回路であり、各ラッチ回路はタイミング信号3
04,305,306が“1”の期間にNORゲート1
51の出力レベルをそれぞれラッチする。また、タイミ
ング信号307が“1”になると、全てリセットが“0
”される。NORゲート151にはIRQ信号113,
1114,115が入力され、出力信号150(以下、
IRQ検出信号と称す)は制御バッファレジスタ170
の3つの入力とスキャンストップフラグ162にそれぞ
れ入力される。さらに、スキャンストップフラグ162
の出力信号62はスキャンレジスタ160に入力され、
スキャンレジスタ160はスキャンストップフラグ16
2の出力が“1”の期間に設定バッファレジスタ170
の出力をラッチする。
【0034】割り込み制御レジスタ108,109は割
り込み制御レジスタ107に対応し、従来例と同様にI
Fマスタ71にはIFマスタ81およびIFマスタ91
、IFスレーブ72にはIFスレーブ82及びIFスレ
ーブ92、MK73にはMK83及びMK93、PRI
74にはPRI84及びPRI94にそれぞれ対応して
いる。また、IRQ信号113にはIRQ信号114お
よび115が対応している。割り込み要求信号4と同様
に割り込み要求信号5,6は制御レジスタ108,10
9にそれぞれ入力される。
【0035】図4に本実施例と従来例のスキャン順序を
示す。図4(a)は本実施例の優先順位のスキャン順序
である。
【0036】まず、1回目では、スキャンレジスタ16
0の最上位ビットとPRI74,84,94の最上位ビ
ットとを比較する。2回目では前回の一致判定から、ス
キャンレジスタ160の最上位ビットを書き換え、PR
I74,84,94の最上位ビットと2番目のビットの
比較を行う。3回目では前回の一致判定によってスキャ
ンレジスタ160の第2ビットを書き換え、PRI74
,84,94の3ビットと比較をし、4回目で、最終的
に優先順位の高いものを判断する。
【0037】次に、図5および図6を用いて、割り込み
要求信号が入力され、優先順位が判定されて1つの割り
込み要求が受け付けられるまでの動作を説明する。ここ
では、要因1は優先順位を“2”に、要因2は優先順位
を“2”に、要因3は優先順位を“3”にそれぞれ設定
されているとする。また、MK73,83,93はいず
れも“0”に設定され割り込み要求の受付が許可されて
いるものとする。
【0038】図5においてスキャンサイクル(A)のス
キャンレジスタ160の出力値が“100B”以降に非
同期に割り込み要求信号4,5,6が発生したとする。
【0039】IFスレーブは予め“0”であり、スキャ
ンレジスタ160の出力値が“000B”になったタイ
ミングでIFマスタの出力をラッチするため、スキャン
レジスタ160の出力値が“100B”以降では割り込
み要求信号がアクティブとなってもIFマスタがセット
されるのみである。
【0040】設定バッファレジスタ170はタイミング
信号307がハイレベルの間にリセットされて、出力が
“000B”になる。続いて、タイミング信号304が
“1”となる期間から優先順位判定の動作を開始する。
【0041】スキャンサイクル(A)では、IRQ検出
信号150はIFスレーブがセットされていないので、
常時“1”となる。スキャンサイクル(A)のA1期間
では、タイミング信号304が“1”になって設定バッ
ファレジスタ170の最上位のビット出力信号10は“
1”に書き換えられる。従って、設定バッファレジスタ
170の値は“100B”になり、次回の検索は“10
0B”で行う。
【0042】次に、A2期間では、タイミング信号30
5が“1”になるため、設定バッファレジスタ170の
第2ビットの出力信号11が“1”となる。従って、設
定バッファレジスタ170の出力は“110B”になり
、次のA3期間では、スキャンレジスタ160の出力は
“110B”となる。
【0043】A3期間では、タイミング信号306が“
1”になるため、設定バッファレジスタ170の最下位
ビットの出力信号12が“1”となる。従って、設定バ
ッファレジスタ170の出力は“111B”になり、次
のA4期間では、スキャンレジスタ160の出力は“1
11B”となる。
【0044】A4期間では、タイミング信号307が“
1”になるが、IRQ検出信号150の“1”が入力さ
れているため、スキャンストップフラグ162の出力信
号62(以下、スキャンストップ信号と称す)は“1”
のままとなる。
【0045】スキャンストップ信号62は“1”のまま
であるため、スキャンバッファレジスタ160の書換え
は可能である。また、ディジーチェーン119に対して
、IRQAK信号の出力を禁止する。
【0046】ここで、タイミング信号307が“1”と
なると、設定バッファレジスタ170を“000B”に
リセットする。従って、スキャンサイクル(B)のB1
期間では、スキャンレジスタ160の出力は“000B
”となる。
【0047】スキャンレジスタ160の出力値が“00
0B”になると、零信号40がアクティブ“1”となり
、IFマスタ71,81,91の出力信号レベルがIF
スレーブ72,82,92にそれぞれ転送され、その結
果全て“1”に設定される。
【0048】さらにB1期間では、タイミング信号30
2は“0”であり、ANDゲート52は“0”をNOR
ゲート54に出力する。同様にタイミング信号303も
“0”であるため、ANDゲート53aは“0”をNO
Rゲート54に出力する。また、XORゲート51の出
力は“0”となる。従って、IRQ信号113は“1”
となる。
【0049】割り込み制御レジスタ108,109につ
いては同様の処理が行われ、IRQ信号114,115
は共に“1”となる。
【0050】IRQ信号113,114,115の少な
くとも一つが“1”になるため、IRQ検出信号150
は“0”になる。IRQ検出信号150は、設定バッフ
ァレジスタ170に供給されており、B1期間ではタイ
ミング信号304が“1”になるため、設定バッファレ
ジスタ170の最上位ビットの出力信号10は“0”と
なる。従って、次のB2期間では、スキャンレジスタ1
60の内容は、“000B”となる。
【0051】B2期間では、タイミング信号302が“
1”になり、また、タイミング信号305が“1”にな
る。タイミング信号302が“1”であり、また、PR
I74のPR1“1”とスキャンレジスタ160の出力
信号42とのXORゲート52の出力は“1”であるの
で、ANDゲート52aの出力は“1”となる。PRI
74のPR2とスキャンレジスタ160の出力信号41
のレベルは一致して52aの出力は“0”となるが、タ
イミング信号303は“0”であるためANDゲート5
3aの出力は“0”となる。ANDゲート52aの出力
が“1”であるので、IRQ信号113は“0”になる
。
【0052】割り込み制御レジスタ108,109につ
いても同様になり、IRQ信号114,115は“0”
になる。
【0053】従って、IRQ検出信号150は“1”と
なる。また、B2期間では、タイミング信号305が“
1”であるため、設定バッファレジスタ170の第2ビ
ットの出力信号11は“1”となる。このため、次のB
3期間では、スキャンレジスタ160の内容は、“01
0B”になる。
【0054】B3期間では、タイミング信号303が“
1”になり、タイミング信号306が“1”になる。 タイミング信号303が“1”となるが、PRI74の
PR0とスキャンレジスタ160の出力信号43とのX
ORゲート53の出力は“0”となり、ANDゲート5
3aの出力は“0”となる。また、XORゲート51の
出力及び、ANDゲート52aの出力は、いずれも“0
”となるため、IRQ信号113は“1”になる。
【0055】割り込み制御レジスタ108については、
同様の処理がおこなわれ、IRQ信号114は“1”と
なる。しかし、スキャンレジスタ160は“010B”
であるから、PRI94のPR0とスキャンレジスタ1
60の出力信号43は一致せず、ANDゲート53aに
相当するゲートの出力は“1”となっているので、IR
Q信号115は“0”のままである。
【0056】IRQ信号113,114が“1”である
ため、IRQ検出信号150が“0”になり、また、タ
イミング信号306が“1”であるため、設定バッファ
レジスタ170の最下位ビットは“0”となる。このた
め、次のB4期間では、スキャンレジスタ160の内容
は、“010B”になる。
【0057】B4期間では、タイミング信号302,3
03がいずれも“1”になり、また、タイミング信号3
07が“1”になる。従って、XORゲート51、AN
Dゲート52a,53aの出力は“0”となり、また、
PRI74の内容と、スキャンレジスタ160の内容は
一致しているので、IRQ信号113は“1”になる。
【0058】割り込み制御レジスタ108についても同
様の処理が行われ、IRQ信号114は“1”になる。
【0059】IRQ信号113および114が“1”で
あるので、IRQ検出信号150が“0”となる。IR
Q検出信号150が“0”となると、タイミング信号3
07が“1”であるため、スキャンストップ信号62は
“0”となり、スキャンレジスタ160の内容を保持し
、ディジーチェーン119に対してIRQAK信号出力
を許可する。
【0060】ディジーチェーン119におけるIRQ信
号の制御は従来例と同様であり、IRQ信号113の方
がIRQ信号114よりも固定優先順位が高いとすると
、ディジーチェーン119は割り込み制御レジスタ10
7に対するIRQAK信号116を“1”にする。
【0061】割り込み制御レジスタ107,108は同
一の優先順位に設定されているので、固定の優先順位の
高いIRQ信号113が受け付けられると、次にIRQ
信号114が受け付けられる。図4では、C1期間にお
いてIRQ信号113が受け付けられ、D1期間におい
てIRQ信号114が受け付けられたことを示している
。
【0062】スキャンサイクル(C)では、スキャンス
トップ信号62が“0”であるため、スキャンレジスタ
160の内容は変化せず、IRQ検出信号150も“0
”のままである。従って、B4期間にリセットされた出
力は“000B”のままになる。C4期間では、IRQ
信号114は“1”で、IRQ検出信号150が“0”
のままであるため、スキャンストップ信号62も“0”
のままである。
【0063】図6のD1期間では、IRQ信号114が
受け付けれ、IRQAK信号17は“1”となる。この
ため、D1期間では、IRQ信号は“0”になり、IR
Q検出信号150は“1”になる。しかし、スキャンス
トップ信号62はタイミング信号307がハイレベルの
期間でしか変化しないため、“0”のままである。従っ
て、D1〜D4期間では、スキャンレジスタ160の出
力は“010B”から変化せず、一致する優先順位がな
いため、設定スキャンバッファ170は、“100”,
“110”,“111”,“000”と内容が順次書き
換えられる。D4期間でタイミング信号307が“1”
になることによってスキャンストップフラグ162が書
き換えられると、スキャンストップ信号62は“1”に
なる。従って、次のスキャンサイクル(E)から再びス
キャンレジスタ160の内容に基づいて優先順位の判定
を行う。スキャンサイクル(E)では、IRQ信号11
3,114の受付は終了しており、IFスレーブ71,
81は“0”となっている。一方、IFスレーブ91は
、“1”であるため、スキャンサイクル(E)では要因
3の優先順位を判定することになる。
【0064】スキャンサイクル(E)では、スキャンサ
イクル(B)における優先順位判定と同様にして優先順
位“011B”を検索する。
【0065】E1期間でスキャンレジスタ160の出力
は“000B”になるため、零信号40をアクティブに
する。割り込みはスキャンサイクル(B)以降発生して
いないとすると、新たにIFスレーブはセットされない
。
【0066】E1期間では、スキャンレジスタ160の
出力信号10とPRI94の最上位ビットとの一致がと
れるため、IRQ信号150が“0”になり、設定バッ
ファレジスタ170は“000B”に設定される。E2
期間では、スキャンレジスタ160の出力信号11とP
RI94の第2ビットの一致がとれないため、IRQ検
出信号150が“1”になり、設定バッファレジスタ1
70は“010B”に設定される。E3期間では、スキ
ャンレジスタ160の出力信号12とPRI94の最下
位ビットの一致がとれないため、IRQ信号115は“
1”のままであり、設定バッファレジスタ170は“0
11B”に設定される。E4期間では、スキャンレジス
タ160の出力“011B”とPRI94の出力の全ビ
ットの一致がとれるため、IRQ検出信号150が“0
”となり、スキャンストップ信号62は“0”となり、
スキャンレジスタ160の内容は保持される。
【0067】F1期間でIRQ信号115が受け付けら
れたとすると、IRQ検出信号150は“1”になり、
F4期間でスキャンストップフラグが“1”に書き換え
られる。続いてスキャンサイクル(G)から再びスキャ
ンレジスタ160の内容が設定バッファレジスタ170
に従い更新するようになり、同様にして優先順位の判定
を繰り返す。
【0068】以上説明したように、本発明の割り込み制
御装置では、割り込み要求信号が入力されて、スキャン
レジスタ160の“000B”のタイミングから優先順
位判定を開始するため、“100B”,“110B”,
“111B”のスキャン中に入力された割り込み要求の
優先順位判定を開始するまでの待ち合わせ時間は最大3
クロックとなる。また、優先順位判定が開始されると、
どの優先順位も4クロックで優先順位が判定できる。
【0069】なお、本実施例では、8レベルの優先順位
の判定について述べたが、8レベルより多いレベル数に
おいても、容易に実現できることはいうまでもない。
【0070】次に、本発明の第2の実施例について図7
および図8を用いて説明する。図7および図8は、合わ
せて、本実施例の割り込み制御レジスタ107,108
,109と、スキャン制御回路500と、タイミング発
生回路331の構成を示したものである。
【0071】第1の実施例とはタイミング発生回路33
1のタイミング信号302〜307の制御が異なる。割
り込み制御レジスタ107,108,109、およびス
キャン制御回路500の構成,機能は第1実施例と同様
であり、詳細な説明は省略する。
【0072】本実施例のタイミング発生回路はIFスレ
ーブ72,82,92の出力と、スキャンストップ信号
62を入力する。IFスレーブ72,82,92の出力
はそれぞれORゲート161に入力され、割り込み要求
検出信号61を生成する。
【0073】タイミング発生回路331では割り込み要
求検出信号61が“0”の期間はタイミング信号302
〜307をすべて“0”にし、変化させない。
【0074】IFスレーブ74,84,94のいずれか
が零信号40によってセットされると、割り込み要求検
出信号61は“1”となり、タイミング信号302〜3
07の保持は解除となる。
【0075】割り込み優先順位を検索していく方法は第
1実施例と同様であり、タイミング信号307が“1”
となる期間にPRIとスキャンレジスタ160の値が一
致している場合には、スキャンストップ信号62が“0
”になることにより、ディジーチェーン119に対して
IRQAK信号出力を許可し、さらにタイミング発生回
路331に入力されて、タイミング信号302〜307
のレベルを保持する。
【0076】IRQAK信号が出力され、IFスレーブ
がリセットされると、IRQ検出信号が“1”になるが
、タイミング信号307は“1”で保持されているので
、スキャンストップ信号62は“1”となって、タイミ
ング発生回路331に対しタイミング信号302〜30
7の出力を許可する。また、全てのIFスレーブが“0
”になると、割り込み要求検出信号61は“0”となる
ので、タイミング発生回路331は、タイミング信号3
02〜307を全てリセット“0”にする。
【0077】ここで、割り込み要求信号が入力され、優
先順位が判定されるまでの割り込み要求が受け付けられ
るまでの動作を図9および図10を用いて説明する。本
実施例では、要因1は優先順位を“2”に、要因2は優
先順位を“2”に、要因3は優先順位を“3”にそれぞ
れ設定されているとする。また、MK73,83,93
はいずれも“0”に設定され割り込み要求の受け付けが
許可されているものとする。
【0078】まず、図9でスキャンサイクル(A)にお
いて非同期に割り込み要求信号4,5が発生される。割
り込み要求信号4,5はそれぞれIFマスタ71,81
を“1”にする。スキャンレジスタ160が零信号40
の“1”のタイミングでIFマスタ71,81,91の
レベルをIFスレーブ72,82,92へそれぞれ転送
する。IFスレーブ72,82が“1”になると、割り
込み要求検出信号61は“1”になり、タイミング発生
回路331に入力され、タイミング信号302〜307
が出力許可となり、優先順位を判定するスキャンサイク
ル(B)に入る。
【0079】スキャンサイクル(B)において優先順位
を判定する過程は第1実施例と同様である。
【0080】B1期間では、スキャンレジスタ160の
出力“000B”とPRI74の最上位ビットとの一致
がとれるため、IRQ検出信号150が“0”になり、
設定バッファレジスタ170の出力は“000B”にな
る。
【0081】B2期間では、スキャンレジスタ160の
出力“000B”とPRI74の第2ビットとの一致が
とれず、IRQ検出信号150が“1”になり、設定バ
ッファレジスタ170の出力が“010B”に設定され
る。
【0082】B3期間では、スキャンレジスタ160の
出力が“010B”とPRI74の全ビットと一致する
ため、IRQ検出信号150が“0”となる。設定バッ
ファレジスタ170は“010B”のままとなる。
【0083】B4期間ではスキャンレジスタ160の出
力“010B”とPRI74の全ビットが一致するため
、IRQ検出信号150が“0”となり、スキャンスト
ップ信号62が“0”となる。割り込み制御レジスタ1
08においても同様に処理され、IRQ信号114をア
クティブにする。
【0084】IRQ信号113の方がIRQ信号114
よりも固定優先順位が高いとすると、ディジーチェーン
119は割り込み制御レジスタ107に対し、IRQA
K信号16を“1”にする。
【0085】また、B1期間において割り込み要求信号
6が入力されても零信号40がアクティブにならないた
め、IFマスタ91が“1”にセットされるのみである
。
【0086】B5期間にIRQAK信号16によりIF
スレーブ72が“0”になると、IRQ信号113は“
0”になる。しかし、IRQ信号114が“1”である
ため、IRQ検出信号150は“0”のままである。 また、タイミング信号307が“1”で保持されている
ため、スキャンストップ信号62も“0”のままである
。
【0087】B9期間にIRQAK信号17によりIF
スレーブ92がリセットされ“0”になると、IRQ信
号114は“0”になって、IRQ検出信号150は“
1”になる。タイミング信号307は“1”であるため
、スキャンストップ信号62は“1”となり、スキャン
レジスタ160の内容の保持とタイミング信号302〜
307の保持が解除される。
【0088】スキャンサイクル(C)では、要因3の優
先順位判定を行う。
【0089】C1期間でスキャンレジスタ160は“0
00B”になり、零信号40が“0”になることによっ
てIFマスタ91よりIFスレーブ92へ転送する。
【0090】C1期間では、スキャンレジスタ160の
出力“000B”とPRI94の最上位ビットとの一致
がとれるため、IRQ検出信号150が“0”になり、
設定バッファレジスタ170の出力が“000B”にな
る。
【0091】図10に移ってC2期間では、スキャンレ
ジスタ160の出力“000B”とPRI94の第2ビ
ットとの一致がとれないため、IRQ検出信号150が
“1”になり、設定バッファレジスタ170の出力が“
010B”になる。
【0092】C3期間では、スキャンレジスタ160の
出力“010B”とPRI94の全ビットが一致しない
ので、IRQ検出信号150が“1”となり、設定バッ
ファレジスタ170の出力が“011B”になる。
【0093】C4期間では、スキャンレジスタ160の
出力“011B”とPRI94の全ビットが一致しする
ので、IRQ検出信号150が“0”となり、スキャン
ストップ信号62は“0”となる。以降は、要因1,2
と同様に処理されて、C5期間でIRQAK信号18が
“1”になって、IFスレーブ92は“0”にリセット
される。
【0094】IFスレーブ72,82,92が共に“0
”となり、割り込み要求検出信号61が“0”となるの
で、C6期間でスキャンストップ信号62が“1”にな
ると、次のD1期間では、タイミング発生回路331は
タイミング信号302〜307を全て“0”にする。従
って、スキャンレジスタ160は1クロックごとに、零
信号40をアクティブにし、IFマスタ71,81,9
1の出力レベルをIFスレーブ72,82,92にそれ
ぞれ転送する。
【0095】D4期間に新たに割り込み要求が発生する
と、スキャンサイクル(C)と同様にして優先順位の判
定をおこなう。
【0096】このように割り込み要求検出信号61によ
りタイミング信号を制御し、優先順位の判定を行うため
、割り込み要求信号4〜6の何れかが入力されると次の
期間より最大4クロックで優先順位を判定することがで
き、待ち合わせ時間は必要なくなる。
【0097】次に図14および図15を用いて第3の実
施例を説明する。図14および図15は、合わせて、本
実施例の割り込み要求制御レジスタ107,108,1
09と、スキャン制御回路600と、タイミング発生回
路331の構成を示したものである。割り込み制御レジ
スタ107,108,109とタイミング発生回路33
1の構成は第2実施例と同様である。
【0098】スキャン制御回路600は設定バッファレ
ジスタ170と、スキャンストップフラグ162と、ス
キャンレジスタ160と、NORゲート151,INV
ゲート163と、ANDゲート164とを有する。設定
バッファレジスタ170は、リセット付きの3つのラッ
チ回路であり、各ラッチ回路はタイミング信号304,
305,306が“1”の期間にNORゲート151の
出力レベルをそれぞれラッチする。また、タイミング信
号307が“1”になると、全てリセット“0”される
。NORゲート151にはIRQ信号113,114,
115が入力され、IRQ検出信号150は制御バッフ
ァレジスタ170の3つの入力とスキャンストップフラ
グ162にそれぞれ入力される。スキャンストップフラ
グ162の出力であるスキャンストップ信号62はスキ
ャンレジスタ160に入力され、スキャンレジスタ16
0はスキャンストップ信号62が“1”の期間に設定バ
ッファレジスタ170の出力をラッチする。さらに、A
NDゲート164はスキャンストップ信号62を入力す
る。INVゲート163は、タイミング信号306を入
力し、否定をとる。ANDゲート164はINVゲート
163の出力を入力する。ANDゲート164は2入力
の論理積をとって、IRQAK出力許可信号262を生
成する。
【0099】IRQAK出力許可信号262は、ディジ
ーチェーン119に入力されており、IRQAK出力許
可信号262が“0”のとき、実施例2におけるスキャ
ンストップ信号62と同様に、ディジーチェーン119
に対しIRQAK信号16,17,18の出力を許可し
、“1”のとき、ディジーチェーン119に対し、IR
QAK信号16,17,18の出力を禁止する。
【0100】ここで、図16と図17を用いて、割り込
み要求信号が入力され、優先順位が判定されて、割り込
み要求が受け付けられるまでの動作を説明する。本実施
例では、第2実施例の設定条件と同様であり、要因1は
優先順位を“2”に、要因2は、優先順位を“2”に、
要因3は優先順位を“3”にそれぞれ設定されていると
する。また、MK73,83,93は何れも“0”に設
定され、割り込み要求の受付が許可されているとする。
【0101】本実施例は、第2実施例と同様に優先順位
の判定を行う。図16と図17は、第2実施例と異なる
タイミング部分を主要な信号のみについて示したもので
ある。非同期に割り込み要求信号4,5が発生してから
優先順位を判定する直前までのタイミングなど、第2実
施例と同様のタイミング部分は省略してある。
【0102】B1〜B6期間の動作を図16を用いて説
明する。
【0103】B1期間では、スキャンレジスタ160の
出力“000B”とPRI74の最上位ビットとの一致
がとれるため、IRQ検出信号150が“0”になり、
設定バッファレジスタ170の出力は“000B”にな
る。
【0104】B2期間では、スキャンレジスタ160の
出力“000B”とPRI74の第2ビットとの一致が
とれず、IRQ検出信号150が“1”になり、設定バ
ッファレジスタ170の出力が“010B”に設定され
る。
【0105】B3期間では、タイミング信号306が“
1”となる期間にIRQAK出力許可信号262が“0
”となる。また、スキャンレジスタ160の出力“01
0B”とPRI74の全ビットが一致するため、IRQ
信号113が“1”となる。割り込み制御レジスタ10
8においても同様に処理され、IRQ信号114をアク
ティブにする。
【0106】IRQ信号113の方がIRQ信号114
よりも固定優先順位が高いとすると、IRQAK出力許
可信号262を入力しているディジーチェーン119は
、直ちに割り込み制御レジスタ107に対し、IRQA
K信号16を“1”にする。
【0107】B4期間では、スキャンレジスタ160の
出力“010B”とPRI174の全ビットが一致する
ため、IRQ検出信号“0”となり、スキャンストップ
信号62が“0”となり、引き続きIRQAK出力許可
信号262を“0”とする。
【0108】IRQ信号114は、B5期間以降に実施
例2と同様の動作で処理され、ディジーチェーン119
はIRQAK信号17を“1”とする。
【0109】このように、本実施例では、第1,第2実
施例と同様に優先順位を検索するが、ディジーチェーン
119に対しIRQAK信号16,17,18の出力を
許可するタイミングが異なり、スキャン制御回路600
はB3期間でディジーチェーン119にIRQAK信号
出力を許可する。もちろん、第2実施例と同様にディジ
ーチェーン19にB4期間以降のIRQAK信号出力を
許可する。その他の動作については、第2実施例と同様
である。
【0110】続いてC1〜C5期間の動作を図17を用
いて、説明する。
【0111】B1期間において割り込み要求信号6が入
力されていたが、零信号40がアクティブにならないた
め、IFマスタ91が“1”にセットされるのみで、要
因3の優先順位は判定されなかった。スキャンサイクル
(C)では、要因3の優先順位判定を行う。
【0112】C1期間でスキャンレジスタ160は“0
00B”になり、零信号40が“0”になることによっ
てIFマスタ91よりIFスレーブ92へ転送する。
【0113】C1期間では、スキャンレジスタ160の
出力“000B”とPRI94の最上位ビットとの一致
がとれるため、IRQ検出信号150が“0”になり、
設定バッファレジスタ170の出力が“000B”にな
る。
【0114】C2期間では、スキャンレジスタ160の
出力“000B”とPRI94の第2ビットとの一致が
とれないため、IRQ検出信号150が“1”になり、
設定バッファレジスタ170の出力が“010B”にな
る。
【0115】C3期間では、タイミング信号306が“
1”になる期間に、IRQAK出力許可信号262が“
0”になる。しかし、スキャンレジスタ160の出力“
010B”とPRI94の全ビットが一致しないので、
IRQ信号は、何れも“0”であるので、ディジーチェ
ーン119は受け付ける割り込みを選択しない。引き続
き、IRQ検出信号150が“1”となり、設定バッフ
ァレジスタ170の出力が“011B”になる。
【0116】C4期間では、スキャンレジスタ160の
出力“011B”とPRI94の全ビットが一致するの
で、IRQ検出信号150が“0”となり、スキャンス
トップ信号62は“0”となる。以降は、要因1,2と
同様に処理されて、C5期間でIRQAK信号18が“
1”になって、IFスレーブ92は“0”にリセットさ
れる。IFスレーブ92がリセットされた後は、第2実
施例と全く同様に処理動作がおこなわれる。
【0117】このように、優先順位2と優先順位3のI
RQAK信号が“1”になるタイミングが示す通り、B
3期間でスキャンレジスタ160と優先順位が一致する
優先順位0,2,4,6のIRQ信号は、優先順位1,
3,5,7に比べて1クロック速い3クロックで優先順
位を終了できる。
【0118】
【発明の効果】以上のように本発明によれば、スキャン
レジスタと優先順位指定レジスタの上位ビットから各ビ
ット毎に一致判定を行い、判定結果に応じてスキャンレ
ジスタの内容を更新制御するため、優先順位判定に要す
る時間が大幅に短縮する。
【0119】従来例では設定した優先順位別の優先順位
判定時間は表2のように全体の平均は8クロックであっ
た。本発明によれば、優先順位判定にかかる平均クロッ
ク数は表3から表5に示すように最大5.5クロックと
なる。このように優先順位判定に要する時間が短縮化さ
れるため、割り込みの受け付け応答が速くなる。
【0120】
【0121】
【0122】
【0123】
【0124】また、従来例のように割り込み制御レジス
タに設定した順位によって優先順位判定に要する時間に
ばらつきがないため、どの優先順位が指定されていても
判定時間は一定となる。このため、割り込み処理時間等
の予測が非常に簡単となる。
【0125】さらに、優先順位安定に要する時間に多少
のばらつきを認めるとすると、本実施例の優先順位の判
定方は、優先順位の最下位ビットが“0”の場合に、優
先順位判定にかかるクロック数を減少させることができ
るなど最適設計が可能である。
【0126】本実施例では、優先順位のレベル数を8と
して説明したが、優先順位レベル数を増しても本発明だ
と割り込みの受け付け応答性能を大幅に下げることなく
容易に拡張できる。
【0127】このように、本発明の構成は、割り込み要
求が入力されてからただちに優先順位判定を開始すると
いうことが容易に実現でき、割り込み要求の応答のよい
割り込み制御装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のブロック図である。
【図2】第1の実施例の要部の上半分を示す構成図であ
る。
【図3】第1の実施例の要部の下半分を示す構成図であ
る。
【図4】割り込み優先順位のスキャン順序図である。
【図5】第1の実施例における優先順位判定動作の前半
の3サイクルを示すタイミング図である。
【図6】第1の実施例における優先順位判定動作の後半
の4サイクルを示すタイミング図である。
【図7】第2の実施例による第1の実施例に対応した要
部の上半分を示す構成図である。
【図8】第2の実施例による第1の実施例に対応した要
部の下半分を示す構成図である。
【図9】第2の実施例における優先順位判定動作の前半
の2サイクルを示すタイミング図である。
【図10】第2の実施例の優先順位判定動作の後半の3
サイクルを示すタイミング図である。
【図11】従来例のブロック図である。
【図12】従来例の割り込み制御レジスタの構成図であ
る。
【図13】従来例における優先順位判定のタイミング図
である。
【図14】第3の実施例による第1の実施例に対応した
要部の上半分を示す構成図である。
【図15】第3の実施例による第1の実施例に対応した
要部の下半分を示す構成図である。
【図16】第3の実施例における優先順位“2”の優先
順位判定のタイミング図である。
【図17】第3の実施例における優先順位“3”の優先
順位判定のタイミング図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  割り込み要因ごとに割り込み処理の要
    求状態を記憶する割り込み要求記憶回路と、受け付け順
    位情報を記憶する優先順位指定回路と、順位検索情報を
    生成する検索情報生成回路と、受け付けるべき割り込み
    要因を決定するために、前記割り込み要求記憶回路の状
    態を検知し、前記優先順位指定回路に記憶されている受
    け付け順位情報と前記検索情報生成回路で生成される順
    位検索情報とを比較する順位比較回路と、前記順位比較
    回路における前記受け付け順位情報と順位検索情報との
    比較範囲を限定する手段と、前記順位比較回路における
    比較結果に応じて前記検索情報生成回路の更新を制御す
    る手段とを有することを特徴とする割り込み制御装置。
JP3009338A 1990-01-29 1991-01-29 割り込み制御装置 Expired - Lifetime JP2643609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3009338A JP2643609B2 (ja) 1990-01-29 1991-01-29 割り込み制御装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1876290 1990-01-29
JP2-18762 1990-01-29
JP3009338A JP2643609B2 (ja) 1990-01-29 1991-01-29 割り込み制御装置

Publications (2)

Publication Number Publication Date
JPH04211836A true JPH04211836A (ja) 1992-08-03
JP2643609B2 JP2643609B2 (ja) 1997-08-20

Family

ID=26344040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3009338A Expired - Lifetime JP2643609B2 (ja) 1990-01-29 1991-01-29 割り込み制御装置

Country Status (1)

Country Link
JP (1) JP2643609B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60175149A (ja) * 1984-02-21 1985-09-09 Nec Corp 割込み制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60175149A (ja) * 1984-02-21 1985-09-09 Nec Corp 割込み制御装置

Also Published As

Publication number Publication date
JP2643609B2 (ja) 1997-08-20

Similar Documents

Publication Publication Date Title
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
US5136714A (en) Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
JPH0454255B2 (ja)
JP2900627B2 (ja) 割り込み制御装置
JP2643609B2 (ja) 割り込み制御装置
US6535943B1 (en) Information processing device enabling floating interrupt to be pending and a method executing an interrupt condition change instruction
JP3093374B2 (ja) 割り込みコントローラ
JPH0485630A (ja) 割込み制御装置
JP2004118300A (ja) Dmaコントローラ
JPH04211839A (ja) 割込みコントローラ
JPH0355657A (ja) マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式
JP2508026B2 (ja) タイマ制御方式
JP2635863B2 (ja) 中央処理装置
JP2001117862A (ja) マイクロコンピュータ
JPS6022248A (ja) 割込み制御装置
JPH04217058A (ja) 割込みコントローラ
JPH0443302B2 (ja)
JPH02222059A (ja) マルチプロセッサシステム
JPH04195638A (ja) 半導体集積回路
JPH04235635A (ja) 割込みコントローラ
JPH0368418B2 (ja)
JPH05189246A (ja) 割り込み拡張システム
JPH04270441A (ja) データ処理装置
JPH04309134A (ja) 割り込み制御回路
JPH01161537A (ja) 割込制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970401