(57)【要約】【課題】割込み要求入力数が少ないＣＰＵを用いても、割込み要因数の増加に対処することができ、しかも、割込み処理の高速化を維持できる情報処理装置を提供する。【解決手段】割込み要求信号ＩＲ0〜ＩＲm-1はＣＰＵ８に与え、割込み要求信号ＩＲm〜ＩＲm+nは割込み拡張手段１２に与える。割込み拡張手段１２は、割込み要求を受け付けたときは、対応した割込み処理に必要なＩＮＴ命令のオペランド部の値（割込みベクタ番号）を命令生成手段１６で生成し、この生成した値で記憶手段１７が保持するＩＮＴ命令のオペランド部の値を書き換えると共に、ＣＰＵ８に割込み要求を行う。ＣＰＵ８は、命令生成手段１６からの割込み要求を受け付けたときは、記憶手段１７が保持するＩＮＴ命令を実行して割込み処理を行う。【選択図】          図１
2007041980.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
１以上の割込み要求入力を持つ割込み拡張手段を有し、
前記割込み拡張手段は、割込み要求を受け付けたときは、前記ＣＰＵに割込み要求を行うと共に、前記ＣＰＵが前記割込み拡張手段からの割込み要求を受け付けた場合に前記ＣＰＵに実行させる所定命令を保持する
ことを特徴とする情報処理装置。
【請求項２】
前記所定命令は、割込み命令であり、
前記割込み拡張手段は、
割込み要求を受ける命令生成手段と、
前記割込み命令を保持させる記憶手段と、
前記ＣＰＵが出力する前記ＣＰＵのメモリ空間内のアドレスをデコードし、前記ＣＰＵによる前記記憶手段へのアクセスを可能とするアドレスデコーダを有し、
前記命令生成手段は、割込み要求を受け付けたときは、該受け付けた割込み要求に応じた前記割込み命令のオペランド部の値を生成し、該生成したオペランド部の値で前記記憶手段が保持する前記割込み命令のオペランド部の値を書き換える
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記所定命令は、変更対象命令を含む割込み処理プログラムであり、
前記割込み拡張手段は、
割込み要求を受ける命令生成手段と、
前記割込み処理プログラムを保持させる記憶手段と、
前記ＣＰＵが出力する前記ＣＰＵのメモリ空間内のアドレスをデコードし、前記ＣＰＵによる前記記憶手段へのアクセスを可能とするアドレスデコーダを有し、
前記命令生成手段は、割込み要求を受け付けたときは、該受け付けた割込み要求に応じた前記変更対象命令のオペランド部の値を生成し、該生成したオペランド部の値で前記記憶手段が保持する前記変更対象命令のオペランド部の値を書き換える
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記記憶手段は、前記割込み処理プログラムを前記ＣＰＵから書込み可能とされていることを特徴とする請求項３記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割込み要因数の増加に対応するための割込み拡張手段を持つ情報処理装置に関する。
【背景技術】
【０００２】
近年、情報処理装置の製造技術の進歩に伴い、情報処理装置に搭載可能な周辺装置が増加し、また、多くの制御を１つの情報処理装置に実行させたいという要求から、情報処理装置に多くの周辺装置を搭載することが求められている。しかしながら、情報処理装置に多くの周辺装置を搭載すると、処理の対象となる割込み要因の数が増大し、既存のＣＰＵ（central processing unit）を用いる場合には、ＣＰＵ内部の割込み処理部の割込み要求入力数が不足してしまうという問題が発生する。
【０００３】
ここで、割込み要因数の増加に合わせてＣＰＵ内部の割込み処理部の設計変更を行えば、割込み入力数不足に対応することができる。しかし、これを実現するためには、全ての割込み要因に対して同等の機能（割込みレベル、マスク機能、優先順位など）を用意する必要があるため、受け付ける割込み要因数を増加させるほど、ＣＰＵ内部の割込み処理部の回路規模が増大してしまうという問題点がある。
【０００４】
また、割込み要因数の増加に合わせてＣＰＵ内部の割込み処理部をその都度設計するとなると、それなりの工数も必要となるし、また、割込み要因の最大数を見越して割込み処理部を設計してそれを使いまわしすると、割込み要因数が少ない場合に、使用しない割込み処理機構が無駄に回路規模を増加させてしまうことになるという問題点もある。
【０００５】
そこで、従来、たとえば、図７に示すような情報処理装置が提案されている。図７中、ＩＲ01、ＩＲ0n、ＩＲ1、ＩＲmは周辺装置からの割込み要求信号であり、割込み要求信号ＩＲ02〜ＩＲ0(n-1)、ＩＲ2〜ＩＲm-1は、図示を省略している。１はＯＲ回路であり、割込み要求信号ＩＲ01〜ＩＲ0nを論理和処理して割込み要求信号ＩＲ0を出力するものである。
【０００６】
２は命令の実行を行うＣＰＵ、３0、３1、３mはＣＰＵ２の割込み要求信号入力端子であり、割込み要求信号入力端子３2〜３m-1は、図示を省略している。４はＣＰＵ２内部の割込み処理部、５は割込みベクタや割込み処理プログラム等を格納したメモリ、６はアドレスバス、７はデータバスである。
【０００７】
この情報処理装置は、関連する複数の割込み要求信号ＩＲ01〜ＩＲ0nについては、ＯＲ回路１で論理和を取って１個の割込み要求信号ＩＲ0を生成し、この割込み要求信号ＩＲ0を割込み要求信号入力端子３0に与えるようにし、複数の割込み要求信号ＩＲ01〜ＩＲ0mに１個の割込み要求信号入力端子３0を共用させることにより、割込み処理部４の割込み要求入力数不足に対処するようにしたものである。
【０００８】
図８はこの情報処理装置において割込み要求信号入力端子３0を共用する周辺装置からの割込み要求が受け付けられた場合の割込み処理動作を示す流れ図である。即ち、この情報処理装置においては、割込み要求信号入力端子３0を共用する周辺装置からの割込み要求があり、これが受け付けられると（ステップＳ１）、ＣＰＵ２は、実行中の命令の切れ目でハードウエア割込み処理を開始する（ステップＳ２）。
【０００９】
即ち、ＣＰＵ２は、メモリ５のベクタテーブルからの割込みベクタのリードや、現在のＣＰＵ２の状態を示すプロセッサステータス（ＰＳ）の値や割込み処理終了後に実行再開すべきアドレスを示すプログラムカウンタ（ＰＣ）の値のスタックへの退避などの処理を行い、リードした割込みベクタが示すアドレスへの分岐を行う（ステップＳ２）。
【００１０】
そして、ＣＰＵ２は、分岐先に格納されているプログラムを使用して、割込み要求信号ＩＲ01の出力元の周辺装置が割込み要求をしたか否かを示すフラグをリードし（ステップＳ３）、割込み要求信号ＩＲ01の出力元の周辺装置が実際の割込み要求元であるか否かを判断し（ステップＳ４）、割込み要求信号ＩＲ01の出力元の周辺装置が実際の割込み要求元である場合には、割込み要求信号ＩＲ01の出力元の周辺装置からの割込み要求に対応する割込み処理プログラムを実行し（ステップＳ５）、その後、メインプログラムに復帰する（ステップＳ１０）。
【００１１】
これに対して、割込み要求信号ＩＲ01の出力元の周辺装置が実際の割込み要求元ではない場合には、ＣＰＵ２は、割込み要求信号ＩＲ02の出力元の周辺装置が割込み要求をしたか否かを示すフラグをリード（ステップＳ６）、割込み要求信号ＩＲ02の出力元の周辺装置が実際の割込み要求元であるか否かを判断し（ステップＳ７）、割込み要求信号ＩＲ02の出力元の周辺装置が実際の割込み要求元である場合には、割込み要求信号ＩＲ02の出力元の周辺装置からの割込み要求に対応する割込み処理プログラムを実行し（ステップＳ８）、その後、メインプログラムに復帰する（ステップＳ１０）。
【００１２】
これに対して、割込み要求信号ＩＲ02の出力元の周辺装置が実際の割込み要求元ではない場合には、以下、同様にして、割込み要求信号ＩＲ03〜ＩＲ0nの出力元の周辺装置を順に対象として実際の割込み要求元を検出し、対応する割込み処理プログラムを実行し（ステップＳ９）、その後、メインプログラムに復帰する（ステップＳ１０）。
【特許文献１】特開２００１−５６７６号公報
【特許文献２】特開昭５５−０９２９５０号公報
【特許文献３】特開平６−１０３２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図７に示す従来の情報処理装置においては、割込み要求信号入力端子３0を共用する周辺装置から割込み要求があり、これが受け付けられると、ソフトウエアを使用し、割込み要求信号入力端子３0を共用する周辺装置を対象として実際の割込み要求元の検出が行われるが、割込み要求元の検出は、予め設定されている順番（例えば、割込み優先順位の順番）に行われる。
【００１４】
このため、割込み要求をしたか否かを示すフラグが後順位でリードされる周辺装置が実際の割込み要求元であった場合には、当然に割込み処理を開始する時間が遅れることになり、割込み要求信号入力端子３0を共用する周辺装置からの割込みが発生してから必要な処理が開始するまでの時間が、割込み要求信号入力端子３0を共用しない場合に比べて増大するという問題点があった。
【００１５】
本発明は、かかる点に鑑み、割込み要求入力数が少ないＣＰＵを用いても、割込み要因数の増加に対処することができ、しかも、割込み処理の高速化を維持することができるようにした情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の情報処理装置は、ＣＰＵと、１以上の割込み要求入力を持つ割込み拡張手段を有し、割込み拡張手段は、割込み要求を受け付けたときは、ＣＰＵに割込み要求を行うと共に、ＣＰＵが割込み拡張手段からの割込み要求を受け付けた場合にＣＰＵに実行させる所定命令を保持するというものである。
【発明の効果】
【００１７】
本発明によれば、ＣＰＵのほか、１以上の割込み要求入力を持つ割込み拡張手段を有し、割込み拡張手段は、割込み要求を受け付けたときは、ＣＰＵに割込み要求を行うとしている。したがって、割込み要求入力数が少ないＣＰＵを用いても、割込み要因数の増加に対処することができる。
【００１８】
また、割込み拡張手段は、割込み要求を受け付けたときは、ＣＰＵが割込み拡張手段からの割込み要求を受け付けた場合にＣＰＵに実行させる所定命令を保持するとしているので、ＣＰＵは、割込み拡張手段からの割込み要求を受け付けたときは、割込み拡張手段が保持する所定命令を実行して割込み処理を行うことになり、割込み拡張手段に対して実際に割込み要求を行った周辺装置をソフトウエアで検出するという手順が不要となる。したがって、割込み処理の高速化を維持することができる。
【発明を実施するための最良の形態】
【００１９】
（第１実施形態）
図１は本発明の第１実施形態の要部のブロック回路図である。本発明の第１実施形態は、ＣＰＵ８と、メモリ９と、アドレスバス１０と、データバス１１と、割込み拡張手段１２を有している。ＩＲ0、ＩＲm-1、ＩＲm、ＩＲm+1、ＩＲm+nは周辺装置が出力する割込み要求信号であり、割込み要求信号ＩＲ1〜ＩＲm-2、ＩＲm+2〜ＩＲm+n-1は図示を省略している。
【００２０】
ＣＰＵ８は命令を実行するものである。ＣＰＵ８において、１３0、１３m-1、１３mは割込み要求信号入力端子であり、割込み要求信号入力端子１３1〜１３m-2は図示を省略している。本発明の第１実施形態においては、割込み要求信号入力端子１３0〜１３m-1には割込み要求信号をＣＰＵ８に与えるとされた周辺装置が出力する割込み要求信号ＩＲ0〜ＩＲm-1が与えられ、割込み要求信号入力端子１３mには割込み拡張手段１２が出力する割込み要求信号ＩＲEが与えられる。
【００２１】
また、１４はＣＰＵ８内の割込み処理部である。割込み処理部１４は、割込み要求信号ＩＲ0〜ＩＲm-1、ＩＲEを入力し、予め設定された割込み要因の優先順位や割込みレベルや割込みマスク等の状態に基づいて、割込み要求を受け付けるか否かの判断を行い、受け付ける場合には、ＣＰＵ８が実行中の命令の切れ目で割込み処理を開始し、割込みベクタのリードや、現在のＣＰＵ８の状態を示すプロセッサステータス（ＰＳ）の値や割込み処理終了後に実行再開すべきアドレスを示すプログラムカウンタ（ＰＣ）の値のスタックへの退避や、リードした割込みベクタが示すアドレスへの分岐処理を制御する。
【００２２】
メモリ９は、ハードウエア割込みベクタおよびソフトウエア割込みベクタが格納されたベクタテーブルと、割込み処理プログラムが格納された割込み処理プログラム格納領域を有し、ＣＰＵ８とアドレスバス１０およびデータバス１１で接続されている。
【００２３】
割込み拡張手段１２は、割込み要因数の増加に対応するためのものである。割込み拡張手段１２において、１５0、１５1、１５nは割込み要求信号入力端子であり、割込み要求信号入力端子１５2〜１５n-1は図示を省略している。本発明の第１実施形態では、割込み要求信号入力端子１５0〜１５nには割込み要求信号を割込み拡張手段１２に与えるとされた周辺装置が出力する割込み要求信号ＩＲm〜ＩＲm+nが与えられる。
【００２４】
なお、本発明の第１実施形態では、ＣＰＵ８が有する割込み要求信号入力端子数はｍ＋１個であり、割込み拡張手段１２が有する割込み要求信号入力端子数はｎ＋１個である。したがって、割込み拡張手段１２を設けない場合には、対応することができる割込み要因数はｍ＋１個であるが、割込み拡張手段１２を設けた場合には、対応することができる割込み要因数はｍ＋ｎ＋１となり、取り扱うことができる割込み要因数をｎ個増加することができる。
【００２５】
割込み拡張手段１２は、命令生成手段１６と、記憶手段１７と、アドレスデコーダ１８を有している。命令生成手段１６は、割込み要求信号ＩＲm〜ＩＲm+nを入力し、割込み要求を受け付けたときは、ＩＮＴ命令（割込み命令：ＩＮＴ  ＃ｕ８）のオペランド部の値としてメモリ９のベクタテーブルの割込みベクタ番号（ｕ８）を生成し、この生成したオペランド部の値（割込みベクタ番号）で記憶手段１７が保持するＩＮＴ命令のオペランド部の値を書き換えると共に、ＣＰＵ８に対する割込み要求信号ＩＲEをアサートし、ＣＰＵ８に対して割込み要求を行うものである。
【００２６】
記憶手段１７は、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けた場合に実行する命令としてＩＮＴ命令を保持すると共に、メインプログラムへの復帰用のＲＥＴＩ命令（リターン命令）を保持するものであり、ＣＰＵ８とデータバス１１で接続されている。なお、ＩＮＴ命令およびＲＥＴＩ命令はＣＰＵ８により初期設定されるようにしても良いし、ＩＮＴ命令の命令コード部およびＲＥＴＩ命令をＣＰＵ８による初期設定を不要に保持するものであっても良い。
【００２７】
アドレスデコーダ１８は、ＣＰＵ８がアドレスバス１０に出力するＣＰＵ８のメモリ空間（アドレス空間）内のアドレスの値をデコードし、ＣＰＵ８が記憶手段１７にアクセスすることを可能とするものである。
【００２８】
なお、本発明の第１実施形態では、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けた場合にリードする割込みベクタが示すアドレスは、アドレスデコーダ１８がデコードした場合に記憶手段１７のＩＮＴ命令を保持するアドレスの値となるようにしておく。また、ＩＮＴ命令中のオペランド部の値（ｕ８）が示すメモリ９のベクタテーブルの割込みベクタ（ソフトウエア割込みベクタ）が示すアドレスは、目的とする割込み処理プログラムの先頭アドレスとしておくようにする。
【００２９】
図２はＩＮＴ命令のワード構成とオペレーションの内容を示す図であり、図２（Ａ）はワード構成を示し、図２（Ｂ）はオペレーションの内容を示している。なお、割込みベクタ番号（ｕ８）は、符号無しの８ビットデータである。また、ＳＳＰはシステムスタックレジスタ、ＰＳはプロセッサステータス、ＰＣはプログラムカウンタ、Ｉフラグは割込み許可フラグ、Ｓフラグはスタックポインタ、ＴＢＲはテーブルベースレジスタ（割込みベクタテーブルの先頭アドレスを示すレジスタ）である。
【００３０】
図３は命令生成手段１６が生成する割込みベクタ番号（ｕ８）の例を示す図であり、図３（Ａ）は割込み要求信号ＩＲm〜ＩＲm+nがＩＲm〜ＩＲm+2である場合、図３（Ｂ）は割込み要求信号ＩＲm〜ＩＲm+nがＩＲm〜ＩＲm+5の場合であり、ｘは“０”又は“１”である。なお、図３（Ｂ）の例は、割込み要求信号ＩＲm〜ＩＲm+5のうち、添え字の値が小さい割込み要求信号が優先されるようにしたものである。
【００３１】
このように構成された本発明の第１実施形態では、割込み処理部１４は、割込み要求を受け取ると、予め設定された割込み要因の優先順位や割込みレベルや割込みマスク等の状態に基づいて、割込み要求を受け付けるか否かの判断を行う。
【００３２】
ここで、例えば、割込み要求信号ＩＲ0〜ＩＲm-1の出力元の周辺装置からの割込み要求を受け付けた場合には、ＣＰＵ８は、実行中の命令の切れ目でハードウエア割込み処理を開始し、メモリ９のベクタテーブルからの割込みベクタ（ハードウエア割込みベクタ）のリードや、現在のＣＰＵ８の状態を示すプロセッサステータス（ＰＳ）の値や割込み処理終了後に実行再開すべきアドレスを示すプログラムカウンタ（ＰＣ）の値のスタックへの退避などを行い、リードした割込みベクタが示すアドレスへの分岐を行い、割込み処理プログラムを実行し、割込み処理が終了すると、メインプログラムに復帰する。
【００３３】
これに対して、割込み拡張手段１２に対して割込み要求があり、割込み拡張手段１２が割込み要求信号ＩＲEによりＣＰＵ８に対して割込み要求を行った場合において、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けた場合には、図４に示すように割込み処理が行われる。
【００３４】
即ち、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置から割込み拡張手段１２に割込み要求があり、割込み拡張手段１２がこれを受け付けると、（ステップＰ１）、命令生成手段１６は、ＩＮＴ命令のオペランド部の値（割込みベクタ番号）を生成し、この生成したオペランド部の値（割込みベクタ番号）で記憶手段１７が保持するＩＮＴ命令のオペランド部の値を書き換えると共に、ＣＰＵ８に対する割込み要求信号ＩＲEをアサートし、ＣＰＵ８に対して割込み要求を行う（ステップＰ２）。
【００３５】
そして、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けると、ＣＰＵ８は、実行中の命令の切れ目でハードウエア割込み処理を開始し、メモリ９のベクタテーブルからの割込みベクタ（ハードウエア割込みベクタ）のリードや、現在のＣＰＵ８の状態を示すプロセッサステータス（ＰＳ）の値や割込み処理終了後に実行再開すべきアドレスを示すプログラムカウンタ（ＰＣ）の値のスタックへの退避などを行い、リードした割込みベクタが示すアドレスへの分岐を行う（ステップＰ３）。
【００３６】
ここで、本発明の第１実施形態では、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けた場合にリードする割込みベクタが示すアドレスは、記憶手段１７のＩＮＴ命令を保持するアドレスとされているので、ステップＰ３における割込みベクタが示すアドレスへの分岐は、割込み拡張手段１２の記憶手段１７のＩＮＴ命令を保持するアドレスに対して行われることになる。
【００３７】
そして、ＣＰＵ８は、記憶手段１７からＩＮＴ命令をリードして、ＩＮＴ命令の実行を開始し（ステップＰ４）、メモリ９のベクタテーブルからＩＮＴ命令のオペランド部の値（割込みベクタ番号）が示すソフトウエア割込みベクタのリードや、現在のＣＰＵ８の状態を示すプロセッサステータス（ＰＳ）の値や割込み処理終了後に実行再開すべきアドレスを示すプログラムカウンタ（ＰＣ）の値のスタックへの退避などを行い、リードしたソフトウエア割込みベクタが示すアドレスへの分岐を行う（ステップＰ５）。
【００３８】
ここで、本発明の第１実施形態では、記憶手段１７が保持するＩＮＴ命令中のオペランド部の値（割込みベクタ番号）が示すメモリ９のベクタテーブルの割込みベクタ（ソフトウエア割込みベクタ）が示すアドレスは、目的とする割込み処理プログラムの先頭アドレスを示すものとされているので、ステップＰ５におけるソフトウエア割込みベクタが示すアドレスへの分岐は、メモリ９内の目的とする割込み処理プログラムが保持されている先頭アドレスに対して行われることになる。
【００３９】
そして、ＣＰＵ８は、目的とする割込み処理プログラムの実行を行い、目的とする割込み処理プログラムの最後に記述されているＲＥＴＩ命令でメインプログラムへの復帰処理を開始し（ステップＰ６）、記憶手段１７が保持するＲＥＴＩ命令を実行し（ステップＰ７）、メインプログラムに復帰する（ステップＳ８）。
【００４０】
以上のように、本発明の第１実施形態においては、割込み要求信号ＩＲ0〜ＩＲm+nの出力元の周辺装置を、割込み要求信号ＩＲ0〜ＩＲm-1の出力元の周辺装置のグループと、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置のグループとに分け、ＣＰＵ８は割込み要求信号ＩＲ0〜ＩＲm-1を受け、割込み拡張手段１２は割込み要求信号ＩＲm〜ＩＲm+nを受けるとしている。
【００４１】
そして、命令生成手段１６は、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求を受け付けたときは、ＣＰＵ８に対して割込み要求を行うとしている。したがって、割込み要求入力数が少ないＣＰＵ８を用いても、割込み要因数の増加に対処することができる。
【００４２】
また、命令生成手段１６は、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求を受け付けたときは、メモリ９のベクタテーブルの割込みベクタ番号（ｕ８）を生成し、生成した割込みベクタ番号で記憶手段１７が保持するＩＮＴ命令のオペランド部の値（ｕ８）を書き換えるとしている。
【００４３】
そして、ＣＰＵ８は、命令生成手段１６からの割込み要求を受け付けたときは、記憶手段１７が保持しているＩＮＴ命令を実行して割込み処理を行うことになるので、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置のうち、実際に割込み要求を行った周辺装置をソフトウエアで検出するという手順が不要となる。したがって、割込み処理の高速化を維持することができる。
【００４４】
なお、本発明の第１実施形態においては、記憶手段１７にＩＮＴ命令を保持させるようにした場合について説明したが、その他の命令、例えば、無条件分岐命令を保持させ、割込み要求に応じて分岐先を示す値を命令生成手段１６で生成し、この生成した値で無条件分岐命令のオペランド部の値を変更するようにしても良い。
【００４５】
（第２実施形態）
図５は本発明の第２実施形態の要部のブロック回路図である。本発明の第２実施形態は、本発明の第１実施形態と同様に、ＣＰＵ８と、メモリ９と、アドレスバス１０と、データバス１１と、割込み拡張手段１２を有し、ＣＰＵ８は割込み要求信号ＩＲ0〜ＩＲm-1を受け、割込み拡張手段１２は割込み要求信号ＩＲm〜ＩＲm+nを受けるとしているが、記憶手段１７には割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求に対応する割込み処理プログラムの命令列を一部の命令のオペランド部を変更可能に保持させるというものである。
【００４６】
ここで、例えば、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置として同じ機能を持つ複数の周辺装置を搭載した場合において、これら同じ機能を持つ複数の周辺装置からの割込み要求に対応する割込み処理においては、例えば、アクセスするレジスタアドレスの値が変更になるだけで、他の処理については共通のプログラムが使用可能である場合がある。本発明の第２実施形態は、このような場合に適用して好適な情報処理装置である。
【００４７】
本発明の第２実施形態では、記憶手段１７には、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求に対応する割込み処理プログラムを保持させるが、この割込み処理プログラムは、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求に対応する割込み処理に共通の共通命令列１９と、受け付けた割込み要求に応じて変更可能とされた変更対象命令２０とを有している。
【００４８】
図６は変更対象命令２０のワード構成例を示す図である。例えば、変更対象命令２０の命令コード部にはストア命令のコードが保持され、オペランド部には、直接アクセスするレジスタのアドレス（ｄｉｒ）が保持されるが、変更対象命令２０のオペランド部の値（アクセスするレジスタアドレスの値）は、命令生成手段１６が受け付けた割込み要求毎に生成し、この生成したオペランド部の値で記憶手段１７が保持する変更対象命令２０のオペランド部の値が書き換えられる。
【００４９】
なお、本発明の第２実施形態では、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けた場合にリードする割込みベクタが示すアドレスは、アドレスデコーダ１８がデコードした場合に記憶手段１７が保持する割込み処理プログラムの先頭アドレスとなるような値にしておく。
【００５０】
このように構成された本発明の第２実施形態においては、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置から割込み拡張手段１２に割込み要求があり、命令生成手段１６がこれを受け付けると、命令生成手段１６は、変更対象命令２０のオペランド部の値を生成し、この生成した値で記憶手段１７が保持する変更対象命令２０のオペランド部の値を書き換えると共に、ＣＰＵ８への割込み要求信号ＩＲEをアサートし、ＣＰＵ８に対して割込み要求を行う。
【００５１】
そして、ＣＰＵ８が命令生成手段１６からの割込み要求を受け付けると、ＣＰＵ８は、実行中の命令の切れ目でハードウエア割込み処理を開始し、メモリ９のベクタテーブルからの割込みベクタ（ハードウエア割込みベクタ）のリードや、現在のＣＰＵ８の状態を示すプロセッサステータス（ＰＳ）の値や割込み処理終了後に実行再開すべきアドレスを示すプログラムカウンタ（ＰＣ）の値のスタックへの退避などを行い、リードした割込みベクタが示すアドレスへの分岐を行う。
【００５２】
ここで、ＣＰＵ８が割込み拡張手段１２からの割込み要求を受け付けた場合にリードする割込みベクタ（ハードウエア割込みベクタ）が示すアドレスは、アドレスデコーダ１８がデコードした場合に記憶手段１７が保持する割込み処理プログラムの先頭アドレスとなる値にされているので、リードした割込みベクタ（ハードウエア割込みベクタ）が示すアドレスへの分岐は、記憶手段１７の割込み処理プログラムの先頭アドレスに対して行われることになる。そこで、ＣＰＵ８は、記憶手段１７から割込み処理プログラムを実行して割込み処理を行い、これが終了すると、メインプログラムに復帰する。
【００５３】
以上のように、本発明の第２実施形態においては、割込み要求信号ＩＲ0〜ＩＲm+nの出力元の周辺装置を、割込み要求信号ＩＲ0〜ＩＲm-1の出力元の周辺装置のグループと、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置のグループとに分け、ＣＰＵ８は割込み要求信号ＩＲ0〜ＩＲm-1を受け、割込み拡張手段１２は割込み要求信号ＩＲm〜ＩＲm+nを受けるとしている。
【００５４】
そして、命令生成手段１６は、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求を受け付けたときは、ＣＰＵ８に対して割込み要求を行うとしている。したがって、割込み要求入力数が少ないＣＰＵ８を用いても、割込み要因数の増加に対処することができる。
【００５５】
また、命令生成手段１６は、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求を受け付けたときは、受け付けた割込み要求に対応した割込み処理に必要な変更対象命令２０のオペランド部の値（アクセスするレジスタアドレスの値）を生成し、この生成したオペランド部の値で記憶手段１７が保持する変更対象命令２０のオペランド部の値が書き換えられる。
【００５６】
そして、ＣＰＵ８は、命令生成手段１６からの割込み要求を受け付けたときは、これに対応した割込み処理を開始することになるが、この場合、ＣＰＵ８は、記憶手段１７が保持する割込み処理プログラムを実行して割込み処理を行うことになり、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置の中の実際に割込み要求を行った周辺装置をソフトウエアで検出するという手順が不要となる。
【００５７】
また、割込み要求信号ＩＲm〜ＩＲm+nの出力元の周辺装置からの割込み要求に対応する割込み処理においては、割込み要求をした周辺装置に対応してアクセスするレジスタアドレスの値が変更になるだけで、他の処理については、共通のプログラムが使用可能である場合、従来においては、共通のプログラムをサブルーチン化し、レジスタアドレスをパラメータ化してそれぞれの割込み処理ルーチンを呼び出していたが、本発明の第２実施形態によれば、固定した割込み処理プログラムの実行を行うことができ、サブルーチンへの分岐処理が不要となる。したがって、割込み処理の更なる高速処理が可能となる。
【００５８】
更に、記憶手段１７を書き込み可能なレジスタやＲＡＭで構成するようにし、記憶手段１７に設定する共通命令列１９や変更対象命令２０の命令コード部の値をＣＰＵ８から自由に設定できるようにする場合には、ハードウエアの変更なく、様々な割込み要因に対応することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１実施形態の要部のブロック回路図である。
【図２】本発明の第１実施形態で使用するＩＮＴ命令のワード構成とオペレーションの内容を示す図である。
【図３】本発明の第１実施形態が備える命令生成手段が生成する割込みベクタ番号の例を示す図である。
【図４】本発明の第１実施形態において割込み拡張手段が割込み要求を受けた場合の動作例を示す流れ図である。
【図５】本発明の第２実施形態の要部のブロック回路図である。
【図６】本発明の第２実施形態が備える割込み拡張手段の記憶手段に保持させる変更対象命令のワード構成例を示す図である。
【図７】従来の情報処理装置の一例の要部のブロック回路図である。
【図８】図７に示す従来の情報処理装置において割込み要求信号入力端子を共用する周辺装置からの割込み要求が受け付けられた場合の割込み処理動作を示す流れ図である。
【符号の説明】
【００６０】
１…ＯＲ回路
２…ＣＰＵ
３0、３1、３m…割込み要求信号入力端子
４…割込み処理部
５…メモリ
６…アドレスバス
７…データバス
８…ＣＰＵ
９…メモリ
１０…アドレスバス
１１…データバス
１２…割込み拡張手段
１３0、１３m-1、１３m…割込み要求信号入力端子
１４…割込み処理部
１５0、１５1、１５n…割込み要求信号入力端子
１６…命令生成手段
１７…記憶手段
１８…アドレスデコーダ
１９…共通命令列
２０…変更対象命令
【図１】
2007041980.tif 000003
【図２】
2007041980.tif 000004
【図３】
2007041980.tif 000005
【図４】
2007041980.tif 000006
【図５】
2007041980.tif 000007
【図６】
2007041980.tif 000008
【図７】
2007041980.tif 000009
【図８】
2007041980.tif 000010