JPH04217057A - 割込みコントローラ - Google Patents
割込みコントローラInfo
- Publication number
- JPH04217057A JPH04217057A JP2411472A JP41147290A JPH04217057A JP H04217057 A JPH04217057 A JP H04217057A JP 2411472 A JP2411472 A JP 2411472A JP 41147290 A JP41147290 A JP 41147290A JP H04217057 A JPH04217057 A JP H04217057A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- priority
- interrupt
- becomes
- output
- 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
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
における割込みコントローラに利用する。 【0002】本発明は、特に、割込み要求に対し、優先
順位を指定できる割込みコントローラに利用する。 【0003】本発明において、禁止不可割込み要求信号
とは、禁止することが不可で、優先順位の最も高い割込
み要求信号をいう。 【0004】 【従来の技術】一般に、マイクロコンピュータは、図1
2に示すような構成である。 【0005】図12において、マイクロコンピュータ1
は、メモリ3内のプログラムメモリから読み出した命令
に基づき、中央演算装置(以下、「CPU」という。)
2が処理を実行する。また、周辺機能ブロック5はCP
U2と内部バス6を介してデータの書込みまたは読出し
(以下、「アクセス」という。)を行い制御されるが、
CPU2とは独立して動作している。 【0006】周辺機能ブロック5としては、タイマおよ
びシリアルインタフェースブロック等があり、例えば、
タイマがある値になった場合や、シリアルデータの受信
が完了したりした場合等の特別な状態を周辺機能ブロッ
ク5が検出した場合に、周辺機能ブロック5がCPU2
にそのことを知らせるために割込み要求信号7を発生す
る。割込み要求信号7は割込みコントローラ(以下、「
INTC」という。)4に入力される。 【0007】INTC4は、割込み要求をCPU2に送
出してもよい状態(割込み許可状態)、他の割込み要求
の有無および割込み要求の優先順位の判別等を行い、条
件が整っていると割込み要求としてCPU2に対し割込
み処理要求信号(以下、「INTRQ信号」という。)
8を送出する。CPU2はINTRQ信号8を検出し受
付けると、INTC4に対し割込み要求を受付けたこと
を示す信号等種々の制御信号9を出力する。 【0008】割込み要求を受付けたCPU2は、対応す
る割込み要求信号7、つまり周辺機能ブロック5に応じ
た割込み処理を、従来実行していたプログラムを中断し
て実行する。 【0009】ここで、割込み要求信号7の優先順位の説
明を行う。割込み要求信号7が複数本ある場合は、割込
み要求信号7の種類により緊急に割込み処理を実行すべ
き割込み要求信号7(以下、「緊急割込み要求」という
。)と、遅くてもよい割込み要求信号7(以下、「一般
割込み要求」という。)とが存在する。 【0010】緊急割込み要求は、一般割込み要求の割込
み処理実行中でも一般割込み要求の割込み処理中に割込
んで対応する緊急な割込み処理を実行する必要がある。 従って、割込み要求信号7には各々に優先順位を設定す
る必要がある。そして、優先順位が高く設定された割込
み要求信号7に対する割込み処理は、優先順位が低く設
定された割込み要求信号7に対する割込み処理中でも割
込んで実行するように制御する必要がある。以上のよう
な優先順位制御はINTC4で行われる。 【0011】次に、図13に従来のINTC4の構成図
を示し、図14のタイミングチャートを用いて動作を説
明する。図13は、優先順位指定が4レベルの例である
。 【0012】図13において、INT(0)、INT(
1)、INT(2)およびINT(3)信号は、周辺機
能ブロック5から出力される割込み要求信号7であり、
それぞれの割込み要求信号制御装置IC(0)11、I
C(1)12、IC(2)13、およびIC(3)14
(以下、「IC(0)、IC(1)、IC(2)、IC
(3)」という。)に入力されている。IC(0)11
、IC(1)12、IC(2)13およびIC(3)1
4はそれぞれ同一の構造であるのでIC(0)11につ
いて説明する。 【0013】割込み要求信号7が発生し、INT(0)
信号が「1」になると、割込み要求フラグラッチ(以下
、「要求フラグビット」という。)112 が「1」に
セットされる。CPU2が内部アドレスバスでIC(0
)11の番地を指し、データを内部データバス20に出
力し、ライト信号を発生すると、ライト信号制御回路2
3の出力24が「1」となり、内部データバス20から
マスクビットラッチ( 以下、「マスクビット」という
。)111およびプライオリティビットラッチ (以下
、「プライオリティビット」という。)116 および
117 にCPU2の出力したデータが書き込まれる。 マスクビット111 の内容が「1」のときは、アンド
回路114 の出力は、インバータ119 により「0
」に固定されているが、マスクビット111 の内容が
「0」のときは、アンド回路114 の出力は、EI信
号と割込み要求フラグ112 とにより決定される。 ここで、EI信号はベクタ割込み許可・禁止信号で、E
I信号が「1」のときに割込み処理が許可される。 【0014】プライオリティビット116 および11
7 は割込み要求信号7の優先順位を指定するビットで
、2ビットのプライオリティビット0、1、2、3の4
個のレベル(0が最も優先順位レベルが高く、3が最も
低い)の指定を行う。プライオリティビット116 が
上位、117 が下位ビットである。 【0015】比較器118 は、スキャンカウンタ15
の出力と、プライオリティビット116 および117
の内容との比較を行っており、両方が一致すると出力
を「1」にする。従って、マスクビットが「0」、EI
信号が「1」のときINT(0)信号が「1」になり、
比較器118 の出力が「1」になると、アンド回路1
15 の出力としてのベクターアドレステーブル作成信
号であるRA信号は「1」となりオア回路22の出力3
1も「1」となる。 【0016】CLK信号はタイミングクロック信号であ
り、出力回路18a はCLK信号が「0」のタイミン
グでオア回路22の出力を読み込み、次にCLK信号が
「1」になると出力する。 【0017】スキャンカウンタ15は、優先順位をスキ
ャンするカウンタで、通常、「0→1→2→3→0…」
というように、優先順位レベルをスキャンするためにス
キャン信号28および29を順次繰り返し出力している
。しかし、スキャンカウンタ15の内容が実行中優先順
位レジスタ (以下、「ISPR」という。)16の出
力30の内容と一致した場合にクリアされて、また「0
」からカウントを始める。ISPR16の内容が「2」
の場合は、「0→1→2→0→…」のようにカウントす
る。また、スキャンカウンタ15は、オア回路22の出
力が「1」のときカウント動作を中断し、内容を保持し
ている。 【0018】ISPR16は、CPU2が割込み処理を
行っている割込み要求の優先順位を記憶しており、CP
U2の制御信号9のうちの1本であるOEVC信号が「
1」のとき、スキャンカウンタ15の出力であるスキャ
ン信号28および29を読み込む。ここで、OEVC信
号は、発生した割込みに対応したベクタアドレステーブ
ル17のアドレスを出力し、またISPR16に発生し
た割込みの優先順位を記憶させるベクタアドレスISP
R記憶信号である。しかし、以前にISPR16に記憶
されていた内容はそのまま保持されるが、ISPR16
の出力30には優先順位の高いレベルの方が出力される
。また、OEVC信号が出力されると、IC(0)11
、IC(1)12、IC(2)13およびIC(3)1
4のアンド回路115 に対応するアンドゲートの出力
が「1」となったときに、対応する割込みベクタアドレ
スが、ベクタアドレステーブル17から出力バッファ1
9を介して内部データバス20に読み出される。CPU
2は、この割込みベクタアドレスにより割込み要求信号
7の種類を判別する。 【0019】CPU2の制御信号9のうち1本である割
込み要求フラグ112のクリアを行う割込み要求フラグ
クリア信号であるCLRIF信号が「1」となると、ア
ンド回路110 の出力が「1」となり割込み要求フラ
グ112 が「0」にリセットされる。なお、RESE
T(リセット)信号はINTC4を初期化する信号で、
RESET信号が「1」になると、割込み要求フラグ1
12 は「0」、マスクビット111 は「1」、プラ
イオリティビット116 および117 は「1」およ
び「1」に、ISPR16は割込み処理が何も実行され
ていない状態に初期化される。 【0020】いま、INT(0)、INT(1)、IN
T(2)、およびINT(3)信号について、マスクビ
ット111 がそれぞれ「0」、「0」、「0」、「0
」、プライオリティビット116 および117 が「
1、0」(優先順位レベル2)、「1、0」(優先順位
レベル2)、「0、0」(優先順位レベル0)、「0、
1」(優先順位レベル1)に設定している場合を、図1
4のタイミング図を用いて説明する。 【0021】図14において、INT(0)信号がT2
タイミングで発生すると、T4タイミングでスキャンカ
ウンタ15の出力が優先順位レベル3を示すので、比較
器18で一致が発生し、アンド回路115 の出力のR
A信号が「1」になる。すると、オア回路22の出力が
「1」になるので、スキャンカウンタ15の内容がレベ
ル2で停止する。T5タイミングでは、INTRQ信号
が「1」となり、INT(0)信号が受付けられ、CP
U2に対し割込み処理を要求する。 【0022】INTRQ信号に対応して、CPU2はO
EVC信号をT6タイミングで「1」にする。T7タイ
ミングでは、ISPR16の出力が優先順位レベル2を
示す。ここで、CPU2がCLRIF信号を「1」にし
たとすると、割込み要求フラグ112 が「0」にクリ
アされる。すると、アンド回路114 および115
の出力が「0」、オア回路22の出力も「0」となる。 すると、T8タイミングではスキャンカウンタ15の内
容がISPR16の出力と一致するため、スキャンカウ
ンタ15はクリアされて優先順位レベル0からスキャン
が始まる。 【0023】T10タイミングでINT(2)信号が発
生すると、T11タイミングでスキャンカウンタ15の
出力とIC(1)12内のプライオリティビット内容と
が一致するため、T11タイミングでINTRQ信号が
「1」となり、優先順位レベル0のINT(2)信号が
受付けられる。すると、T11タイミング以降、スキャ
ンカウンタ15の内容は「0」に固定されてしまう。次
に、T14タイミングでINT(3)信号が発生したと
しても、スキャンカウンタ15の内容が「0」のため、
IC(3)14内の比較器で一致出力は発生しないので
、現在受付中のINT(2) 信号(優先順位レベル0
)より優先順位レベルが低いINT(3)信号(優先順
位レベル1)は受付けられない。 【0024】割込み処理の終了時に、CPU2がISP
R16に記憶されている最も優先順位の高いレベルをク
リアするCLRIP信号を発生する。T15タイミング
でCPU2がCLRIP信号を「1」にすると、ISP
R16は、T16タイミングで現在出力中の優先順位レ
ベル0をリセットし、一つ前の優先順位レベル2を出力
する。すると、スキャンカウンタ15は再び「0→1→
」の内容で順次スキャンを行う。 【0025】以上のように、従来は、スキャンカウンタ
による優先順位レベルの順次スキャンにより割込み優先
順位制御を行っており、優先順位レベルの低い割込み処
理中にも優先順位の高い割込み処理が割込んで実行でき
る。また、優先順位レベルの高い割込み処理中、優先順
位レベルの低い割込み処理要求は実行できない。 【0026】 【発明が解決しようとする課題】しかし、この従来の割
込み優先順位制御手段を備えるINTCでは、優先順位
を順次スキャンして検索するため、優先順位レベルが多
くなればスキャン動作が一巡するのに時間が多くかかっ
てしまう欠点がある。最近のマイクロコンピュータでは
、割込み要求信号の本数が多くなり、またきめ細かな制
御を行うため、優先順位指定レベルの数が8〜16に拡
大している。もし、優先順位レベルが8レベルの場合で
は、スキャンが一巡するのに8タイミング必要となる。 この場合、割込み要求信号が発生してから受付けられる
までの時間(以下、「応答時間」という。)が最大16
タイミング必要となり遅くなる。このような従来のIN
TCは、最近応用が広がっているリアルタイム制御分野
に対応したマイクロコンピュータには応答時間の問題で
適用できない欠点がある。 【0027】本発明の目的は、前記の欠点を除去するこ
とにより、優先順位指定レベルの数が多くなっても応答
時間を短縮できる割込みコントローラを提供することに
ある。 【0028】 【課題を解決するための手段】本発明は、入力される複
数の割込み要求信号の優先順位を制御して処理手段に出
力する手段を備えた情報処理装置における割込みコント
ローラにおいて、入力される一般の各割込み要求信号に
2n 個(nは自然数)の優先レベルを設定しこの設定
された優先順位レベルと装置ごとに定められた優先順位
指定との組合わせにより最大(n+1)個のタイミング
で割込み要求を検出する複数の割込み要求信号制御装置
と、入力される禁止不可割込み要求信号をあらかじめ定
められた順序に従い1タイミングで検出する禁止不可割
込み要求信号制御装置と、優先順位レベルをスキャンす
る(n+1)個のタイミング信号を順次発生するステー
ジカウンタと、前記処理手段で現在実行中の割込み処理
の優先順位レベルを記憶する実行中優先順位レジスタと
、この優先順位レジスタの出力に従い現在実行中の割込
みを制御する現在実行中割込み制御装置とを備えたこと
を特徴とする。 【0029】また、本発明は、前記割込み要求信号制御
装置は、n個のタイミングにおいて発生した全ての割込
み要求信号の優先順位レベルと前記実行中優先順位レベ
ルの記憶内容との比較を最上位レベルから最下位レベル
に向かって順次行い、一連の全てのレベル比較で最も高
い優先順位レベルを有する割込み要求を優先順位が高い
と検出する手段と、最も高い優先順位レベルを有する割
込み要求が同時に二つ以上ある場合には、装置の指定優
先順位に従って検出する手段とを含み、前記禁止不可割
込み要求信号制御装置は、前記割込み要求信号制御装置
におけるnタイミングに続く1タイミングで検出する手
段を含むことができる。 【0030】また、本発明は、前記情報処理装置は、マ
イクロコンピュータであることが好ましい。 【
0031】 【作用】割込み信号制御装置は、入力された各割込み要
求信号に2n 個(nは自然数)の優先順位レベルを設
定し、nタイミングにおいて発生した全ての割込み要求
信号の優先順位レベルと、優先順位レジスタの記憶内容
との比較を最上位レベルから最下位レベルに向かって順
に行い、一連の全てのレベル比較で最も高い優先順位レ
ベルを有する割込み要求を検出する。また、最も高い優
先順位レベルを有する割込み要求が同時に二つ以上ある
場合には装置ごとの指定優先順位に従って1タイミング
で検出する。そして、禁止不可割込み要求信号制御手段
は前記nタイミングに続く次の1タイミングで禁止不可
割込み要求を検出する。 【0032】従って、例えば、優先順位レベルが8レベ
ル(n=3)の場合、最大n+1=4タイミングあれば
よくなり、大幅に応答時間を短縮することができる。 【0033】また、いろいろな割込み要求信号に対して
柔軟に対応することができる。 【0034】 【実施例】以下、本発明の実施例について図面を参照し
て説明する。 【0035】図1は本発明の第一実施例を示すブロック
構成図、および図12は本発明が適用されるマイクロコ
ンピュータの要部を示すブロック構成図である。 【0036】本第一実施例は、マイクロコンピュータ1
の周辺機能ブロック5から入力される割込み要求信号7
としての、4個の割込み信号であるINT(0)、IN
T(1)、INT(2)およびINT(3)信号、なら
びに禁止不可割込み要求信号(以下、NMI信号という
。)を制御して処理手段としてのCPU2に渡す手段を
備えたINTC4において、 【0037】本発明の特徴とするところの、入力される
各割込み要求信号であるINT(0)〜INT(3)信
号に2n 個(nは自然数)の優先レベルを設定しこの
設定された優先順位レベルと装置ごとに定められた指定
優先順位との組合わせによりnタイミングで割込み要求
を検出する四つの割込み要求信号制御装置(以下、「I
C(0)〜IC(3)」という。)11〜14と、入力
されるNMI信号をあらかじめ定められた順序に従い1
タイミングで検出する禁止不可割込み要求信号制御装置
(以下、「ICNMI」という。)45と、優先順位レ
ベルをスキャンする(n+1)個のタイミング信号を順
次発生するステージカウンタ32と、CPU2で現在実
行中の割込み処理の優先順位レベルに記憶する実行中優
先順位レジスタ(以下、「ISPR」という。)16と
、このISPR16の出力に従い現在実行中の割込みを
制御する現在実行中割込み制御装置 (以下、「ICI
SPR」という。)40とを備えている。 【0038】なお、図1において、17はベクタアドレ
ステーブル、18a はINTRQ信号 (割込み処理
要求信号)を出力する出力回路、19は出力バッファ、
20は内部データバス、23はライト制御回路、および
36〜38はpチャネルMOSトランジスタである。 【0039】次に、図2、図3、図4および図5を用い
て、各部の構成と動作を説明する。ここで図2はステー
ジカウンタ32の詳細回路図、図3はIC(0)11〜
IC(3)14 (割込み要求信号制御装置) の詳細
回路図、図4はICISPR40 (現在実行中割込み
制御装置) の詳細回路図、および図5はICNMI4
5 (禁止不可割込み要求信号制御回路) の詳細回路
図である。 【0040】図1および図3において、従来例の図13
と同一の参照番号で示す手段は同一の動作を行う。ここ
では、異なる部分だけの説明を行う。 【0041】図1において、ステージカウンタ32は、
割込み要求の優先順位レベルをスキャンするタイミング
信号であるSTG(1)、STG(2)およびSTG(
3)信号ならびにINTRQ信号を出力するタイミング
を決めるSTG(0)信号を発生し、タイミング制御を
行う。 【0042】ISPR16は、IC(0)11、IC(
1)12、CPU(2)13およびIC(3)14から
出力される優先順位レベルをOEVC信号が「1」とな
るタイミングで読み込み、次のCLK信号に同期してI
SPR16に記憶されている優先順位レベルの最も高い
値をエンコードしたISPR(1)信号42およびIS
PR(0)信号41として出力する。また、ISPR1
6は、OEVC信号が「1」となると、ICNMI45
から出力されるRA信号を読み込む。ここで、RA信号
はベクタテーブルを作成する信号である。 【0043】さらに、ISPR16は、割込み要求信号
INT(0)〜INT(3)が何も受付けられていない
とき、あるいは、ICNMI45からRA信号「1」が
出力され、ISPR16内にラッチされている間は、I
SPR16に優先順位が記憶されていない場合には「0
」、記憶されている場合は「1」が出力されるISPR
の記憶有無識別信号であるENISPR信号43を「0
」にし、ISPR16に優先順位レベルが記憶されてい
て、かつ、ICNMI45からのRA信号「1」をIS
PR16内にラッチしていない場合は、ENISPR信
号43は「1」にする。ISPR16は、ISPR中の
最高レベルクリア信号であるCLRIP信号により現在
の優先順位レベルをクリアして一つ前の優先順位レベル
を出力する。さらに、ISPR16は、ICNMI45
からのRA信号「1」をラッチしている間、NMI割込
み処理中に他の全ての割込みを禁止する(「0」のとき
禁止)他割込み禁止信号であるNMIDI信号46を「
0」にしてアンド回路47の出力を「0」にする。ここ
で、ISPR(1)信号42は「2」の重みで、ISP
R(0)信号41は「1」の重みを示す。 【0044】出力回路18a はSTG(3)信号のタ
イミングのCLK信号が「0」のとき、オア回路22の
出力を読み込み、次のCLK信号のタイミングで出力し
、タイミング信号STG(0)のタイミングでアンド回
路34を介してINTRQ信号を出力する。また、出力
回路18a はRESET信号とCLRIF信号により
「0」に初期化される。pチャネルMOSトランジスタ
36、37および38はCLK信号が「1」のとき、イ
ンバータ33の出力が「0」となることで導通し、VD
Dレベルすなわち「1」が、ベクタ割込み要求検出信号
であるSLPRH信号、ならびに割込みの優先順位判別
信号であるCM(1)信号およびCM(2)信号に印加
される。また、nチャネルMOSトランジスタ48はC
LK信号が「1」の間遮断され、ディフォルトの優先順
位判別信号であるCMOT信号とCMIN信号のレベル
を保持する。SLPRH信号、CM(1)、およびCM
(2)信号にはそれぞれ図外のコンデンサが付加されて
いて、CLK信号が「1」の間に「1」、「1」、「1
」に充電される。(以下、「プリチャージされる」とい
う。) 【0045】IC(3)14のCMOT信号とIC(2
)13のCMIN信号とを接続し、同様に、IC(2)
13のCMOT信号とIC(1)12のCMIN信号、
IC(1)12のCMOT信号とIC(0)11のCM
IN信号、IC(0)11のCMOT信号とICISP
R40のCMIN信号、ならびにICISPR40のC
MOT信号とICNMI45のCMIN信号をそれぞれ
接続し、ICNMI45のCMOT信号はnチャネルM
OSトランジスタ48を通して接地電位GNDに接続す
る。 【0046】図2はステージカウンタ32の詳細を示す
回路図である。 【0047】初期状態においてRESET信号が「1」
になると、CLK信号が「0」になるタイミングでラッ
チ321 は「1」、ラッチ323 および325 は
「0」およびRSラッチ327 は「0」に初期化され
る。すると次のCLK信号が「1」のタイミングでは、
ラッチ322 が「1」、ラッチ324 および326
は「0」となる。次に、CLK信号が「0」になると
、ラッチ322 の出力「1」はアンド回路330 を
介してCLK信号が「0」のときラッチ323 に読み
込まれる。同様にして、CLK信号が「1」のときラッ
チ323 の出力をラッチ324 が読み込んで「1」
となり、アンド回路331 を介してCLK信号が「0
」のときラッチ325 に読み込まれる。 【0048】いま、CLRIF信号が「0」、SLPR
H信号が「1」とすると、インバータ341 の出力が
「0」となりアンド回路332 の出力が「0」となる
ため、RSラッチ327 は「0」のままである。アン
ド回路339 および340 は「0」、オア回路33
8 は「0」のため、CLK信号が「0」となると、ラ
ッチ322 は「0」、ラッチ324 は「1」、アン
ド回路343 は「1」となり、STG(2)信号が「
1」になる。また、次のCLK信号が「0」のときラッ
チ325 は「1」になり、そのCLK信号が「1」に
なるとラッチ325 は「0」、ラッチ326 は「1
」となり、CLK信号が「0」のときアンド回路344
は「1」となりSTG(3)信号が「1」になる。S
LPRH信号が「0」の間は、RSラッチ327 は「
1」になることがなく、ラッチ321 および322
とラッチ323 および324 とラッチ325 およ
び326 との間で交互に「1」と「0」とが順次繰り
返すので、STG(1)信号とSTG(2)信号とST
G(3)信号とが順番に出力される。 【0049】SLPRH信号が「1」になると、インバ
ータ341 の出力が「1」となり、ラッチ326 の
出力が「1」で、CLK信号が「0」のときRSラッチ
327 が「1」にセットされる。次に、CLK信号が
「1」となるとラッチ328 は「1」となり、STG
(0)信号が出力される。次に、SLPRH信号が「1
」となるとアンド回路339 が「0」となるので、オ
ア回路338 は「0」となり、CLRIF信号が「1
」になるまでSTG(1)信号は出力されない。 【0050】次に、CLRIF信号が「1」となると、
アンド回路340 が「1」となるのでCLK信号が「
0」となるとラッチ321 が「1」になる。CLRI
F信号によりオア回路333 が「1」となるため、R
Sラッチ327 が「0」にリセットされる。従って、
STG(0)信号に続いてSTG(1)信号が出力され
る。 【0051】次に、図3を用いて代表としてIC(0)
11の動作を説明する。 【0052】INT(0)信号が入力されてマスクビッ
ト111 が「0」、EI信号が「1」のとき、アンド
回路114 の出力が「1」になる。プライオリティビ
ット116 は「2」の重み、プライオリティビット1
17 は「1」の重みである。プライオリティビット1
16 の内容が「0」のときインバータ120 の出力
が「1」になる。STG(1)信号が「1」となるとC
LK信号が「0」のタイミングでアンド回路121 の
出力が「1」となり、nチャネルMOSトランジスタ1
22 が導通してCM(1)信号を「0」にする。CM
(1)信号はCLK信号が「1」のときプリチャージさ
れていて「1」となっているが、アンド回路121 が
「1」となると「0」になる。同時に、オア回路124
およびアンド回路125を介してRSラッチ126
が「1」にセットされる。 【0053】次に、CLK信号が「1」となると、ラッ
チ127 が「1」となり、STG(3)信号が「1」
となるときにアンド回路141 が「1」になる。イン
バータ142 が「0」になるとnチャネルMOSトラ
ンジスタ144 が導通せず、前のCLK信号の「0」
により導通したpチャネルMOSトランジスタ146
でプリチャージしたCMIN信号と、ICISPR40
を介してGNDに接続されたCMOT信号が「0」のと
きのインバータ145 の出力が「1」になり、アンド
回路143 が「1」となって、RA信号を出力する。 【0054】プライオリティビット117 が「0」で
ラッチ127 が「1」のとき、STG(2)信号が「
1」となるとCLK信号が「0」のタイミングでアンド
回路128 が「1」となり、nチャネルMOSトラン
ジスタ129 が導通しCM(2)信号を「0」にする
。CM(2)信号はCLK信号が「1」のときプリチャ
ージされていて「1」となっているが、アンド回路12
8 が「1」となると「0」となる。 【0055】アンド回路132 はプライオリティビッ
ト117 が「1」CM(2)信号が「0」でSTG(
2)信号が「1」のとき出力が「1」となる。また、ア
ンド回路149 は、RA信号が「0」で、CLK信号
が「0」のSTG(3)信号が「1」のタイミングで「
1」となる。 オア回路140 は、アンド回路132 の出力が「1
」または、RESET信号が「1 」、もしくはCLR
IF信号が「1」で、アンド回路149 が「1」のと
きに「1」となり、かつ、次のCLK信号が「0」のタ
イミングでRSラッチ126 は「0」に初期化される
。 【0056】オア回路140 の出力が「0」のときイ
ンバータ133 の出力が「1」となり、ラッチ127
の出力が「1」でSTG(3)信号が「1」のときア
ンド回路135 の出力が「0」となるので、nチャネ
ルMOSトランジスタ134 が導通し、SLPRH信
号を「0」にする。 ラッチ127 の出力が「1 」でSTG(1)、(2
)および(3)信号が「0」のとき、つまりSTG(0
)信号が「1」のとき、アンド回路136 が「1」と
なり、プライオリティビット116 およひ117 の
出力がそれぞれ出力バッファ138 および139 を
介してPR(1)およびPR(0)信号上に読み出され
る。 【0057】次に、ICISPR40の説明を図4を用
いて説明する。 【0058】図4において、図3と下二桁が同じ参照番
号の回路は同じ動作をする。図3と図4の違いは、図3
のアンド回路114 の出力がENISPR信号に置き
換わり、プライオリティビット116 および117
の出力がISPR(1)およびISPR(0)信号に置
き換わり、アンド回路110 、132 、135 お
よび136 と、オア回路140 と、nチャネルMO
Sトランジスタ134 および144 と、インバータ
131 および133 と、ノア回路137 とが削除
されて、RA信号がないだけ他の回路は全く同一の構成
である。 【0059】次に、ICNMI45の動作を図5を用い
て説明する。 【0060】RSラッチ512 はNMI信号が「1」
のときにセットされ、リセットされるのはRESET信
号が入ってきたとき、またはCLRIF信号が「1」で
RSラッチ512 の出力Qが「1」でアンド回路51
0 の出力が「1」となったときである。アンド回路5
41 の出力が「1 」となるのは、RSラッチ512
の出力Qが「1」でSTG(3)信号のタイミングで
「1」となりインバータ542 を介してnチャネルM
OSトランジスタ544 を遮断する。また、CMOT
信号は直接GNDに接続されているので「0」で、CM
IN信号はCLK信号が「1」のタイミングでプリチャ
ージされているので「1」となり、アンド回路543
からのRA信号は「1」となる。RA信号が「0」のと
き、アンド回路549 の出力はSTG(3)信号が「
1」、CLK信号が「0」のタイミングで「1」となる
。 【0061】オア回路500 は、CLRIF信号が「
1」またはRESET信号が「1」、またはアンド回路
549 の出力が「1」のときに出力「1」となる。ア
ンド回路535 は、RSラッチ512 の出力Qが「
1」、インバータ533 の出力が「1」(オア回路5
00 の出力が「0」)でSTG(3)信号が「1」、
CLK信号が「0」のタイミングで出力「1」となり、
nチャネルMOSトランジスタ534 が導通するので
、SLPRH信号が「0」となる。 【0062】また、ICNMI45に入力されるNMI
信号は、ICNMI45内部にプライオリティビットと
割込み要求をマスクするマスクビットを持たず、EI信
号の影響を受けないので、受付けを禁止することが不可
能な割込み要求信号となる。 【0063】次に、図1の動作を図6に示すタイミング
チャートを用いて説明する。 【0064】いま、INT(0)、INT(1)、IN
T(2)およびINT(3)信号の各マスクビットがそ
れぞれ「0」、「0」、「0」、「0」に、プライオリ
ティビット116 、117 がそれぞれ「1、0」(
優先順位レベル2)、「1、0」(優先順位レベル2)
、「0、0」(優先順位レベル0)、「0、1」(優先
順位レベル1)に設定されている場合を考える(従来例
と同じ)。また、EI信号も「1」となっている。 【0065】STG(1)信号とSTG(2)信号とS
TG(3)信号が順次「1」と「0」とを交互に繰り返
して出力しており、T3タイミングでINT(1)信号
が「1」となると割込み要求フラグ112 が「1」と
なる。このとき、割込み要求信号が全く受付けられてお
らずISPR16の出力ENISPR信号43は「0」
となっているので、ICISPR40のアンド回路42
1 は「0」のままである。同様にIC(0)11、I
C(2)13、IC(3)14のアンド回路121 に
対応する回路の出力は「0」、「0」、「0」であるた
め、CM(1)信号は「1」のままとなる。するとT4
タイミングではRSラッチ126 はCLK信号が「0
」のタイミングで「1」となる。 【0066】T6タイミングでは、ラッチ127 の出
力が「1」となりSTG(3)信号が「1」になるタイ
ミングでアンド回路141 の出力が「1」となり、前
のCLK信号が「1」でプリチャージされたCMIN信
号をnチャネルMOSトランジスタ144 で遮断し、
ICISPR40およびIC(0)11のインバータ1
42 が「1」のためGNDから直接接続されているイ
ンバータ145 の出力の「1」と、プリチャージによ
って「1」となっているCMIN信号とによりアンド回
路143 の出力が、つまりRA信号が「1」となる。 アンド回路128 の出力はプライオリティビット11
7 が「1」のため「0」となるのでCM(2)信号は
「1」となる。アンド回路132 の出力はCM(2)
信号が「1」となりインバータ131 が「0」のため
RSラッチ126 はリセットされない。INT(1)
信号に対応するRA信号が「1」のため、T6タイミン
グでCLK信号が「0」になると出力回路18a が「
1」となる。また、STG(3)信号が「1」となるタ
イミングでアンド回路135 の出力は「1」、SLP
RH信号は「0」となり、T7タイミングでSTG(0
)信号が発生する。T7タイミングでSTG(0)信号
が「1」であり出力回路18a 出力が「1」となるの
でINTRQ信号が「1」となり、CPU2に割込み処
理を要求する。 【0067】次に、T9タイミングで、CPU2よりO
EVC信号が出力されると、INT(1)信号に対応す
るベクタアドレスが出力バッファ19を介して内部デー
タバス20上に読み出されるとともに、INT(1)信
号のプライオリティビット116 および117 の内
容がPR(1)およびPR(0)信号上に読み出され、
ISPR16に読み込まれる。 【0068】T10タイミングでは、ISPR16の出
力が優先順位レベル2となり、ISPR(1)信号42
が「1」、ISPR(0)信号41が「0」、ENIS
PR信号43が「1」になる。また、CPU2 からC
LRIF信号が出力される。CLK信号が「0」となる
とRSラッチ327 が「0」になりまたラッチ328
が「0」となる。次にT11タイミングではSTG(
1)信号が発生する。 【0069】T13タイミングでINT(2)信号が発
生した場合は、T14タイミングにおいて、IC(2)
13のアンド回路121 に対応する回路が「1」にな
り、CLK信号が「0」のタイミングでIC(2)13
のRSラッチ126 に対応する回路が「1」となる。 アンド回路421 は「0」であり、またアンド回路4
25 の出力は「0」であるので、RSラッチ426
は「0」のままである。以下、INT(1)信号の場合
と同様に、STG(2)、STG(3)およびSTG(
0)信号がT15、T16およびT17タイミングで発
生し、T16の次のタイミング(T17)でINTRQ
信号が「1」となる。 【0070】次に、CPU2がOEVC信号を「1」に
すると、ISPR16が優先順位レベル0を読み込む。 つまり優先順位の高い割込みを受付ける。また、CLR
IF信号によりステージカウンタ32はSTG(1)信
号から出力する。 【0071】次に、T19タイミングでINT(3)信
号が発生した場合は、T20タイミングにおいてINT
(3)信号に対応する優先順位のチェックが始まる。T
20タイミングではISPR16の出力であるISPR
(1)42、ISPR(0)41信号はそれぞれ「0」
、「0」となっているため、アンド回路421 が「1
」となり、CM(1)信号が「0」となる。すると、I
C(3)14のアンド回路125 に対応する回路の出
力が「0」のままであるため、IC(3)14のRSラ
ッチ126 に対応する回路は「0」のままであり、T
22タイミングになってもIC(3)14のRA信号は
「0」のままである。また、T23タイミングにINT
RQ信号も発生しない。従って、優先順位レベル1のI
NT(3)信号は優先順位レベル0のINT(1)信号
の割込み処理中に割り込めない。T23タイミングでC
LRIP信号が出力されるとISPR16の内容が一つ
前の優先順位レベル2となる。 【0072】次に、T26タイミングでINT(0)信
号が発生した場合は、T27タイミングでは、ISPR
16の出力ISPR(1)42、ISPR(0)41信
号はそれぞれ「1」、「0」となっているため、アンド
回路421 が「0」となり、CM(1)信号が「1」
になる。アンド回路425 の出力が「1」になりRS
ラッチ426 がセットされCLK信号が「1」になる
タイミングでラッチ427 の出力は「1」となる。I
SPR(0)信号41が「0」のためインバータ423
が「1」に、アンド回路428 の出力は「1」にな
り、T28タイミングでSTG(2)信号が出力される
と、CM(2)信号は「0」になる。しかし、ISPR
(0)信号が「0」のため、アンド回路432 の出力
は「0」のままなので、オア回路440 の出力は「0
」となりRSラッチ426 はリセットされない。 【0073】INT(0)信号の優先順位レベル(レベ
ル2)が同じなのでプライオリティビット116 およ
び117 は同一で、IC(0)11の回路も同様に動
作し、ラッチ127 の出力は「1」となる。STG(
3)信号が「1」となるタイミングでICISPR40
のアンド回路441 とIC(0)11のアンド回路1
41 の出力が「1」となり、インバータ442 とイ
ンバータ142 の出力が「0」となって、nチャネル
MOSトランジスタ444 と144 が遮断される。 【0074】従って、CLK信号が「1」となるタイミ
ングでプリチャージされたCMIN信号およびCMOT
信号のGNDに接続されているICISPR40のCM
OT信号だけが「0」となり、ICISPR40のCM
IN信号とIC(0)11のCMIN信号およびCMO
T信号は「1」のままとなる。ICISPR40のイン
バータ445 の出力が「1」となり、アンド回路44
3 の出力は「1」となって、インバータ448 の出
力は「0」、アンド回路449 の出力も「0」となっ
てオア回路440の出力は「0」となる。 【0075】IC(0)11では、インバータ145
の出力が「0」となり、アンド回路143 の出力が「
0」となるのでRA信号は「0」のままである。同時に
、インバータ148 の出力が「1」となり、アンド回
路149 の出力が「1」となってオア回路140 の
出力を「1」にし、ラッチ126 をリセットする。つ
まり、INT(0)信号の割込みが受付けられず、IN
TRQ信号も出力されない。 【0076】T29タイミングで、NMI信号が発生し
た場合、ICNMI45はプライオリティ制御、マスク
ビットおよびEI信号の影響を受けないので、T30の
タイミングでSTG(1)信号が「1」のとき、無条件
にアンド回路541 の出力は「1」となり、インバー
タ542 を介してnチャネルMOSトランジスタ54
4 を遮断する。T32タイミングにおいて、STG(
3)信号が「1」でCLK信号が「0」のときにRSラ
ッチ512 の出力Qが「1」となっているので、アン
ド回路535 の出力が「1」となり、nチャネルMO
Sトランジスタ534 が導通し、SLPRH信号は「
0」となる。 【0077】さらに、T32タイミングで、CMIN信
号は直前のCLK信号が「1」のときにプリチャージさ
れているため「1」を保持していて、ICNMI45の
CMOT信号は直接GNDに接続されているので「0」
で、アンド回路543 からのRA信号が「1」となり
、T33タイミングのSTG(0)信号が「1」のとき
にINTRQ信号をCPU2に出力する。 【0078】次に、タイミングチャートは示さないが、
現在何も割込みを受付けていないときに、優先順位レベ
ル0、プライオリティビット116 、117 が「0
」、「0」のINT(0)信号とINT(1)信号とが
発生した場合、つまり同一優先順位レベルの二つの割込
み信号が発生した場合は、同様に、STG(3)信号が
「1」のタイミングでIC(0)11とIC(1)12
のアンド回路141 の出力が「1」となり、インバー
タ142 の出力が「0」となるので、nチャネルMO
Sトランジスタ144 が遮断される。 【0079】いま、割込みを何も受付けていないので、
ICISPR40のラッチ427 の出力は「0」とな
っているのでアンド回路441 の出力は「0」でイン
バータ442 の出力が「1」となりnチャネルMOS
トランジスタ444 は導通していて、同様にICNM
I45のnチャネルMOSトランジスタ544 も導通
しているので、IC(0)11のCMOT信号はGND
に接続され「0」となり、IC(0)11のCMIN信
号とIC(1)12のCMOT信号およびCMIN信号
は「1」なので、IC(0)11のインバータ145
の出力だけが「1」なのでアンド回路143 の出力、
つまりINT(0)に対するRA信号は「1」となる。 しかし、IC(1)12のインバータ145 の出力は
「0」になり、アンド回路143 の出力、つまりIN
T(1)に対するRA信号は「0」となる。従って、同
一優先順位レベルのINT(0)信号とINT(1)信
号とが同時に発生してもINT(0)信号の方が優先さ
れる。 【0080】また、何も割込みを受付けていないときに
、優先順位レベル0、プライオリティビット116 お
よび117 が「0」、「0」のINT(0)信号と、
NMI割込み信号とが同時に入ってきた場合、STG(
3)信号のタイミングでIC(0)11のアンド回路1
41 が「1」となり、また、ICNMI45のアンド
回路541 も「1」となる。その結果、IC(0)1
1のnチャネルMOSトランジスタ144 が遮断され
、CLK信号が「1」のときのプリチャージによりCM
IN信号は「1」となっている。さらに、ICNMI4
5のnチャネルMOSトランジスタ544が遮断され、
CLK信号が「1」のときのプリチャージによりCMI
N信号は「1」となっているが、IC(0)11のCM
OT信号とICNMI45のCMIN信号は接続されて
いるので、IC(0)11のCMOT信号は「1」とな
る。よって、IC(0)11のアンド回路143 から
のRA信号は「0」のままで、INT(0)信号は受付
けられない。また、ICNMI45のCMOT信号は直
接GNDに接続されているので「0」となり、ICNM
I45のアンド回路543 からのRA信号が「1」と
なり、NMI信号が優先される。 【0081】優先順位レベル0の割込みが既に受付けら
れているときに、NMI信号が入ってきた場合は、前記
のIC(0)11と全く同じ理由でICISPR40の
アンド回路443 の出力は「1」にはならなく、IC
NMI45のアンド回路543 はSTG(3)信号の
タイミングで「1」を出力し、STG(0)信号に同期
してINTRQ信号をCPU2に出力し、NMI信号は
優先順位レベル0の割込み処理中でも割込むことができ
る。また、ICNMI45からRA信号「1」が出力さ
れると、ISPR16は、ENISPR信号43を「0
」にするので、アンド回路425 および421 の出
力は「0」に固定されRSラッチ426 はセットされ
ない。また、ISPR16はNMIDI信号46「0」
を出力し、アンド回路47の出力が「0」となるため、
IC(0)11、IC(1)12、IC(2)13およ
びIC(3)14内のアンド回路114 の出力が「0
」に固定され、INT(0)、INT(1)、INT(
2)およびINT(3)信号の割込み信号は受付けられ
なくなる。つまり、NMI信号が最高の優先度を持つ割
込み信号となる。 【0082】以上のように、優先順位レベルの低い割込
み要求の処理中に優先順位の高い割込み要求の処理が割
り込める制御を、プライオリティビットの重みの大きい
方から、重み別で優先順位をスキャンするため、従来の
INTCにくらべて高速に応答することができ、さらに
、現在受付中の割込み処理と同一の優先順位レベルの割
込みが発生した場合は割込みを受付けなかったり、同一
優先順位レベルの二つ以上の割込みが同時に発生した場
合でも、回路によって設定された優先順位(以下、「デ
ィフォルト値」という。)が高い方、図1のNMI、I
NT(0)、INT(1)、INT(2)、INT(3
)信号の順位で割込みを受付けて、ディフォルト値の低
い割込みを受付けない制御を行う。さらに、ICNMI
45を図1のように配置することにより、NMI信号は
優先順位レベル0の割込み信号と競合しても優先され、
優先順位レベル0の割込みが既に受付けられている場合
でも割込むことができ、禁止が不可能な最高の優先順位
の特別な割込みとなり、しかも、ICNMI45はIC
(0)11、IC(1)12、IC(2)13およびI
C(3)14と全く同一の制御で特別な制御を必要とし
ない。 【0083】従って、本第一実施例は、種々の割込み要
求のさまざまな割込み要求処理に対して、高速に、かつ
柔軟な対応ができる。 【0084】図7は本発明の第二実施例を示すブロック
構成図で、図8はそのステージカウンタ32の詳細回路
図、図9はIC(0)11〜IC(3)14の詳細回路
図、および図10はICISPR40の詳細回路図であ
る。 【0085】本第二実施例は、前述の第一実施例と比較
して、優先順位レベルが8レベルになっているが、優先
順位が8レベルの制御以外は全く同一の制御であり、同
一参照番号がつけられた回路は同様の動作を行う。 【0086】図7において、図1との違いは、ステージ
カウンタ32からSTG(4)信号が出力され、また、
IC(0)11、IC(1)12、IC(2)13およ
びIC(3)14に共通にCM(3)信号が入力されて
いることである。CM(3)信号にはCM(1)、CM
(2)信号と同様にプリチャージするpチャネルMOS
トランジスタ39が接続されている。また、IC(0)
11、IC(1)12、IC(2)13およびIC(3
)14はともにPR(2)信号49に接続され、PR(
2)信号49はISPR16に入力されている。ISP
R16からはISPR(2)信号44がICISPR4
0に対し出力されている。 PR(2)信号49はプライオリティビットの「4」の
重みを示す信号で、また、ISPR(2)信号44はI
SPR16の「4」の重みを示す信号である。 【0087】図8において、図2に対し、アンド回路3
47 と、インバータ348 と、ラッチ345 およ
び346 と、アンド回路349 とが追加され、出力
としてSTG(4)信号が追加される。このステージカ
ウンタ32は、図2とほぼ同様に動作するが、STG(
3)信号の次はSTG(4)信号が発生するため、通常
STG(1)→STG(2)→STG(3)→STG(
4)→STG(1)…のようにタイミング信号が発生す
る。 【0088】図9において、図3に対しCM(3)信号
およびSTG(4)信号と、インバータ150 および
154 と、アンド回路151 および153 と、n
チャネルMOSトランジスタ152 と、出力バッファ
155 と、プライオリティビット115 とが追加さ
れている。また、ノア回路137 にSTG(4)信号
が入力されている。インバータ120 および123
にはそれぞれプライオリティビット115 および11
6 がプライオリティビット116 および117 に
代わり入力されている。プライオリティビット115
は「4」の重みを示し、プライオリティビット115
、116 および117 で0〜7の8レベルの優先順
位を表す。従って、優先順位レベルのスキャンは「4」
の重みがSTG(1)信号、「2」の重みがSTG(2
)信号、「1」の重みがSTG(3)信号によりスキャ
ンされる。 【0089】図9の動作は、プライオリティビットが1
ビット追加された以外は図3と同じで、STG(4)信
号が発生したときに、RSラッチ126 が「0」にリ
セットされないとSLPRH信号が「1」となるので、
次のタイミングでSTG(0)信号が発生し、割込み要
求が受付けられたことになる。 【0090】図10において、図4に対し、CM(3)
信号およびSTG(4)信号と、インバータ450 お
よび454 と、アンド回路451 および453 と
、nチャネルMOSトランジスタ452 とが追加され
ている。また、ISPR(2)信号がインバータ420
に、ISPR(1)信号がインバータ423 に、I
SPR(0)信号がインバータ450 に入力されてい
る。図9と同様に、図10では「4」の重みから優先順
位レベルのスキャンを行う構成になっている。 【0091】図11は図5に対して、STG(3)信号
がSTG(4)信号になっただけで、回路構成上は全く
同一構成である。図11のICNMI40の動作は、図
5の4レベルのスキャン動作が8レベルの動作になった
のみで基本動作は図5と同じである。 【0092】以上のように、本第二実施例では、「4」
の重み→「2」の重み→「1」の重みと3タイミングで
8レベルの優先順位を制御する場合でも、STG(4)
信号が出力するタイミングで第一実施例と同様に、IC
NMI45のCMOT信号をGNDに接続して、ICI
SPR40、IC(0)11、IC(1)12、IC(
2)13およびIC(3)14のCMOT信号と、CM
IN信号とをそれぞれ接続することによって、同一優先
順位レベルの二つ以上の割込み要求に対し、ディフォル
ト値による優先順位の制御を1タイミングでスキャンす
ることができる。 【0093】以上から、優先順位レベルが16レベル(
24 ) となると、5タイミングでスキャンできるこ
とが容易に分かる。 【0094】従って、2n レベルの優先順位レベルは
、n+1タイミングで割込み要求に対しての優先順位判
別制御ができることは明らかである。 【0095】 【発明の効果】以上、説明したように本発明の割込みコ
ントローラは、優先順位レベルのレベル数が2n 以内
の場合に、優先順位レベルのスキャンを2n →2n−
1 →…20 の順序で順次行い、次に、ディフォルト
値による優先順位を1タイミングでスキャンすることで
、わずかn+1回のタイミングで、同一優先順位レベル
であってもディフォルト値によって、禁止が可能な割込
み信号のうち、最も高い優先順位を持つ割込み信号を検
出することができ、さらに、禁止が不可能でかつ全ての
割込みの中で最も優先順位の高いNMI信号にも対応す
ることができる。 【0096】従って、本発明によれば、リアルタイム処
理を行うマイクロコンピュータに最適な種々の割込み要
求のさまざまな割込み要求処理に対し、高速に、かつ柔
軟な対応ができる割込みコントローラを提供することが
でき、その効果は大である。
における割込みコントローラに利用する。 【0002】本発明は、特に、割込み要求に対し、優先
順位を指定できる割込みコントローラに利用する。 【0003】本発明において、禁止不可割込み要求信号
とは、禁止することが不可で、優先順位の最も高い割込
み要求信号をいう。 【0004】 【従来の技術】一般に、マイクロコンピュータは、図1
2に示すような構成である。 【0005】図12において、マイクロコンピュータ1
は、メモリ3内のプログラムメモリから読み出した命令
に基づき、中央演算装置(以下、「CPU」という。)
2が処理を実行する。また、周辺機能ブロック5はCP
U2と内部バス6を介してデータの書込みまたは読出し
(以下、「アクセス」という。)を行い制御されるが、
CPU2とは独立して動作している。 【0006】周辺機能ブロック5としては、タイマおよ
びシリアルインタフェースブロック等があり、例えば、
タイマがある値になった場合や、シリアルデータの受信
が完了したりした場合等の特別な状態を周辺機能ブロッ
ク5が検出した場合に、周辺機能ブロック5がCPU2
にそのことを知らせるために割込み要求信号7を発生す
る。割込み要求信号7は割込みコントローラ(以下、「
INTC」という。)4に入力される。 【0007】INTC4は、割込み要求をCPU2に送
出してもよい状態(割込み許可状態)、他の割込み要求
の有無および割込み要求の優先順位の判別等を行い、条
件が整っていると割込み要求としてCPU2に対し割込
み処理要求信号(以下、「INTRQ信号」という。)
8を送出する。CPU2はINTRQ信号8を検出し受
付けると、INTC4に対し割込み要求を受付けたこと
を示す信号等種々の制御信号9を出力する。 【0008】割込み要求を受付けたCPU2は、対応す
る割込み要求信号7、つまり周辺機能ブロック5に応じ
た割込み処理を、従来実行していたプログラムを中断し
て実行する。 【0009】ここで、割込み要求信号7の優先順位の説
明を行う。割込み要求信号7が複数本ある場合は、割込
み要求信号7の種類により緊急に割込み処理を実行すべ
き割込み要求信号7(以下、「緊急割込み要求」という
。)と、遅くてもよい割込み要求信号7(以下、「一般
割込み要求」という。)とが存在する。 【0010】緊急割込み要求は、一般割込み要求の割込
み処理実行中でも一般割込み要求の割込み処理中に割込
んで対応する緊急な割込み処理を実行する必要がある。 従って、割込み要求信号7には各々に優先順位を設定す
る必要がある。そして、優先順位が高く設定された割込
み要求信号7に対する割込み処理は、優先順位が低く設
定された割込み要求信号7に対する割込み処理中でも割
込んで実行するように制御する必要がある。以上のよう
な優先順位制御はINTC4で行われる。 【0011】次に、図13に従来のINTC4の構成図
を示し、図14のタイミングチャートを用いて動作を説
明する。図13は、優先順位指定が4レベルの例である
。 【0012】図13において、INT(0)、INT(
1)、INT(2)およびINT(3)信号は、周辺機
能ブロック5から出力される割込み要求信号7であり、
それぞれの割込み要求信号制御装置IC(0)11、I
C(1)12、IC(2)13、およびIC(3)14
(以下、「IC(0)、IC(1)、IC(2)、IC
(3)」という。)に入力されている。IC(0)11
、IC(1)12、IC(2)13およびIC(3)1
4はそれぞれ同一の構造であるのでIC(0)11につ
いて説明する。 【0013】割込み要求信号7が発生し、INT(0)
信号が「1」になると、割込み要求フラグラッチ(以下
、「要求フラグビット」という。)112 が「1」に
セットされる。CPU2が内部アドレスバスでIC(0
)11の番地を指し、データを内部データバス20に出
力し、ライト信号を発生すると、ライト信号制御回路2
3の出力24が「1」となり、内部データバス20から
マスクビットラッチ( 以下、「マスクビット」という
。)111およびプライオリティビットラッチ (以下
、「プライオリティビット」という。)116 および
117 にCPU2の出力したデータが書き込まれる。 マスクビット111 の内容が「1」のときは、アンド
回路114 の出力は、インバータ119 により「0
」に固定されているが、マスクビット111 の内容が
「0」のときは、アンド回路114 の出力は、EI信
号と割込み要求フラグ112 とにより決定される。 ここで、EI信号はベクタ割込み許可・禁止信号で、E
I信号が「1」のときに割込み処理が許可される。 【0014】プライオリティビット116 および11
7 は割込み要求信号7の優先順位を指定するビットで
、2ビットのプライオリティビット0、1、2、3の4
個のレベル(0が最も優先順位レベルが高く、3が最も
低い)の指定を行う。プライオリティビット116 が
上位、117 が下位ビットである。 【0015】比較器118 は、スキャンカウンタ15
の出力と、プライオリティビット116 および117
の内容との比較を行っており、両方が一致すると出力
を「1」にする。従って、マスクビットが「0」、EI
信号が「1」のときINT(0)信号が「1」になり、
比較器118 の出力が「1」になると、アンド回路1
15 の出力としてのベクターアドレステーブル作成信
号であるRA信号は「1」となりオア回路22の出力3
1も「1」となる。 【0016】CLK信号はタイミングクロック信号であ
り、出力回路18a はCLK信号が「0」のタイミン
グでオア回路22の出力を読み込み、次にCLK信号が
「1」になると出力する。 【0017】スキャンカウンタ15は、優先順位をスキ
ャンするカウンタで、通常、「0→1→2→3→0…」
というように、優先順位レベルをスキャンするためにス
キャン信号28および29を順次繰り返し出力している
。しかし、スキャンカウンタ15の内容が実行中優先順
位レジスタ (以下、「ISPR」という。)16の出
力30の内容と一致した場合にクリアされて、また「0
」からカウントを始める。ISPR16の内容が「2」
の場合は、「0→1→2→0→…」のようにカウントす
る。また、スキャンカウンタ15は、オア回路22の出
力が「1」のときカウント動作を中断し、内容を保持し
ている。 【0018】ISPR16は、CPU2が割込み処理を
行っている割込み要求の優先順位を記憶しており、CP
U2の制御信号9のうちの1本であるOEVC信号が「
1」のとき、スキャンカウンタ15の出力であるスキャ
ン信号28および29を読み込む。ここで、OEVC信
号は、発生した割込みに対応したベクタアドレステーブ
ル17のアドレスを出力し、またISPR16に発生し
た割込みの優先順位を記憶させるベクタアドレスISP
R記憶信号である。しかし、以前にISPR16に記憶
されていた内容はそのまま保持されるが、ISPR16
の出力30には優先順位の高いレベルの方が出力される
。また、OEVC信号が出力されると、IC(0)11
、IC(1)12、IC(2)13およびIC(3)1
4のアンド回路115 に対応するアンドゲートの出力
が「1」となったときに、対応する割込みベクタアドレ
スが、ベクタアドレステーブル17から出力バッファ1
9を介して内部データバス20に読み出される。CPU
2は、この割込みベクタアドレスにより割込み要求信号
7の種類を判別する。 【0019】CPU2の制御信号9のうち1本である割
込み要求フラグ112のクリアを行う割込み要求フラグ
クリア信号であるCLRIF信号が「1」となると、ア
ンド回路110 の出力が「1」となり割込み要求フラ
グ112 が「0」にリセットされる。なお、RESE
T(リセット)信号はINTC4を初期化する信号で、
RESET信号が「1」になると、割込み要求フラグ1
12 は「0」、マスクビット111 は「1」、プラ
イオリティビット116 および117 は「1」およ
び「1」に、ISPR16は割込み処理が何も実行され
ていない状態に初期化される。 【0020】いま、INT(0)、INT(1)、IN
T(2)、およびINT(3)信号について、マスクビ
ット111 がそれぞれ「0」、「0」、「0」、「0
」、プライオリティビット116 および117 が「
1、0」(優先順位レベル2)、「1、0」(優先順位
レベル2)、「0、0」(優先順位レベル0)、「0、
1」(優先順位レベル1)に設定している場合を、図1
4のタイミング図を用いて説明する。 【0021】図14において、INT(0)信号がT2
タイミングで発生すると、T4タイミングでスキャンカ
ウンタ15の出力が優先順位レベル3を示すので、比較
器18で一致が発生し、アンド回路115 の出力のR
A信号が「1」になる。すると、オア回路22の出力が
「1」になるので、スキャンカウンタ15の内容がレベ
ル2で停止する。T5タイミングでは、INTRQ信号
が「1」となり、INT(0)信号が受付けられ、CP
U2に対し割込み処理を要求する。 【0022】INTRQ信号に対応して、CPU2はO
EVC信号をT6タイミングで「1」にする。T7タイ
ミングでは、ISPR16の出力が優先順位レベル2を
示す。ここで、CPU2がCLRIF信号を「1」にし
たとすると、割込み要求フラグ112 が「0」にクリ
アされる。すると、アンド回路114 および115
の出力が「0」、オア回路22の出力も「0」となる。 すると、T8タイミングではスキャンカウンタ15の内
容がISPR16の出力と一致するため、スキャンカウ
ンタ15はクリアされて優先順位レベル0からスキャン
が始まる。 【0023】T10タイミングでINT(2)信号が発
生すると、T11タイミングでスキャンカウンタ15の
出力とIC(1)12内のプライオリティビット内容と
が一致するため、T11タイミングでINTRQ信号が
「1」となり、優先順位レベル0のINT(2)信号が
受付けられる。すると、T11タイミング以降、スキャ
ンカウンタ15の内容は「0」に固定されてしまう。次
に、T14タイミングでINT(3)信号が発生したと
しても、スキャンカウンタ15の内容が「0」のため、
IC(3)14内の比較器で一致出力は発生しないので
、現在受付中のINT(2) 信号(優先順位レベル0
)より優先順位レベルが低いINT(3)信号(優先順
位レベル1)は受付けられない。 【0024】割込み処理の終了時に、CPU2がISP
R16に記憶されている最も優先順位の高いレベルをク
リアするCLRIP信号を発生する。T15タイミング
でCPU2がCLRIP信号を「1」にすると、ISP
R16は、T16タイミングで現在出力中の優先順位レ
ベル0をリセットし、一つ前の優先順位レベル2を出力
する。すると、スキャンカウンタ15は再び「0→1→
」の内容で順次スキャンを行う。 【0025】以上のように、従来は、スキャンカウンタ
による優先順位レベルの順次スキャンにより割込み優先
順位制御を行っており、優先順位レベルの低い割込み処
理中にも優先順位の高い割込み処理が割込んで実行でき
る。また、優先順位レベルの高い割込み処理中、優先順
位レベルの低い割込み処理要求は実行できない。 【0026】 【発明が解決しようとする課題】しかし、この従来の割
込み優先順位制御手段を備えるINTCでは、優先順位
を順次スキャンして検索するため、優先順位レベルが多
くなればスキャン動作が一巡するのに時間が多くかかっ
てしまう欠点がある。最近のマイクロコンピュータでは
、割込み要求信号の本数が多くなり、またきめ細かな制
御を行うため、優先順位指定レベルの数が8〜16に拡
大している。もし、優先順位レベルが8レベルの場合で
は、スキャンが一巡するのに8タイミング必要となる。 この場合、割込み要求信号が発生してから受付けられる
までの時間(以下、「応答時間」という。)が最大16
タイミング必要となり遅くなる。このような従来のIN
TCは、最近応用が広がっているリアルタイム制御分野
に対応したマイクロコンピュータには応答時間の問題で
適用できない欠点がある。 【0027】本発明の目的は、前記の欠点を除去するこ
とにより、優先順位指定レベルの数が多くなっても応答
時間を短縮できる割込みコントローラを提供することに
ある。 【0028】 【課題を解決するための手段】本発明は、入力される複
数の割込み要求信号の優先順位を制御して処理手段に出
力する手段を備えた情報処理装置における割込みコント
ローラにおいて、入力される一般の各割込み要求信号に
2n 個(nは自然数)の優先レベルを設定しこの設定
された優先順位レベルと装置ごとに定められた優先順位
指定との組合わせにより最大(n+1)個のタイミング
で割込み要求を検出する複数の割込み要求信号制御装置
と、入力される禁止不可割込み要求信号をあらかじめ定
められた順序に従い1タイミングで検出する禁止不可割
込み要求信号制御装置と、優先順位レベルをスキャンす
る(n+1)個のタイミング信号を順次発生するステー
ジカウンタと、前記処理手段で現在実行中の割込み処理
の優先順位レベルを記憶する実行中優先順位レジスタと
、この優先順位レジスタの出力に従い現在実行中の割込
みを制御する現在実行中割込み制御装置とを備えたこと
を特徴とする。 【0029】また、本発明は、前記割込み要求信号制御
装置は、n個のタイミングにおいて発生した全ての割込
み要求信号の優先順位レベルと前記実行中優先順位レベ
ルの記憶内容との比較を最上位レベルから最下位レベル
に向かって順次行い、一連の全てのレベル比較で最も高
い優先順位レベルを有する割込み要求を優先順位が高い
と検出する手段と、最も高い優先順位レベルを有する割
込み要求が同時に二つ以上ある場合には、装置の指定優
先順位に従って検出する手段とを含み、前記禁止不可割
込み要求信号制御装置は、前記割込み要求信号制御装置
におけるnタイミングに続く1タイミングで検出する手
段を含むことができる。 【0030】また、本発明は、前記情報処理装置は、マ
イクロコンピュータであることが好ましい。 【
0031】 【作用】割込み信号制御装置は、入力された各割込み要
求信号に2n 個(nは自然数)の優先順位レベルを設
定し、nタイミングにおいて発生した全ての割込み要求
信号の優先順位レベルと、優先順位レジスタの記憶内容
との比較を最上位レベルから最下位レベルに向かって順
に行い、一連の全てのレベル比較で最も高い優先順位レ
ベルを有する割込み要求を検出する。また、最も高い優
先順位レベルを有する割込み要求が同時に二つ以上ある
場合には装置ごとの指定優先順位に従って1タイミング
で検出する。そして、禁止不可割込み要求信号制御手段
は前記nタイミングに続く次の1タイミングで禁止不可
割込み要求を検出する。 【0032】従って、例えば、優先順位レベルが8レベ
ル(n=3)の場合、最大n+1=4タイミングあれば
よくなり、大幅に応答時間を短縮することができる。 【0033】また、いろいろな割込み要求信号に対して
柔軟に対応することができる。 【0034】 【実施例】以下、本発明の実施例について図面を参照し
て説明する。 【0035】図1は本発明の第一実施例を示すブロック
構成図、および図12は本発明が適用されるマイクロコ
ンピュータの要部を示すブロック構成図である。 【0036】本第一実施例は、マイクロコンピュータ1
の周辺機能ブロック5から入力される割込み要求信号7
としての、4個の割込み信号であるINT(0)、IN
T(1)、INT(2)およびINT(3)信号、なら
びに禁止不可割込み要求信号(以下、NMI信号という
。)を制御して処理手段としてのCPU2に渡す手段を
備えたINTC4において、 【0037】本発明の特徴とするところの、入力される
各割込み要求信号であるINT(0)〜INT(3)信
号に2n 個(nは自然数)の優先レベルを設定しこの
設定された優先順位レベルと装置ごとに定められた指定
優先順位との組合わせによりnタイミングで割込み要求
を検出する四つの割込み要求信号制御装置(以下、「I
C(0)〜IC(3)」という。)11〜14と、入力
されるNMI信号をあらかじめ定められた順序に従い1
タイミングで検出する禁止不可割込み要求信号制御装置
(以下、「ICNMI」という。)45と、優先順位レ
ベルをスキャンする(n+1)個のタイミング信号を順
次発生するステージカウンタ32と、CPU2で現在実
行中の割込み処理の優先順位レベルに記憶する実行中優
先順位レジスタ(以下、「ISPR」という。)16と
、このISPR16の出力に従い現在実行中の割込みを
制御する現在実行中割込み制御装置 (以下、「ICI
SPR」という。)40とを備えている。 【0038】なお、図1において、17はベクタアドレ
ステーブル、18a はINTRQ信号 (割込み処理
要求信号)を出力する出力回路、19は出力バッファ、
20は内部データバス、23はライト制御回路、および
36〜38はpチャネルMOSトランジスタである。 【0039】次に、図2、図3、図4および図5を用い
て、各部の構成と動作を説明する。ここで図2はステー
ジカウンタ32の詳細回路図、図3はIC(0)11〜
IC(3)14 (割込み要求信号制御装置) の詳細
回路図、図4はICISPR40 (現在実行中割込み
制御装置) の詳細回路図、および図5はICNMI4
5 (禁止不可割込み要求信号制御回路) の詳細回路
図である。 【0040】図1および図3において、従来例の図13
と同一の参照番号で示す手段は同一の動作を行う。ここ
では、異なる部分だけの説明を行う。 【0041】図1において、ステージカウンタ32は、
割込み要求の優先順位レベルをスキャンするタイミング
信号であるSTG(1)、STG(2)およびSTG(
3)信号ならびにINTRQ信号を出力するタイミング
を決めるSTG(0)信号を発生し、タイミング制御を
行う。 【0042】ISPR16は、IC(0)11、IC(
1)12、CPU(2)13およびIC(3)14から
出力される優先順位レベルをOEVC信号が「1」とな
るタイミングで読み込み、次のCLK信号に同期してI
SPR16に記憶されている優先順位レベルの最も高い
値をエンコードしたISPR(1)信号42およびIS
PR(0)信号41として出力する。また、ISPR1
6は、OEVC信号が「1」となると、ICNMI45
から出力されるRA信号を読み込む。ここで、RA信号
はベクタテーブルを作成する信号である。 【0043】さらに、ISPR16は、割込み要求信号
INT(0)〜INT(3)が何も受付けられていない
とき、あるいは、ICNMI45からRA信号「1」が
出力され、ISPR16内にラッチされている間は、I
SPR16に優先順位が記憶されていない場合には「0
」、記憶されている場合は「1」が出力されるISPR
の記憶有無識別信号であるENISPR信号43を「0
」にし、ISPR16に優先順位レベルが記憶されてい
て、かつ、ICNMI45からのRA信号「1」をIS
PR16内にラッチしていない場合は、ENISPR信
号43は「1」にする。ISPR16は、ISPR中の
最高レベルクリア信号であるCLRIP信号により現在
の優先順位レベルをクリアして一つ前の優先順位レベル
を出力する。さらに、ISPR16は、ICNMI45
からのRA信号「1」をラッチしている間、NMI割込
み処理中に他の全ての割込みを禁止する(「0」のとき
禁止)他割込み禁止信号であるNMIDI信号46を「
0」にしてアンド回路47の出力を「0」にする。ここ
で、ISPR(1)信号42は「2」の重みで、ISP
R(0)信号41は「1」の重みを示す。 【0044】出力回路18a はSTG(3)信号のタ
イミングのCLK信号が「0」のとき、オア回路22の
出力を読み込み、次のCLK信号のタイミングで出力し
、タイミング信号STG(0)のタイミングでアンド回
路34を介してINTRQ信号を出力する。また、出力
回路18a はRESET信号とCLRIF信号により
「0」に初期化される。pチャネルMOSトランジスタ
36、37および38はCLK信号が「1」のとき、イ
ンバータ33の出力が「0」となることで導通し、VD
Dレベルすなわち「1」が、ベクタ割込み要求検出信号
であるSLPRH信号、ならびに割込みの優先順位判別
信号であるCM(1)信号およびCM(2)信号に印加
される。また、nチャネルMOSトランジスタ48はC
LK信号が「1」の間遮断され、ディフォルトの優先順
位判別信号であるCMOT信号とCMIN信号のレベル
を保持する。SLPRH信号、CM(1)、およびCM
(2)信号にはそれぞれ図外のコンデンサが付加されて
いて、CLK信号が「1」の間に「1」、「1」、「1
」に充電される。(以下、「プリチャージされる」とい
う。) 【0045】IC(3)14のCMOT信号とIC(2
)13のCMIN信号とを接続し、同様に、IC(2)
13のCMOT信号とIC(1)12のCMIN信号、
IC(1)12のCMOT信号とIC(0)11のCM
IN信号、IC(0)11のCMOT信号とICISP
R40のCMIN信号、ならびにICISPR40のC
MOT信号とICNMI45のCMIN信号をそれぞれ
接続し、ICNMI45のCMOT信号はnチャネルM
OSトランジスタ48を通して接地電位GNDに接続す
る。 【0046】図2はステージカウンタ32の詳細を示す
回路図である。 【0047】初期状態においてRESET信号が「1」
になると、CLK信号が「0」になるタイミングでラッ
チ321 は「1」、ラッチ323 および325 は
「0」およびRSラッチ327 は「0」に初期化され
る。すると次のCLK信号が「1」のタイミングでは、
ラッチ322 が「1」、ラッチ324 および326
は「0」となる。次に、CLK信号が「0」になると
、ラッチ322 の出力「1」はアンド回路330 を
介してCLK信号が「0」のときラッチ323 に読み
込まれる。同様にして、CLK信号が「1」のときラッ
チ323 の出力をラッチ324 が読み込んで「1」
となり、アンド回路331 を介してCLK信号が「0
」のときラッチ325 に読み込まれる。 【0048】いま、CLRIF信号が「0」、SLPR
H信号が「1」とすると、インバータ341 の出力が
「0」となりアンド回路332 の出力が「0」となる
ため、RSラッチ327 は「0」のままである。アン
ド回路339 および340 は「0」、オア回路33
8 は「0」のため、CLK信号が「0」となると、ラ
ッチ322 は「0」、ラッチ324 は「1」、アン
ド回路343 は「1」となり、STG(2)信号が「
1」になる。また、次のCLK信号が「0」のときラッ
チ325 は「1」になり、そのCLK信号が「1」に
なるとラッチ325 は「0」、ラッチ326 は「1
」となり、CLK信号が「0」のときアンド回路344
は「1」となりSTG(3)信号が「1」になる。S
LPRH信号が「0」の間は、RSラッチ327 は「
1」になることがなく、ラッチ321 および322
とラッチ323 および324 とラッチ325 およ
び326 との間で交互に「1」と「0」とが順次繰り
返すので、STG(1)信号とSTG(2)信号とST
G(3)信号とが順番に出力される。 【0049】SLPRH信号が「1」になると、インバ
ータ341 の出力が「1」となり、ラッチ326 の
出力が「1」で、CLK信号が「0」のときRSラッチ
327 が「1」にセットされる。次に、CLK信号が
「1」となるとラッチ328 は「1」となり、STG
(0)信号が出力される。次に、SLPRH信号が「1
」となるとアンド回路339 が「0」となるので、オ
ア回路338 は「0」となり、CLRIF信号が「1
」になるまでSTG(1)信号は出力されない。 【0050】次に、CLRIF信号が「1」となると、
アンド回路340 が「1」となるのでCLK信号が「
0」となるとラッチ321 が「1」になる。CLRI
F信号によりオア回路333 が「1」となるため、R
Sラッチ327 が「0」にリセットされる。従って、
STG(0)信号に続いてSTG(1)信号が出力され
る。 【0051】次に、図3を用いて代表としてIC(0)
11の動作を説明する。 【0052】INT(0)信号が入力されてマスクビッ
ト111 が「0」、EI信号が「1」のとき、アンド
回路114 の出力が「1」になる。プライオリティビ
ット116 は「2」の重み、プライオリティビット1
17 は「1」の重みである。プライオリティビット1
16 の内容が「0」のときインバータ120 の出力
が「1」になる。STG(1)信号が「1」となるとC
LK信号が「0」のタイミングでアンド回路121 の
出力が「1」となり、nチャネルMOSトランジスタ1
22 が導通してCM(1)信号を「0」にする。CM
(1)信号はCLK信号が「1」のときプリチャージさ
れていて「1」となっているが、アンド回路121 が
「1」となると「0」になる。同時に、オア回路124
およびアンド回路125を介してRSラッチ126
が「1」にセットされる。 【0053】次に、CLK信号が「1」となると、ラッ
チ127 が「1」となり、STG(3)信号が「1」
となるときにアンド回路141 が「1」になる。イン
バータ142 が「0」になるとnチャネルMOSトラ
ンジスタ144 が導通せず、前のCLK信号の「0」
により導通したpチャネルMOSトランジスタ146
でプリチャージしたCMIN信号と、ICISPR40
を介してGNDに接続されたCMOT信号が「0」のと
きのインバータ145 の出力が「1」になり、アンド
回路143 が「1」となって、RA信号を出力する。 【0054】プライオリティビット117 が「0」で
ラッチ127 が「1」のとき、STG(2)信号が「
1」となるとCLK信号が「0」のタイミングでアンド
回路128 が「1」となり、nチャネルMOSトラン
ジスタ129 が導通しCM(2)信号を「0」にする
。CM(2)信号はCLK信号が「1」のときプリチャ
ージされていて「1」となっているが、アンド回路12
8 が「1」となると「0」となる。 【0055】アンド回路132 はプライオリティビッ
ト117 が「1」CM(2)信号が「0」でSTG(
2)信号が「1」のとき出力が「1」となる。また、ア
ンド回路149 は、RA信号が「0」で、CLK信号
が「0」のSTG(3)信号が「1」のタイミングで「
1」となる。 オア回路140 は、アンド回路132 の出力が「1
」または、RESET信号が「1 」、もしくはCLR
IF信号が「1」で、アンド回路149 が「1」のと
きに「1」となり、かつ、次のCLK信号が「0」のタ
イミングでRSラッチ126 は「0」に初期化される
。 【0056】オア回路140 の出力が「0」のときイ
ンバータ133 の出力が「1」となり、ラッチ127
の出力が「1」でSTG(3)信号が「1」のときア
ンド回路135 の出力が「0」となるので、nチャネ
ルMOSトランジスタ134 が導通し、SLPRH信
号を「0」にする。 ラッチ127 の出力が「1 」でSTG(1)、(2
)および(3)信号が「0」のとき、つまりSTG(0
)信号が「1」のとき、アンド回路136 が「1」と
なり、プライオリティビット116 およひ117 の
出力がそれぞれ出力バッファ138 および139 を
介してPR(1)およびPR(0)信号上に読み出され
る。 【0057】次に、ICISPR40の説明を図4を用
いて説明する。 【0058】図4において、図3と下二桁が同じ参照番
号の回路は同じ動作をする。図3と図4の違いは、図3
のアンド回路114 の出力がENISPR信号に置き
換わり、プライオリティビット116 および117
の出力がISPR(1)およびISPR(0)信号に置
き換わり、アンド回路110 、132 、135 お
よび136 と、オア回路140 と、nチャネルMO
Sトランジスタ134 および144 と、インバータ
131 および133 と、ノア回路137 とが削除
されて、RA信号がないだけ他の回路は全く同一の構成
である。 【0059】次に、ICNMI45の動作を図5を用い
て説明する。 【0060】RSラッチ512 はNMI信号が「1」
のときにセットされ、リセットされるのはRESET信
号が入ってきたとき、またはCLRIF信号が「1」で
RSラッチ512 の出力Qが「1」でアンド回路51
0 の出力が「1」となったときである。アンド回路5
41 の出力が「1 」となるのは、RSラッチ512
の出力Qが「1」でSTG(3)信号のタイミングで
「1」となりインバータ542 を介してnチャネルM
OSトランジスタ544 を遮断する。また、CMOT
信号は直接GNDに接続されているので「0」で、CM
IN信号はCLK信号が「1」のタイミングでプリチャ
ージされているので「1」となり、アンド回路543
からのRA信号は「1」となる。RA信号が「0」のと
き、アンド回路549 の出力はSTG(3)信号が「
1」、CLK信号が「0」のタイミングで「1」となる
。 【0061】オア回路500 は、CLRIF信号が「
1」またはRESET信号が「1」、またはアンド回路
549 の出力が「1」のときに出力「1」となる。ア
ンド回路535 は、RSラッチ512 の出力Qが「
1」、インバータ533 の出力が「1」(オア回路5
00 の出力が「0」)でSTG(3)信号が「1」、
CLK信号が「0」のタイミングで出力「1」となり、
nチャネルMOSトランジスタ534 が導通するので
、SLPRH信号が「0」となる。 【0062】また、ICNMI45に入力されるNMI
信号は、ICNMI45内部にプライオリティビットと
割込み要求をマスクするマスクビットを持たず、EI信
号の影響を受けないので、受付けを禁止することが不可
能な割込み要求信号となる。 【0063】次に、図1の動作を図6に示すタイミング
チャートを用いて説明する。 【0064】いま、INT(0)、INT(1)、IN
T(2)およびINT(3)信号の各マスクビットがそ
れぞれ「0」、「0」、「0」、「0」に、プライオリ
ティビット116 、117 がそれぞれ「1、0」(
優先順位レベル2)、「1、0」(優先順位レベル2)
、「0、0」(優先順位レベル0)、「0、1」(優先
順位レベル1)に設定されている場合を考える(従来例
と同じ)。また、EI信号も「1」となっている。 【0065】STG(1)信号とSTG(2)信号とS
TG(3)信号が順次「1」と「0」とを交互に繰り返
して出力しており、T3タイミングでINT(1)信号
が「1」となると割込み要求フラグ112 が「1」と
なる。このとき、割込み要求信号が全く受付けられてお
らずISPR16の出力ENISPR信号43は「0」
となっているので、ICISPR40のアンド回路42
1 は「0」のままである。同様にIC(0)11、I
C(2)13、IC(3)14のアンド回路121 に
対応する回路の出力は「0」、「0」、「0」であるた
め、CM(1)信号は「1」のままとなる。するとT4
タイミングではRSラッチ126 はCLK信号が「0
」のタイミングで「1」となる。 【0066】T6タイミングでは、ラッチ127 の出
力が「1」となりSTG(3)信号が「1」になるタイ
ミングでアンド回路141 の出力が「1」となり、前
のCLK信号が「1」でプリチャージされたCMIN信
号をnチャネルMOSトランジスタ144 で遮断し、
ICISPR40およびIC(0)11のインバータ1
42 が「1」のためGNDから直接接続されているイ
ンバータ145 の出力の「1」と、プリチャージによ
って「1」となっているCMIN信号とによりアンド回
路143 の出力が、つまりRA信号が「1」となる。 アンド回路128 の出力はプライオリティビット11
7 が「1」のため「0」となるのでCM(2)信号は
「1」となる。アンド回路132 の出力はCM(2)
信号が「1」となりインバータ131 が「0」のため
RSラッチ126 はリセットされない。INT(1)
信号に対応するRA信号が「1」のため、T6タイミン
グでCLK信号が「0」になると出力回路18a が「
1」となる。また、STG(3)信号が「1」となるタ
イミングでアンド回路135 の出力は「1」、SLP
RH信号は「0」となり、T7タイミングでSTG(0
)信号が発生する。T7タイミングでSTG(0)信号
が「1」であり出力回路18a 出力が「1」となるの
でINTRQ信号が「1」となり、CPU2に割込み処
理を要求する。 【0067】次に、T9タイミングで、CPU2よりO
EVC信号が出力されると、INT(1)信号に対応す
るベクタアドレスが出力バッファ19を介して内部デー
タバス20上に読み出されるとともに、INT(1)信
号のプライオリティビット116 および117 の内
容がPR(1)およびPR(0)信号上に読み出され、
ISPR16に読み込まれる。 【0068】T10タイミングでは、ISPR16の出
力が優先順位レベル2となり、ISPR(1)信号42
が「1」、ISPR(0)信号41が「0」、ENIS
PR信号43が「1」になる。また、CPU2 からC
LRIF信号が出力される。CLK信号が「0」となる
とRSラッチ327 が「0」になりまたラッチ328
が「0」となる。次にT11タイミングではSTG(
1)信号が発生する。 【0069】T13タイミングでINT(2)信号が発
生した場合は、T14タイミングにおいて、IC(2)
13のアンド回路121 に対応する回路が「1」にな
り、CLK信号が「0」のタイミングでIC(2)13
のRSラッチ126 に対応する回路が「1」となる。 アンド回路421 は「0」であり、またアンド回路4
25 の出力は「0」であるので、RSラッチ426
は「0」のままである。以下、INT(1)信号の場合
と同様に、STG(2)、STG(3)およびSTG(
0)信号がT15、T16およびT17タイミングで発
生し、T16の次のタイミング(T17)でINTRQ
信号が「1」となる。 【0070】次に、CPU2がOEVC信号を「1」に
すると、ISPR16が優先順位レベル0を読み込む。 つまり優先順位の高い割込みを受付ける。また、CLR
IF信号によりステージカウンタ32はSTG(1)信
号から出力する。 【0071】次に、T19タイミングでINT(3)信
号が発生した場合は、T20タイミングにおいてINT
(3)信号に対応する優先順位のチェックが始まる。T
20タイミングではISPR16の出力であるISPR
(1)42、ISPR(0)41信号はそれぞれ「0」
、「0」となっているため、アンド回路421 が「1
」となり、CM(1)信号が「0」となる。すると、I
C(3)14のアンド回路125 に対応する回路の出
力が「0」のままであるため、IC(3)14のRSラ
ッチ126 に対応する回路は「0」のままであり、T
22タイミングになってもIC(3)14のRA信号は
「0」のままである。また、T23タイミングにINT
RQ信号も発生しない。従って、優先順位レベル1のI
NT(3)信号は優先順位レベル0のINT(1)信号
の割込み処理中に割り込めない。T23タイミングでC
LRIP信号が出力されるとISPR16の内容が一つ
前の優先順位レベル2となる。 【0072】次に、T26タイミングでINT(0)信
号が発生した場合は、T27タイミングでは、ISPR
16の出力ISPR(1)42、ISPR(0)41信
号はそれぞれ「1」、「0」となっているため、アンド
回路421 が「0」となり、CM(1)信号が「1」
になる。アンド回路425 の出力が「1」になりRS
ラッチ426 がセットされCLK信号が「1」になる
タイミングでラッチ427 の出力は「1」となる。I
SPR(0)信号41が「0」のためインバータ423
が「1」に、アンド回路428 の出力は「1」にな
り、T28タイミングでSTG(2)信号が出力される
と、CM(2)信号は「0」になる。しかし、ISPR
(0)信号が「0」のため、アンド回路432 の出力
は「0」のままなので、オア回路440 の出力は「0
」となりRSラッチ426 はリセットされない。 【0073】INT(0)信号の優先順位レベル(レベ
ル2)が同じなのでプライオリティビット116 およ
び117 は同一で、IC(0)11の回路も同様に動
作し、ラッチ127 の出力は「1」となる。STG(
3)信号が「1」となるタイミングでICISPR40
のアンド回路441 とIC(0)11のアンド回路1
41 の出力が「1」となり、インバータ442 とイ
ンバータ142 の出力が「0」となって、nチャネル
MOSトランジスタ444 と144 が遮断される。 【0074】従って、CLK信号が「1」となるタイミ
ングでプリチャージされたCMIN信号およびCMOT
信号のGNDに接続されているICISPR40のCM
OT信号だけが「0」となり、ICISPR40のCM
IN信号とIC(0)11のCMIN信号およびCMO
T信号は「1」のままとなる。ICISPR40のイン
バータ445 の出力が「1」となり、アンド回路44
3 の出力は「1」となって、インバータ448 の出
力は「0」、アンド回路449 の出力も「0」となっ
てオア回路440の出力は「0」となる。 【0075】IC(0)11では、インバータ145
の出力が「0」となり、アンド回路143 の出力が「
0」となるのでRA信号は「0」のままである。同時に
、インバータ148 の出力が「1」となり、アンド回
路149 の出力が「1」となってオア回路140 の
出力を「1」にし、ラッチ126 をリセットする。つ
まり、INT(0)信号の割込みが受付けられず、IN
TRQ信号も出力されない。 【0076】T29タイミングで、NMI信号が発生し
た場合、ICNMI45はプライオリティ制御、マスク
ビットおよびEI信号の影響を受けないので、T30の
タイミングでSTG(1)信号が「1」のとき、無条件
にアンド回路541 の出力は「1」となり、インバー
タ542 を介してnチャネルMOSトランジスタ54
4 を遮断する。T32タイミングにおいて、STG(
3)信号が「1」でCLK信号が「0」のときにRSラ
ッチ512 の出力Qが「1」となっているので、アン
ド回路535 の出力が「1」となり、nチャネルMO
Sトランジスタ534 が導通し、SLPRH信号は「
0」となる。 【0077】さらに、T32タイミングで、CMIN信
号は直前のCLK信号が「1」のときにプリチャージさ
れているため「1」を保持していて、ICNMI45の
CMOT信号は直接GNDに接続されているので「0」
で、アンド回路543 からのRA信号が「1」となり
、T33タイミングのSTG(0)信号が「1」のとき
にINTRQ信号をCPU2に出力する。 【0078】次に、タイミングチャートは示さないが、
現在何も割込みを受付けていないときに、優先順位レベ
ル0、プライオリティビット116 、117 が「0
」、「0」のINT(0)信号とINT(1)信号とが
発生した場合、つまり同一優先順位レベルの二つの割込
み信号が発生した場合は、同様に、STG(3)信号が
「1」のタイミングでIC(0)11とIC(1)12
のアンド回路141 の出力が「1」となり、インバー
タ142 の出力が「0」となるので、nチャネルMO
Sトランジスタ144 が遮断される。 【0079】いま、割込みを何も受付けていないので、
ICISPR40のラッチ427 の出力は「0」とな
っているのでアンド回路441 の出力は「0」でイン
バータ442 の出力が「1」となりnチャネルMOS
トランジスタ444 は導通していて、同様にICNM
I45のnチャネルMOSトランジスタ544 も導通
しているので、IC(0)11のCMOT信号はGND
に接続され「0」となり、IC(0)11のCMIN信
号とIC(1)12のCMOT信号およびCMIN信号
は「1」なので、IC(0)11のインバータ145
の出力だけが「1」なのでアンド回路143 の出力、
つまりINT(0)に対するRA信号は「1」となる。 しかし、IC(1)12のインバータ145 の出力は
「0」になり、アンド回路143 の出力、つまりIN
T(1)に対するRA信号は「0」となる。従って、同
一優先順位レベルのINT(0)信号とINT(1)信
号とが同時に発生してもINT(0)信号の方が優先さ
れる。 【0080】また、何も割込みを受付けていないときに
、優先順位レベル0、プライオリティビット116 お
よび117 が「0」、「0」のINT(0)信号と、
NMI割込み信号とが同時に入ってきた場合、STG(
3)信号のタイミングでIC(0)11のアンド回路1
41 が「1」となり、また、ICNMI45のアンド
回路541 も「1」となる。その結果、IC(0)1
1のnチャネルMOSトランジスタ144 が遮断され
、CLK信号が「1」のときのプリチャージによりCM
IN信号は「1」となっている。さらに、ICNMI4
5のnチャネルMOSトランジスタ544が遮断され、
CLK信号が「1」のときのプリチャージによりCMI
N信号は「1」となっているが、IC(0)11のCM
OT信号とICNMI45のCMIN信号は接続されて
いるので、IC(0)11のCMOT信号は「1」とな
る。よって、IC(0)11のアンド回路143 から
のRA信号は「0」のままで、INT(0)信号は受付
けられない。また、ICNMI45のCMOT信号は直
接GNDに接続されているので「0」となり、ICNM
I45のアンド回路543 からのRA信号が「1」と
なり、NMI信号が優先される。 【0081】優先順位レベル0の割込みが既に受付けら
れているときに、NMI信号が入ってきた場合は、前記
のIC(0)11と全く同じ理由でICISPR40の
アンド回路443 の出力は「1」にはならなく、IC
NMI45のアンド回路543 はSTG(3)信号の
タイミングで「1」を出力し、STG(0)信号に同期
してINTRQ信号をCPU2に出力し、NMI信号は
優先順位レベル0の割込み処理中でも割込むことができ
る。また、ICNMI45からRA信号「1」が出力さ
れると、ISPR16は、ENISPR信号43を「0
」にするので、アンド回路425 および421 の出
力は「0」に固定されRSラッチ426 はセットされ
ない。また、ISPR16はNMIDI信号46「0」
を出力し、アンド回路47の出力が「0」となるため、
IC(0)11、IC(1)12、IC(2)13およ
びIC(3)14内のアンド回路114 の出力が「0
」に固定され、INT(0)、INT(1)、INT(
2)およびINT(3)信号の割込み信号は受付けられ
なくなる。つまり、NMI信号が最高の優先度を持つ割
込み信号となる。 【0082】以上のように、優先順位レベルの低い割込
み要求の処理中に優先順位の高い割込み要求の処理が割
り込める制御を、プライオリティビットの重みの大きい
方から、重み別で優先順位をスキャンするため、従来の
INTCにくらべて高速に応答することができ、さらに
、現在受付中の割込み処理と同一の優先順位レベルの割
込みが発生した場合は割込みを受付けなかったり、同一
優先順位レベルの二つ以上の割込みが同時に発生した場
合でも、回路によって設定された優先順位(以下、「デ
ィフォルト値」という。)が高い方、図1のNMI、I
NT(0)、INT(1)、INT(2)、INT(3
)信号の順位で割込みを受付けて、ディフォルト値の低
い割込みを受付けない制御を行う。さらに、ICNMI
45を図1のように配置することにより、NMI信号は
優先順位レベル0の割込み信号と競合しても優先され、
優先順位レベル0の割込みが既に受付けられている場合
でも割込むことができ、禁止が不可能な最高の優先順位
の特別な割込みとなり、しかも、ICNMI45はIC
(0)11、IC(1)12、IC(2)13およびI
C(3)14と全く同一の制御で特別な制御を必要とし
ない。 【0083】従って、本第一実施例は、種々の割込み要
求のさまざまな割込み要求処理に対して、高速に、かつ
柔軟な対応ができる。 【0084】図7は本発明の第二実施例を示すブロック
構成図で、図8はそのステージカウンタ32の詳細回路
図、図9はIC(0)11〜IC(3)14の詳細回路
図、および図10はICISPR40の詳細回路図であ
る。 【0085】本第二実施例は、前述の第一実施例と比較
して、優先順位レベルが8レベルになっているが、優先
順位が8レベルの制御以外は全く同一の制御であり、同
一参照番号がつけられた回路は同様の動作を行う。 【0086】図7において、図1との違いは、ステージ
カウンタ32からSTG(4)信号が出力され、また、
IC(0)11、IC(1)12、IC(2)13およ
びIC(3)14に共通にCM(3)信号が入力されて
いることである。CM(3)信号にはCM(1)、CM
(2)信号と同様にプリチャージするpチャネルMOS
トランジスタ39が接続されている。また、IC(0)
11、IC(1)12、IC(2)13およびIC(3
)14はともにPR(2)信号49に接続され、PR(
2)信号49はISPR16に入力されている。ISP
R16からはISPR(2)信号44がICISPR4
0に対し出力されている。 PR(2)信号49はプライオリティビットの「4」の
重みを示す信号で、また、ISPR(2)信号44はI
SPR16の「4」の重みを示す信号である。 【0087】図8において、図2に対し、アンド回路3
47 と、インバータ348 と、ラッチ345 およ
び346 と、アンド回路349 とが追加され、出力
としてSTG(4)信号が追加される。このステージカ
ウンタ32は、図2とほぼ同様に動作するが、STG(
3)信号の次はSTG(4)信号が発生するため、通常
STG(1)→STG(2)→STG(3)→STG(
4)→STG(1)…のようにタイミング信号が発生す
る。 【0088】図9において、図3に対しCM(3)信号
およびSTG(4)信号と、インバータ150 および
154 と、アンド回路151 および153 と、n
チャネルMOSトランジスタ152 と、出力バッファ
155 と、プライオリティビット115 とが追加さ
れている。また、ノア回路137 にSTG(4)信号
が入力されている。インバータ120 および123
にはそれぞれプライオリティビット115 および11
6 がプライオリティビット116 および117 に
代わり入力されている。プライオリティビット115
は「4」の重みを示し、プライオリティビット115
、116 および117 で0〜7の8レベルの優先順
位を表す。従って、優先順位レベルのスキャンは「4」
の重みがSTG(1)信号、「2」の重みがSTG(2
)信号、「1」の重みがSTG(3)信号によりスキャ
ンされる。 【0089】図9の動作は、プライオリティビットが1
ビット追加された以外は図3と同じで、STG(4)信
号が発生したときに、RSラッチ126 が「0」にリ
セットされないとSLPRH信号が「1」となるので、
次のタイミングでSTG(0)信号が発生し、割込み要
求が受付けられたことになる。 【0090】図10において、図4に対し、CM(3)
信号およびSTG(4)信号と、インバータ450 お
よび454 と、アンド回路451 および453 と
、nチャネルMOSトランジスタ452 とが追加され
ている。また、ISPR(2)信号がインバータ420
に、ISPR(1)信号がインバータ423 に、I
SPR(0)信号がインバータ450 に入力されてい
る。図9と同様に、図10では「4」の重みから優先順
位レベルのスキャンを行う構成になっている。 【0091】図11は図5に対して、STG(3)信号
がSTG(4)信号になっただけで、回路構成上は全く
同一構成である。図11のICNMI40の動作は、図
5の4レベルのスキャン動作が8レベルの動作になった
のみで基本動作は図5と同じである。 【0092】以上のように、本第二実施例では、「4」
の重み→「2」の重み→「1」の重みと3タイミングで
8レベルの優先順位を制御する場合でも、STG(4)
信号が出力するタイミングで第一実施例と同様に、IC
NMI45のCMOT信号をGNDに接続して、ICI
SPR40、IC(0)11、IC(1)12、IC(
2)13およびIC(3)14のCMOT信号と、CM
IN信号とをそれぞれ接続することによって、同一優先
順位レベルの二つ以上の割込み要求に対し、ディフォル
ト値による優先順位の制御を1タイミングでスキャンす
ることができる。 【0093】以上から、優先順位レベルが16レベル(
24 ) となると、5タイミングでスキャンできるこ
とが容易に分かる。 【0094】従って、2n レベルの優先順位レベルは
、n+1タイミングで割込み要求に対しての優先順位判
別制御ができることは明らかである。 【0095】 【発明の効果】以上、説明したように本発明の割込みコ
ントローラは、優先順位レベルのレベル数が2n 以内
の場合に、優先順位レベルのスキャンを2n →2n−
1 →…20 の順序で順次行い、次に、ディフォルト
値による優先順位を1タイミングでスキャンすることで
、わずかn+1回のタイミングで、同一優先順位レベル
であってもディフォルト値によって、禁止が可能な割込
み信号のうち、最も高い優先順位を持つ割込み信号を検
出することができ、さらに、禁止が不可能でかつ全ての
割込みの中で最も優先順位の高いNMI信号にも対応す
ることができる。 【0096】従って、本発明によれば、リアルタイム処
理を行うマイクロコンピュータに最適な種々の割込み要
求のさまざまな割込み要求処理に対し、高速に、かつ柔
軟な対応ができる割込みコントローラを提供することが
でき、その効果は大である。
【図1】 本発明の第一実施例を示すブロック構成図
。
。
【図2】 図1のステージカウンタの詳細回路図。
【図3】 図1の割込み要求信号制御回路の詳細回路
図。
図。
【図4】 図1の実行中割込み要求信号制御回路の詳
細回路図。
細回路図。
【図5】 図1のNMI割込み要求信号制御回路の詳
細回路図。
細回路図。
【図6】 図1の動作タイミングチャート。
【図7】 本発明の第二実施例を示すブロック構成図
。
。
【図8】 図7のステージカウンタの詳細回路図。
【図9】 図7の割込み要求信号制御回路の詳細回路
図。
図。
【図10】 図7の実行中割込み要求制御回路の詳細
回路図。
回路図。
【図11】 図7のNMI割込み要求信号制御回路の
詳細回路図。
詳細回路図。
【図12】 一般のマイクロコンピュータを示すブロ
ック構成図。
ック構成図。
【図13】 従来例を示すブロック構成図。
【図14】 図13の動作タイミングチャート。
【符号の説明】
1 マイクロコンピュータ
2 中央演算装置(CPU)
3 メモリ
4 割込みコントローラ(INTC)5
周辺機能ブロック 6 内部バス 7 割込み要求信号(INT(0)〜INT(3
))8 割込み処理要求信号(INTRQ信号)
9 制御信号 11 割込み要求信号制御装置(0)(IC(0
))12 割込み要求信号制御装置(1)(IC
(1))13 割込み要求信号制御装置(2)(
IC(2))14 割込み要求信号制御装置(3
)(IC(3))15 スキャンカウンタ 16 実行中優先順位レジスタ (ISPR)
17 ベクタアドレステーブル 18、118 比較器 18a 出力回路 19、155 出力バッファ 20 内部データバス 21、33、119 、120 、123 、130
、131 、133 、142 、145 、147
、148 、150 、154 、334 、335
、341 、348 、420 、423 、430
、431 、442 、445 、447 、448
、450 、454 、533 、542 、545
、547 、548 インバータ 22、113 、124 、140 、329 、33
3 、338 、424 、440 、500 、51
3オア回路 23 ライト制御回路 24〜27 (ライト信号制御回路の)出力2
8、29 スキャン信号 30 (ISPRの)出力 31 (オア回路22の) 出力32
ステージカウンタ 34、35、47、110 、114 、115 、1
21 、125 、128 、132 、135 、1
36 、141 、143 、149 、151 、1
53 、330 、331 、332 、339 、3
40 、342 、343 、344 、347 、3
49 、421 、425 、428 、432 、4
41 、443 、449 、451 、453 、5
10 、535 、541 、543 、549
アンド回路 36、37、38、39、146 、446 、546
pチャネルMOSトランジスタ 40 現在実行中割込み制御装置 (ICISP
R) 41 ISPR(0)信号 42 ISPR(1)信号 43 ENISPR信号 44 ISPR(2)信号 45 禁止不可割込み要求信号制御装置 (IC
NMI) 46 NMIDI信号 48、122 、129 、134 、144 、15
2 、422 、429 、444 、452 、53
4、544 nチャネルMOSトランジスタ49
PR(2)信号 111 マスクビットラッチ (マスクビット)
112 割込み要求フラグラッチ (割込み要求フ
ラグ) 115 、116 、117 プライ
オリティビットラッチ (プライオリティビット) 126 、327 、426 、512 RSラッ
チ127 、321 〜326 、328 、345
、346 、427 ラッチ137 ノア
回路 138 、139 、155 出力バッファCLK
クロック信号 CLRIF 割込み要求フラグクリア信号CLR
IP ISPR中の最高レベルクリア信号CM(
1)〜CM(3) 割込み優先順位判別信号CM
IN、CMOT ディフォルトの優先順位判別信
号 EI ベクタ割込み許可・禁止指定信号ENIS
PR ISPRの記憶有無識別信号ISPR(0
)〜ISPR(2) ISPRの出力信号 INT、INT(0)〜INT(3) 割込み要
求信号 INTRQ 割込み処理要求信号NMI
禁止不可割込み要求信号NMIDI 他割込み禁
止信号 OEVC ベクタアドレスISPR記憶信号PR
(0)〜PR(2) プライオリティビットラッ
チ出力信号 RA ベクタアドレステーブル作成信号RESE
T リセット信号
周辺機能ブロック 6 内部バス 7 割込み要求信号(INT(0)〜INT(3
))8 割込み処理要求信号(INTRQ信号)
9 制御信号 11 割込み要求信号制御装置(0)(IC(0
))12 割込み要求信号制御装置(1)(IC
(1))13 割込み要求信号制御装置(2)(
IC(2))14 割込み要求信号制御装置(3
)(IC(3))15 スキャンカウンタ 16 実行中優先順位レジスタ (ISPR)
17 ベクタアドレステーブル 18、118 比較器 18a 出力回路 19、155 出力バッファ 20 内部データバス 21、33、119 、120 、123 、130
、131 、133 、142 、145 、147
、148 、150 、154 、334 、335
、341 、348 、420 、423 、430
、431 、442 、445 、447 、448
、450 、454 、533 、542 、545
、547 、548 インバータ 22、113 、124 、140 、329 、33
3 、338 、424 、440 、500 、51
3オア回路 23 ライト制御回路 24〜27 (ライト信号制御回路の)出力2
8、29 スキャン信号 30 (ISPRの)出力 31 (オア回路22の) 出力32
ステージカウンタ 34、35、47、110 、114 、115 、1
21 、125 、128 、132 、135 、1
36 、141 、143 、149 、151 、1
53 、330 、331 、332 、339 、3
40 、342 、343 、344 、347 、3
49 、421 、425 、428 、432 、4
41 、443 、449 、451 、453 、5
10 、535 、541 、543 、549
アンド回路 36、37、38、39、146 、446 、546
pチャネルMOSトランジスタ 40 現在実行中割込み制御装置 (ICISP
R) 41 ISPR(0)信号 42 ISPR(1)信号 43 ENISPR信号 44 ISPR(2)信号 45 禁止不可割込み要求信号制御装置 (IC
NMI) 46 NMIDI信号 48、122 、129 、134 、144 、15
2 、422 、429 、444 、452 、53
4、544 nチャネルMOSトランジスタ49
PR(2)信号 111 マスクビットラッチ (マスクビット)
112 割込み要求フラグラッチ (割込み要求フ
ラグ) 115 、116 、117 プライ
オリティビットラッチ (プライオリティビット) 126 、327 、426 、512 RSラッ
チ127 、321 〜326 、328 、345
、346 、427 ラッチ137 ノア
回路 138 、139 、155 出力バッファCLK
クロック信号 CLRIF 割込み要求フラグクリア信号CLR
IP ISPR中の最高レベルクリア信号CM(
1)〜CM(3) 割込み優先順位判別信号CM
IN、CMOT ディフォルトの優先順位判別信
号 EI ベクタ割込み許可・禁止指定信号ENIS
PR ISPRの記憶有無識別信号ISPR(0
)〜ISPR(2) ISPRの出力信号 INT、INT(0)〜INT(3) 割込み要
求信号 INTRQ 割込み処理要求信号NMI
禁止不可割込み要求信号NMIDI 他割込み禁
止信号 OEVC ベクタアドレスISPR記憶信号PR
(0)〜PR(2) プライオリティビットラッ
チ出力信号 RA ベクタアドレステーブル作成信号RESE
T リセット信号
Claims (3)
- 【請求項1】 入力される複数の割込み要求信号の優
先順位を制御して処理手段に出力する手段を備えた情報
処理装置における割込みコントローラにおいて、入力さ
れる一般の各割込み要求信号に2n 個(nは自然数)
の優先レベルを設定しこの設定された優先順位レベルと
装置ごとに定められた優先順位指定との組合わせにより
最大(n+1)個のタイミングで割込み要求を検出する
複数の割込み要求信号制御装置と、入力される禁止不可
割込み要求信号をあらかじめ定められた順序に従い1タ
イミングで検出する禁止不可割込み要求信号制御装置と
、優先順位レベルをスキャンする(n+1)個のタイミ
ング信号を順次発生するステージカウンタと、前記処理
手段で現在実行中の割込み処理の優先順位レベルを記憶
する実行中優先順位レジスタと、この優先順位レジスタ
の出力に従い現在実行中の割込みを制御する現在実行中
割込み制御装置とを備えたことを特徴とする割込みコン
トローラ。 - 【請求項2】 前記割込み要求信号制御装置は、n個
のタイミングにおいて発生した全ての割込み要求信号の
優先順位レベルと前記実行中優先順位レジスタの記憶内
容との比較を最上位レベルから最下位レベルに向かって
順次行い、一連の全てのレベル比較で最も高い優先順位
レベルを有する割込み要求を優先順位が高いと検出する
手段と、最も高い優先順位レベルを有する割込み要求が
同時に二つ以上ある場合には、装置の指定優先順位に従
って検出する手段とを含み、前記禁止不可割込み要求信
号制御装置は、前記割込み要求信号制御装置におけるn
タイミングに続く1タイミングで検出する手段を含む請
求項1に記載の割込みコントローラ。 - 【請求項3】 前記情報処理装置は、マイクロコンピ
ュータである請求項1または請求項2に記載の割込みコ
ントローラ。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2411472A JP2702290B2 (ja) | 1990-12-18 | 1990-12-18 | 割込みコントローラ |
| KR1019910019547A KR950014373B1 (ko) | 1990-11-02 | 1991-11-02 | 인터럽트 제어기 |
| DE69118833T DE69118833T2 (de) | 1990-11-02 | 1991-11-04 | Unterbrechungssteuerung |
| EP91118767A EP0489260B1 (en) | 1990-11-02 | 1991-11-04 | Interrupt controller |
| US08/110,495 US5481729A (en) | 1990-11-02 | 1993-08-23 | Interrupt controller that reduces the number of scans needed to identify priority |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2411472A JP2702290B2 (ja) | 1990-12-18 | 1990-12-18 | 割込みコントローラ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04217057A true JPH04217057A (ja) | 1992-08-07 |
| JP2702290B2 JP2702290B2 (ja) | 1998-01-21 |
Family
ID=18520482
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2411472A Expired - Lifetime JP2702290B2 (ja) | 1990-11-02 | 1990-12-18 | 割込みコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2702290B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04235635A (ja) * | 1991-01-09 | 1992-08-24 | Nec Ic Microcomput Syst Ltd | 割込みコントローラ |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01276241A (ja) * | 1988-04-27 | 1989-11-06 | Sharp Corp | 多重割り込み装置 |
-
1990
- 1990-12-18 JP JP2411472A patent/JP2702290B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01276241A (ja) * | 1988-04-27 | 1989-11-06 | Sharp Corp | 多重割り込み装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04235635A (ja) * | 1991-01-09 | 1992-08-24 | Nec Ic Microcomput Syst Ltd | 割込みコントローラ |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2702290B2 (ja) | 1998-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6021458A (en) | Method and apparatus for handling multiple level-triggered and edge-triggered interrupts | |
| US5555413A (en) | Computer system and method with integrated level and edge interrupt requests at the same interrupt priority | |
| JPH0769791B2 (ja) | マイクロプロセッサ | |
| JPH07182277A (ja) | コンピュータシステム、およびその中での直接メモリアクセス動作を制御するための方法 | |
| JPH05324348A (ja) | シングルチップマイクロコンピュータ | |
| CN1020813C (zh) | 可编程中断控制器 | |
| US5535376A (en) | Data processor having a timer circuit for performing a buffered pulse width modulation function and method therefor | |
| CN110221861B (zh) | 一种cpu寄存器体系结构及其中断处理方法 | |
| US5535379A (en) | Timer apparatus capable of writing identical data to a plurality of timers built in a microcomputer | |
| JPH04217057A (ja) | 割込みコントローラ | |
| US6202117B1 (en) | Host adapter integrated circuit having autoaccess pause | |
| JP2702291B2 (ja) | 割込みコントローラ | |
| EP0489260B1 (en) | Interrupt controller | |
| JPH04302035A (ja) | 割り込み制御装置 | |
| JPH04235635A (ja) | 割込みコントローラ | |
| US5983300A (en) | Dynamic window mechanism for preventing invalid information propagation from the PCI bus | |
| JP2567988B2 (ja) | 割込みコントローラ | |
| JPH0485630A (ja) | 割込み制御装置 | |
| JP3093374B2 (ja) | 割り込みコントローラ | |
| JPH0317137B2 (ja) | ||
| JP2643609B2 (ja) | 割り込み制御装置 | |
| JPS61214032A (ja) | 割込み制御方式 | |
| JPH04369064A (ja) | 割込処理制御方法及びその装置 | |
| JP2635863B2 (ja) | 中央処理装置 | |
| JPH06139076A (ja) | 割り込み処理装置 |