(57)【要約】【課題】未使用の割り込みベクタのベクタ番号を、外部端子や周辺機能回路からの割り込み要因に対して任意に割り付ける。【解決手段】割り込みコントローラは、割り込み要求の優先順位を判定する優先順位判定回路（２３）を含む。ＣＰＵは、ベクタ番号に応じたベクタアドレスを生成するベクタアドレス生成回路（３１）を含む。優先順位判定回路とＣＰＵとの間には、ベクタ番号変更情報に従って、優先順位判定回路から出力されたベクタ番号を、ベクタアドレス生成回路で生成可能なベクタアドレスに対応するベクタ番号に変更してベクタアドレス生成回路に出力するためのベクタ番号変更回路（２４）が設けられる。優先順位判定回路から出力されるベクタ番号のうち、ベクタ番号変更回路でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、ベクタ番号変更回路を迂回してベクタアドレス生成回路に供給される。【選択図】図１
2014126977.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
上記ＣＰＵに対する割り込み要求に応じてベクタ番号を生成する割り込みコントローラと、を含み、
上記割り込みコントローラは、割り込み要求毎に予め割り当てられたベクタ番号を比較することで割り込み要求の優先順位を判定し、その判定結果に応じてベクタ番号を出力する優先順位判定回路を含み、
上記ＣＰＵは、ベクタ番号に応じたベクタアドレスを生成するベクタアドレス生成回路を含み、
上記優先順位判定回路と上記ＣＰＵとの間には、予め設定されたベクタ番号変更情報に従って、上記優先順位判定回路から出力されたベクタ番号を、上記ベクタアドレス生成回路で生成可能なベクタアドレスに対応するベクタ番号に変更して上記ベクタアドレス生成回路に出力するためのベクタ番号変更回路が設けられ、
上記優先順位判定回路から出力されるベクタ番号のうち、上記ベクタ番号変更回路でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、上記ベクタ番号変更回路を迂回して上記ベクタアドレス生成回路に供給されるデータ処理装置。
【請求項２】
上記データ処理装置は、上記ＣＰＵを介さずにデータ転送を行うためのデータトランスファコントローラを含み、
上記ＣＰＵは、上記ベクタ番号変更回路から出力されたベクタ番号に応じて、上記データトランスファコントローラによるデータ転送のための転送アドレス及び転送モードを含むＤＴＣ転送情報を生成するＤＴＣ転送情報生成回路を含み、
上記ベクタ番号変更回路は、上記ベクタアドレス生成回路と上記ＤＴＣ転送情報生成回路とで共有される請求項１記載のデータ処理装置。
【請求項３】
上記優先順位判定回路は、上記ベクタアドレス生成回路及び上記ＤＴＣ転送情報アドレス生成回路に対して割り込み要求信号を個別的にアサートする請求項２記載のデータ処理装置。
【請求項４】
上記ベクタ番号変更回路は、上記ベクタ番号変更情報を保持可能なベクタ番号変更情報保持部を含む請求項３記載のデータ処理装置。
【請求項５】
上記ベクタ番号変更回路は、上記割り込みコントローラ内に配置された請求項４記載のデータ処理装置。
【請求項６】
上記ベクタ番号変更情報保持部は、上記ＣＰＵでの初期化処理によって上記ベクタ番号変更情報が書き込まれるレジスタを含む請求項５記載のデータ処理装置。
【請求項７】
上記ベクタ番号変更情報保持部は、上記ベクタ番号変更情報が予め書き込まれた不揮発性メモリによって形成されたベクタ番号変更テーブルを含む請求項５記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は割り込み処理技術に関し、特にマイクロコンピュータに好適に利用できるものである。
【背景技術】
【０００２】
特許文献１には、ＣＰＵ（中央処理装置）内のベクタ変換テーブルを設定して、生成ベクタベクタ番号保持手段の出力から任意の割り込みベクタ番号を出力できるようにした情報処理装置が記載されている。
【０００３】
特許文献２には、マイクロコンピュータにおけるＲＯＭの書き換えを行わずに複数の割り込み処理プログラムの選択実行を可能にするための技術が記載されている。
【０００４】
特許文献３には、プロセッサと周辺装置とを備えたコンピュータシステムにおいて、周辺装置からプロセッサに割り込みを行って処理を実行させる割り込み制御技術が記載されている。
【０００５】
特許文献４には、ＣＰＵと、ＲＯＭ及びＲＡＭとの間にベクタアドレス変換回路が配置されたマイクロコンピュータが記載されている。
【０００６】
特許文献５には、多数の割り込み要因に対して効率的な割り込み判定処理可能にする割り込みコントローラが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０４−２４５３３６号公報
【特許文献２】特開平０９−３０５４１３号公報
【特許文献３】特開平０７−２６２０２３号公報
【特許文献４】特開平０６−２１４８０５号公報
【特許文献５】２００５−０８５０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
マイクロコンピュータに内蔵されている割り込みコントローラは、予め想定している最大割り込み要因数（主に５ｂｉｔ（３２要因）〜８ｂｉｔ（２５６要因））分の割り込み本数に対応できるよう設計されている。この最大割り込み要因数に対してマイクロコンピュータの動作に最低限必要な割り込み、例えばリセット割り込みやノンマスカブル割り込み、デバッガ用の割り込みが配置されているシステム予約領域等を除いた残りのベクタ番号とベクタアドレスに、マイクロコンピュータに搭載された各周辺機能の割り込み要因が配置されている。
【０００９】
この各割り込み要因に対応するベクタ番号とベクタアドレスとは予め固定され、チップサイズ(割り込みコントローラと各周辺機能との配線数や回路規模など)や、使用するユーザの使い勝手を考慮し、基本的に1要因または複数要因に対して1ベクタが割り付けられている。このとき、割り込みコントローラが対応できる最大割り込み要因数に対して、割り付けた各割り込み要因数が最大数に満たない場合、その割り込み要因が割り付けられなかったベクタ領域は、予約領域（リザーブ領域）として扱われる。
【００１０】
マイクロコンピュータに、新たな周辺機能を搭載する場合（例えば、既存の製品に対して新規の周辺機能を追加する場合）には、まだ割り付けられていない未使用のベクタ領域に対して、追加したい各割り込み要因の割り付けを行っていたが、その割り付けを行うことができる割り込み要因数は、設計段階で予め想定していた最大割り込み要因数分しか対応することができない。そのため、昨今では新たな周辺機能を順次追加していくと、対応する割り込みベクタ数が足りなくなる状況が発生してきている。
【００１１】
これに対して、1つのベクタに複数の異なる周辺機能の割り込み要因を集約する方法が考えられる。
【００１２】
この方法のメリットは、複数の異なる要因を1つに纏めることができ、その集約できる要因数に制限はない。
【００１３】
しかし、割り込みを使用するユーザはその割り込みがどの周辺機能からの要求かを判別する必要が生じるため、１つの要因に対してデータ転送を行うデータトランスファコントローラ（Data Transfer Controller；ＤＣＴ）の起動要因には適用することができない。また1つのベクタに集約する要因数が増えれば増えるほど、その判別はより複雑なものになり、その処理時間も長くなるため、高速で処理しなければならない割り込み処理には不向きである。
【００１４】
また、ベクタ数が足りない状況の対策として、単純に対応できる最大割り込み要因数を増やす方法がある。例えば、８ｂｉｔから９ｂｉｔに増加（２５６要因から５１２要因に増加）させれば良い。この方法の場合、割り込みコントローラが対応できるビット数を１ｂｉｔ上げるだけで回路規模は単純に２倍に膨れ上がり、周辺機能と割り込みコントローラとの間の結線本数もその分増加するため、チップサイズに多大なる影響を及ぼすデメリットがある。
【００１５】
同様に割り込みベクタ本数を増やすと、それに関連する可変ベクタ領域や、ＤＣＴの起動ベクタ領域もそれに伴って増加することになるため、ユーザが使用できるメモリ領域を侵食するなどの影響が懸念される。
【００１６】
一方、実際に使用される割り込みベクタは全ての割り込み要因が使用されているわけではなく、ユーザが使用できない予約領域の他に、システムに不必要な周辺機能の割り込み要因や、マイクロコンピュータの端子機能のマルチプレクスに依存して使用できない周辺機能の割り込み要因などのように全く使用されていない割り込み要因に対応する割り込みベクタが存在する。
【００１７】
しかし、ベクタアドレス生成回路において、各周辺機能の割り込み要因とそれに対応する割り込みベクタは固定化されているため、ユーザは、未使用の割り込み要因に対応するベクタ番号が存在するにもかかわらず、それを任意に他の周辺機能の割り込み要因に割り付けることはできない。
【００１８】
尚、未使用の割り込み要因に対応するベクタ番号をユーザが使用可能にするには、各割り込みベクタ毎に全ての周辺機能の割り込み要因の中からユーザが任意に選択する方法が考えられる。しかしそれを実現するにはベクタ本数1本に対して搭載する全ての周辺機能の割り込み要因の総数から1つを選択するためのスイッチ回路をベクタ本数分用意する必要がある。この場合、例えば１２８要因、２５６ベクタを想定すると、単純計算で１２８×１２８＝３２７６８個のスイッチ回路が必要となるため、チップサイズの増大とテスト工数の増加、チップ歩留りの懸念等から考えてあまり現実的な方法ではない。
【００１９】
特許文献１の技術は、同一の命令セットを持ったＣＰＵ間で、特定の割り込み要因に対して、ＣＰＵの生成する割り込みベクタが異なるため、同一のアプリケーションプログラムを実行できない場合を考慮したもので、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、別の割り込み要因に対して任意に割り付けることを考慮したものではない。
【００２０】
特許文献２の技術は、あるプログラムの特定の割り込み処理のみを変更したい場合のような小規模変更を考慮したもので、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、別の割り込み要因に対して任意に割り付けることを考慮したものではない。
【００２１】
特許文献３の技術は、各周辺装置内に割り込みベクタ保存レジスタと、割り込み要求保存レジスタとを設け、状況に応じて、上記割り込みベクタ保存レジスタの内容と、上記割り込み要求保存レジスタの内容を更新するもので、新たに追加される周辺装置毎に、割り込みベクタ保存レジスタと、割り込み要求保存レジスタとを設けなければならない。また、特許文献４は、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、別の割り込み要因に対して任意に割り付けることを考慮したものではない。
【００２２】
特許文献４の技術は、割り込み要求信号に基づいて演算処理手段が発生したベクタアドレス信号を他のベクタアドレス信号に書き換えるものであるが、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、別の割り込み要因に対して任意に割り付けることを考慮したものではない。
【００２３】
特許文献５の技術は、多数の割り込み要因に対し効率的な割り込み判定処理を可能にするものであり、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、別の割り込み要因に対して任意に割り付けることを考慮したものではない。
【００２４】
その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２５】
課題を解決するための手段のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００２６】
すなわち、割り込みコントローラは、割り込み要求の優先順位を判定する優先順位判定回路を含む。ＣＰＵは、ベクタ番号に応じたベクタアドレスを生成するベクタアドレス生成回路を含む。優先順位判定回路とＣＰＵとの間には、予め設定されたベクタ番号変更情報に従って、上記優先順位判定回路から出力されたベクタ番号を、上記ベクタアドレス生成回路で生成可能なベクタアドレスに対応するベクタ番号に変更して上記ベクタアドレス生成回路に出力するためのベクタ番号変更回路が設けられる。上記優先順位判定回路から出力されるベクタ番号のうち、上記ベクタ番号変更回路でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、上記ベクタ番号変更回路を迂回して上記ベクタアドレス生成回路に供給される。
【発明の効果】
【００２７】
課題を解決するための手段のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２８】
すなわち、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、外部端子や周辺機能回路からの他の割り込み要因に対して任意に割り付けることができる。
【図面の簡単な説明】
【００２９】
【図１】マイクロコンピュータの構成例ブロック図である。
【図２】新たに追加された周辺機能回路からの割り込みに対応するハードウェアの追加を説明するためのブロック図である。
【図３】マイクロコンピュータの構成例ブロック図である。
【発明を実施するための形態】
【００３０】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００３１】
〔１〕代表的な実施の形態に係るデータ処理装置（１）は、ＣＰＵ（３）と、上記ＣＰＵに対する割り込み要求に応じてベクタ番号を生成する割り込みコントローラ（２）とを含む。
【００３２】
上記割り込みコントローラは、割り込み要求毎に予め割り当てられたベクタ番号を比較することで割り込み要求の優先順位を判定し、その判定結果に応じてベクタ番号を出力する優先順位判定回路（２３）を含む。
【００３３】
上記ＣＰＵは、ベクタ番号に応じたベクタアドレスを生成するベクタアドレス生成回路（３１）を含む。
【００３４】
上記優先順位判定回路と上記ＣＰＵとの間には、予め設定されたベクタ番号変更情報に従って、上記優先順位判定回路から出力されたベクタ番号を、上記ベクタアドレス生成回路で生成可能なベクタアドレスに対応するベクタ番号に変更して上記ベクタアドレス生成回路に出力するためのベクタ番号変更回路（２４）が設けられる。
【００３５】
上記優先順位判定回路から出力されるベクタ番号のうち、ベクタ番号の変更を必要としないベクタ番号については、上記ベクタ番号変更回路（２４）を迂回して上記ベクタアドレス生成回路（３１）に供給される。具体的には、上記ベクタ番号変更回路でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、上記ベクタ番号変更回路（２４）を迂回して上記ベクタアドレス生成回路（３１）に供給される。
【００３６】
上記のように、上記優先順位判定回路と上記ＣＰＵとの間には、予め設定されたベクタ番号変更情報に従って、上記優先順位判定回路から出力されたベクタ番号を、上記ベクタアドレス生成回路で生成可能なベクタアドレスに対応するベクタ番号に変更して上記ベクタアドレス生成回路に出力するためのベクタ番号変更回路（２４）が設けられている。このため、上記優先順位判定回路から出力されたベクタ番号は、このベクタ番号変更回路（２４）によって、上記ベクタアドレス生成回路で生成可能なベクタアドレスに対応するベクタ番号に変更されてから上記ベクタアドレス生成回路に供給される。ベクタ番号変更回路（２４）でのベクタ番号の変更内容は、ベクタ番号変更情報によって決定される。従って、このベクタ番号変更情報の内容を変更することにより、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、外部端子や周辺機能回路からの割り込み要因に対して任意に割り付けることができる。
【００３７】
例えば割り込み要因Ａ，Ｂ，Ｃ，Ｄに、それぞれベクタ番号ｘ＋１，ｘ＋２，ｘ＋３，ｘ＋４が割り当てられている場合において、ユーザが割り込み要因Ｂを使用しない場合、そのままでは、ベクタ番号ｘ＋２が未使用で無駄になる。そこで、ユーザは、ベクタ番号変更情報を変更して、ベクタ番号ｘ＋２を割り込み要因Ｃに割り付け、ベクタ番号ｘ＋３を割り込み要因Ｄに割り付ける。このように、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、他の割り込み要因に対して任意に割り付けることにより、ベクタ番号の無駄な割り当てを排除できるので、ベクタ番号の数に比べて割り込み要因の数が増大した場合に対応することができる。
【００３８】
上記のように、上記優先順位判定回路から出力されるベクタ番号のうち、上記ベクタ番号変更回路でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、上記ベクタ番号変更回路（２４）を迂回して上記ベクタアドレス生成回路（３１）に供給される。このため、ベクタアドレスの早期生成を優先する割り込みについてのベクタ番号については、ベクタ番号変更回路でのベクタ番号変更に要する時間によって、ベクタアドレスの生成が遅延されずに済む。また、このように上記ベクタ番号変更回路（２４）でのベクタ番号の変更対象が制限されることにより、上記ベクタ番号変更回路（２４）の回路規模を必要最小限に抑えることができる。
【００３９】
〔２〕上記データ処理装置には、上記ＣＰＵを介さずにデータ転送を行うためのデータトランスファコントローラ（４）を設けることができる。上記ＣＰＵには、上記ベクタ番号変更回路から出力されたベクタ番号に応じて、上記データトランスファコントローラによるデータ転送のための転送アドレス及び転送モードを含むＤＴＣ転送情報を生成するＤＴＣ転送情報生成回路（３３）を設けることができる。このとき、上記ベクタ番号変更回路は、上記ベクタアドレス生成回路と上記ＤＴＣ転送情報生成回路とで共有することができ、そのようにすることで、ベクタアドレス生成回路に対応するベクタ番号変更回路と、ＤＴＣ転送情報生成回路に対応するベクタ番号変更回路とを別個に形成するのに比べて、ベクタ番号変更のための回路規模を小さく抑えることができる。
【００４０】
〔３〕上記優先順位判定回路は、上記ベクタアドレス生成回路及び上記ＤＴＣ転送情報アドレス生成回路に対して割り込み要求信号を個別的にアサートするように構成することができる。例えば上記ベクタアドレス生成回路に対する割り込み要求信号（ＩＰＲ１）がアサートされることにより、ベクタアドレス生成回路に対する割り込み要求が有効となり、上記ＤＴＣ転送情報アドレス生成回路に対する割り込み要求信号（ＩＰＲ２）がアサートされることにより、上記ＤＴＣ転送情報生成回路に対する割り込み要求が有効となる。
【００４１】
〔４〕上記ベクタ番号変更回路には、上記ベクタ番号変更情報を保持可能なベクタ番号変更情報保持部を設けることができる。このベクタ番号変更情報保持部は、レジスタ又はテーブルによって形成することができる。ベクタ番号変更情報保持部が設けられた場合、このベクタ番号変更情報保持部内のベクタ番号変更情報を書き換えることで、ベクタ番号の変更が可能とされる。
【００４２】
〔５〕上記ベクタ番号変更回路は、上記割り込みコントローラ内に配置することができる。上記ベクタ番号変更回路が上記割り込みコントローラ内に配置された場合、上記優先順位判定回路と上記ベクタ番号変更回路との間の配線の短縮化を図ることができる。
【００４３】
〔６〕上記ベクタ番号変更情報保持部に、上記ＣＰＵでの初期化処理によって上記ベクタ番号変更情報が書き込まれるレジスタ（２４１）を適用することができる。
【００４４】
レジスタ（２４１）は揮発性であるため、マイクロコンピュータでのリセット処理において、ベクタ番号変更情報を上記レジスタに書き込むようにすると良い。また、上記ベクタ番号変更情報保持部をレジスタで形成する場合、ＣＰＵでのプログラム実行において、上記レジスタ内のベクタ番号変更情報を適宜に変更することができる。
【００４５】
〔７〕上記ベクタ番号変更情報保持部に、上記ベクタ番号変更情報が予め書き込まれた不揮発性メモリによって形成されたベクタ番号変更テーブルを適用することができる。上記テーブルが不揮発性メモリに形成される場合には、システムの電源供給が遮断されても、ベクタ番号変更情報が失われることが無い。
【００４６】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００４７】
《実施の形態１》
図１には、データ処理装置の一例とされるマイクロコンピュータが示される。
【００４８】
図１に示されるマイクロコンピュータ１は、特に制限されないが、割り込みコントローラ２、ＣＰＵ（中央処理装置）３、ＲＯＭ（Read Only Memory）５、ＲＡＭ（Random Access Memory）６を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
【００４９】
割り込みコントローラ２は、検出回路２１、プライオリティレベル判定回路２２、優先順位判定回路２３、ベクタ番号変更回路２４を含む。このマイクロコンピュータ１は、各種割り込み要求が入力可能とされる。
【００５０】
割り込み要求の電気信号を発生させる要因（割り込み要因）としては、リセット割り込み、システム割り込み、外部端子からの割り込み、周辺機能回路からの割り込みを挙げることができる。システム割り込みには、ノンマスカブル割り込みやデバッガ用割り込み等が含まれる。割り込み要因には、ベクタ番号が割り当てられている。本例において、リセット割り込みにはベクタ番号０が割り当てられ、システム割り込みにはベクタ番号１〜ｘが割り当てられる。外部端子からの割り込みには、ベクタ番号ｘ＋１〜ｙが割り当てられ、周辺機能回路からの割り込みには、ベクタ番号ｙ＋１〜Ｎが割り当てられる。
【００５１】
検出回路２１は、このマイクロコンピュータ１の外部端子からの割り込み要求を検出する。この検出回路２１によって検出された割り込み要求は、プライオリティレベル判定回路２２に伝達される。マイクロコンピュータ１には、割り込み要求のための外部端子が複数個設けられている。
【００５２】
プライオリティレベル判定回路２２は、外部端子からの割り込み要求や、周辺機能回路からの割り込み要求に順位をつけるプライオリティレベルの判定を行う。プライオリティレベルは割り込み要因毎に設定される。プライオリティレベル判定回路２２には、プライオリティレベルをマスクするためのプライオリティレベルマスクビットＰＬＭが入力され、プライオリティレベル判定回路２２は、割り込み要因毎に設定されたプライオリティレベルとプライオリティレベルマスクビットＰＬＭとの組み合わせで、割り込み要求を待たせたり、複数の割り込み要求に順位をつけたりする。割り込み処理の実行中は、プライオリティレベルマスクビットＰＬＭがセットされて他の割り込み要求が受け付けられないようになっている。
【００５３】
優先順位判定回路２３は、割り込み許可ビットＩＰＥによって割り込みが許可されている状態で、複数の割り込み要求が競合した場合、入力されたベクタ番号を比較することによって割り込みの優先順位を判定し、割り込み要求信号ＩＰＲをアサートして、優先順位が最も高い割り込みのベクタ番号を一つだけ出力する。
【００５４】
この優先順位判定回路２３の出力のうち、ベクタ番号ｘ＋１〜Ｎについては、ベクタ番号変更回路２４に入力され、そこでベクタ番号が変更される。優先順位判定回路２３の出力のうち、ベクタ番号変更回路２４でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、ベクタ番号変更回路２４を迂回してＣＰＵ３に伝達される。
【００５５】
ベクタ番号変更回路２４でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みとしては、特に制限されないが、リセット割り込みや、システム割り込み（ノンマスカブル割り込みや、デバッガ用割り込み）を挙げることができる。本例において、リセット割り込みや、システム割り込みについてのベクタ番号は、０〜ｘに固定され、ベクタ番号変更回路２４でのベクタ番号変更の対象とはされない。つまり、リセット割り込みやシステム割り込みについてのベクタ番号は、ベクタ番号変更回路２２を迂回するための経路を介してＣＰＵ３に伝達される。これにより、リセット割り込みやシステム割り込みについてのベクタ番号０〜ｘについては、ベクタ番号変更回路２４でのベクタ番号変更に要する時間によって、ベクタアドレスの生成が遅延されずに済む。このベクタ番号０〜ｘに、ベクタ番号変更回路２４の出力であるベクタ番号ｘ＋１〜ｙ，ｙ＋１〜Ｎが加わることで、ベクタ番号０〜Ｎが決定され、それがＣＰＵ３に伝達される。
【００５６】
ベクタ番号変更回路２４は、ベクタ番号変更情報を保持可能なベクタ番号変更情報保持部を含む。このベクタ番号変更情報保持部は、ベクタ番号変更レジスタ２４１によって形成することができる。ベクタ番号変更レジスタ２４１は、優先順位判定回路２３から出力されるベクタ番号ｘ＋１〜Ｎに対応して複数個設けられる。このベクタ番号変更レジスタ２４１にベクタ番号変更情報が保持され、優先順位判定回路２３から出力されるベクタ番号ｘ＋１〜Ｎに対応する情報がベクタ番号変更レジスタ２４１から読み出され、それが出力されることにより、ベクタ番号の変更が行われる。ベクタ番号変更回路２４でのベクタ番号変更は、優先順位判定回路２３から出力された一つのベクタ番号に対して行われる。複数のベクタ番号が同時に変更されることはない。ベクタ番号変更レジスタ２４１に保持されているベクタ番号変更情報を７ビットとした場合、ベクタ番号を０〜１２７の何れかに変更することができる。ベクタ番号変更レジスタ２４１に保持されているベクタ番号変更情報を８ビットとした場合、ベクタ番号を０〜２５５の何れかに変更することができる。
【００５７】
ベクタ番号変更レジスタ２４１は揮発性であり、マイクロコンピュータ１の電源がオフされると、ベクタ番号変更レジスタ２４１の保持情報が失われる。このため、ベクタ番号変更情報保持部をベクタ番号変更レジスタ２４１によって形成する場合には、マイクロコンピュータ１内の不揮発性メモリ（例えばＲＯＭ５）にベクタ番号変更情報を予め格納しておき、そのベクタ番号変更情報を例えばマイクロコンピュータ１でのリセット処理において、ベクタ番号変更レジスタ２４１に書き込むようにすると良い。また、ベクタ番号変更情報保持部をベクタ番号変更レジスタ２４１によって形成する場合には、ＣＰＵ３でのプログラム実行において、ベクタ番号変更レジスタ２４１内のベクタ番号変更情報を適宜に変更することができる。
【００５８】
ＣＰＵ３は、バス７を介してＲＯＭ５やＲＡＭ６に結合される。ＲＯＭ５には、ＣＰＵ３で実行されるプログラムが格納される。ＲＡＭ６は、ＣＰＵ３での演算処理における作業領域などに使用される。
【００５９】
ＣＰＵ３は、ベクタアドレス生成回路３１や実行部３２等を有する。
【００６０】
ベクタアドレス生成回路３１は、割り込み要求信号ＩＰＲがアサートされた状態で入力されたベクタ番号に従って、対応するベクタアドレスを生成する。ベクタアドレスは、対応するプログラムの先頭アドレスとされる。実行部３は、入力されたベクタアドレスに従ってＲＯＭ５から、対応するプログラムを読み出してそれを実行する。
【００６１】
実行部３２でのプログラム実行において、割り込み許可ビットＩＰＥや、プライオリティレベルマスクビットＰＬＭの論理が決定される。実行部３２において割り込み処理のための演算が行われている場合には、優先順位判定回路に対して割り込み許可ビットＩＰＥをネゲートして、他の割り込みを許可しない。また、プライオリティレベルビットをネゲートしてプライオリティレベルをマスクする。
【００６２】
実施の形態１によれば、以下の作用効果を奏する。
【００６３】
（１）実施の形態１によれば、ベクタ番号変更レジスタ２４１にベクタ番号変更情報が保持され、優先順位判定回路２３から出力されるベクタ番号ｘ＋１〜Ｎに対応する情報がベクタ番号変更レジスタ２４１から読み出され、それが出力されることにより、ベクタ番号の変更を行うことができる。ベクタ番号変更レジスタ２４１でのベクタ番号の変更内容は、ベクタ番号変更情報によって決定される。従って、このベクタ番号変更情報の内容を変更することにより、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、外部端子や周辺機能回路からの割り込み要因に対して任意に割り付けることができる。このようにすれば、ユーザが未使用の割り込み要因に対応する割り込みベクタのベクタ番号を、他の割り込み要因に対して任意に割り付けることにより、ベクタ番号の無駄な割り当てを排除できるので、ベクタ番号の数に比べて割り込み要因の数が増大した場合に対応することができる。
【００６４】
（２）マイクロコンピュータ１において、新たな周辺機能を順次追加していくと、対応する割り込みベクタ数が足りなくなる状況が発生する。かかる場合には、プライオリティレベル判定回路２２や優先順位判定回路２３におけるハードウェアの追加に伴ってベクタ番号変更回路２４におけるハードウェアの追加を行えば良い。例えば図２に示されるように、プライオリティレベル判定回路２２には、新たに追加された周辺機能回路からの割り込みに対応するハードウェアの追加分２２１が設けられ、優先順位判定回路２３には、新たに追加された周辺機能回路からの割り込みに対応するハードウェアの追加分２３１が設けられる。優先順位判定回路２３においては、ハードウェアの追加分２２１により、ベクタ番号N+1〜Mが出力され、優先順位判定回路２３においては、プライオリティレベル判定回路２２から出力されるベクタ番号N+1〜Mに対応するハードウェアの追加分２３１が設けられる。そして、ベクタ番号変更回路２４には、優先順位判定回路２３から出力されるベクタ番号N+1〜Mに対応するレジスタが設けられる。このようにすれば、ベクタアドレス生成回路３１の構成を変更することなく、新たに追加された周辺機能回路からの割り込み要因に対応することができる。
【００６５】
（３）優先順位判定回路２３の出力のうち、ベクタ番号変更回路２４でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号については、ベクタ番号変更回路２４を迂回してＣＰＵ３内のベクタアドレス生成回路３１に伝達される。このため、ベクタ番号変更回路２４でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みについては、ベクタ番号の変更を行うことはできないが、ベクタ番号変更回路２４でのベクタ番号変更に要する時間によって、ベクタアドレスの生成が遅延されずに済む。尚、ベクタ番号変更回路２４でのベクタ番号の変更よりもベクタアドレスの早期生成を優先する割り込みに対応するベクタ番号には、外部端子や周辺機能回路からの割り込みに対応するベクタ番号を含めることができる。
【００６６】
《実施の形態２》
図３には、マイクロコンピュータの構成例が示される。
【００６７】
図３に示されるマイクロコンピュータ１が、図１に示されるのと大きく相違するのは、マイクロコンピュータ１において、データトランスファコントローラ（「ＤＴＣ」と略記する）４が設けられ、ＣＰＵ３内にＤＴＣ転送情報生成回路３３が設けられている点である。ＤＴＣ４はバス７に結合される。ＤＴＣ４は、周辺機能回路からの割り込みによって起動され、ＣＰＵ３を介さずに、メモリやレジスタ間のデータ転送を行うことができる。
【００６８】
ベクタアドレス生成回路３１及びＤＴＣ転送情報生成回路３３には、割り込みコントローラ２からベクタ番号０〜Ｍが伝達される。ベクタ番号変更回路２４は、ベクタアドレス生成回路３１とＤＴＣ転送情報生成回路３３とによって共有される。つまり、ベクタ番号変更回路２４によって変更されたベクタ番号は、ベクタアドレス生成回路３１及びＤＴＣ転送情報生成回路３３の双方に伝達される。優先順位判定回路２３によって割り込み要求信号ＩＰＲ１がアサートされることにより、ベクタアドレス生成回路３１に対する割り込み要求が有効となり、優先順位判定回路２３によって割り込み要求信号ＩＰＲ２がアサートされることにより、ＤＴＣ転送情報生成回路３３に対する割り込み要求が有効となる。
【００６９】
このＤＴＣ４によってデータ転送を行うには、ＤＴＣ転送情報生成回路３３によってＤＴＣ転送情報を生成する必要がある。ＤＴＣ転送情報は、データ転送のための転送アドレス及び転送モードを含む。ＤＴＣ転送情報生成回路３３は、優先順位判定回路２３によってＤＴＣ転送情報生成回路３３に対する割り込み要求信号ＩＰＲ２がアサートされた状態で、ベクタ番号が伝達されると、それに対応するＤＴＣ転送情報を生成する。生成されたＤＴＣ転送情報はＤＴＣ４に伝達される。ＤＴＣ４は、伝達されたＤＴＣ転送情報に従ってメモリやレジスタ間のデータ転送を制御する。
【００７０】
ベクタアドレス生成回路３１は、優先順位判定回路２３によってベクタアドレス生成回路３１に対する割り込み要求信号ＩＰＲ１がアサートされた状態で、ベクタ番号が伝達されると、それに対応するベクタアドレスを生成する。
【００７１】
実施の形態２によれば、ベクタ番号変換回路２４を備えているため、実施の形態１の場合と同様の作用効果を得ることができる。
【００７２】
また実施の形態２によれば、ベクタアドレス生成回路３１とＤＴＣ転送情報生成回路３３とによってベクタ番号変更回路２４が共有されるため、ベクタアドレス生成回路３１に対応するベクタ番号変更回路と、ＤＴＣ転送情報生成回路３３に対応するベクタ番号変更回路とを別個に形成するのに比べて、ベクタ番号変更のための回路規模を小さく抑えることができる。
【００７３】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００７４】
例えばベクタ番号変更回路２４におけるベクタ番号変更情報保持部は、フラッシュメモリなどの不揮発性メモリによって形成されたベクタ番号変更テーブルとすることができる。このベクタ番号変更テーブルにベクタ番号変更情報が保持され、優先順位判定回路２３から伝達されたベクタ番号が、ベクタアドレス生成回路３１やＤＴＣ転送情報生成回路３３で生成可能なベクタアドレスに対応するベクタ番号に変更される。ベクタ番号変更テーブルが不揮発性メモリに形成される場合には、マイクロコンピュータ１の電源供給が遮断されても、ベクタ番号変更情報が失われることが無い。
【００７５】
ベクタ番号変更回路２４をＣＰＵ３内に配置しても良い。
【符号の説明】
【００７６】
１  マイクロコンピュータ
２  割り込みコントローラ
３  ＣＰＵ
４  ＤＴＣ
５  ＲＯＭ
６  ＲＡＭ
７  バス
２１  検出回路
２２  プライオリティレベル判定回路
２３  優先順位判定回路
２４  ベクタ番号変換回路
３１  ベクタアドレス生成回路
３２  実行部
３３  ＤＴＣ転送情報生成回路
２４１  ベクタ番号変更レジスタ
【図１】
2014126977.tif 000003
【図２】
2014126977.tif 000004
【図３】
2014126977.tif 000005