(57)【要約】【課題】ソフトウェアのデバッグやテストを容易に行うことができるようにする。【解決手段】複数の割り込みソース信号が割り込み順序制御部１０５に入力され、割り込み順序制御部１０５で順序制御された後の割り込み信号がソフト制御用マスク部１０２に入力され、ソフト制御用マスク部１０２でマスクされた後の割り込み信号が、複数割込み統合ゲート１０１で統合されてＣＰＵ２００へ割り込み信号として伝えられる。割り込み順序制御部１０５は、ソフト制御用マスク部１０２の入力側に接続されており、入力された割り込みソース信号の発生順序に関わらず、指定された順序でのみ割り込み信号を出力する。【選択図】図１
2007328586.tif 000002
【特許請求の範囲】
【請求項１】
複数の割り込み信号を集約してＣＰＵに出力する割り込み制御装置であって、
前記ＣＰＵに割り込み信号を出力する際に、前記複数の割り込み信号の全てあるいはその一部について、前記ＣＰＵに出力する順序が予め設定された順序に従うように制御する割り込み順序制御手段を具備することを特徴とする割り込み制御装置。
【請求項２】
前記割り込み順序制御手段による制御に基づいて、各割り込み信号をマスク処理するマスク手段を更に具備し、
前記割り込み順序制御手段は、
前記各割り込み信号をマスク処理するための複数のマスクを格納するマスク格納手段と、
前記各マスクを用いた割り込み処理がクリアされたことを示すイベントを受けて、当該割り込み処理のクリアの通知を行う割り込みクリア通知手段と、
前記マスク格納手段に格納されている複数のマスクの中から１つのマスクを選択して前記マスク手段に出力すると共に、前記割り込みクリア通知手段から割り込み処理のクリアの通知を受ける毎に、前記複数のマスクの中から次のマスクを選択するマスク選択手段と
を含むことを特徴とする請求項１に記載の割り込み制御装置。
【請求項３】
複数の割り込み信号を集約してＣＰＵに出力する割り込み制御装置による割り込み制御方法であって、
前記複数の割り込み信号を入力する入力ステップと、
前記ＣＰＵに割り込み信号を出力する際に、前記入力ステップで入力された複数の割り込み信号の全てあるいはその一部について、前記ＣＰＵに出力する順序が予め設定された順序に従うように制御する割り込み順序制御ステップと
を有することを特徴とする割り込み制御方法。
【請求項４】
請求項３に記載の割り込み制御方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の割り込み信号を集約してＣＰＵ（中央処理装置）に出力する割り込み制御装置、割り込み制御方法、及び当該割り込み制御方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来より、ＣＰＵに割り込み信号を供給する割り込み機器において、機器の多機能化が進むことで割り込み信号の本数が増加し、また、複数の割り込み信号同士の依存関係が複雑化する傾向にある。
【０００３】
これに伴い、割り込みを処理するソフトウェアが複雑化し、どのような場合においても正しく動くソフトウェアの作成、あるいは、どのような場合においてもソフトウェアが正しく動くことのテストが難しくなってきている。
【０００４】
この状況に対応して、割り込みを処理するソフトウェアのデバッグやテストを容易化するための手法が検討されており、その一例として、下記の特許文献１及び特許文献２に挙げるものがある。
【０００５】
特許文献１では、割込同期化部（図１の符号１２）を設けることにより、割り込みを受け付けるタイミングを、ＣＰＵの命令アドレスと同期させている。これにより、ソフトウェアプログラム上において、割り込みの受け付けられる位置が限定されるため、ソフトウェアの振る舞いを単純化するようにしている。
【０００６】
また、特許文献２では、割り込みを許可するための設定フリップフロップを１組（第１図の符号１１，１２，１３，１４）もち、割り込みを受け付ける毎に、ソフトウェアが次に起こるべき割り込みを予測して、予測される割込みだけを許可するよう、前記フリップフロップを設定するようにしている。この特許文献２では、ハードウェアの障害等により予測外の割り込みが起きた場合に、予測外の割り込みの受け付けを防止し、予測外の割り込みにソフトウェアが応答することで障害解析が難しくなる状況を回避することを目的としている。
【０００７】
【特許文献１】特開平１０−１６１８８７号公報
【特許文献２】特開昭６２−２７９４３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に示す技術では、割り込みを受け付けるタイミングは制御できるものの、その順序は制御できないため、割り込み順序に依存したテストやデバッグを行うことができない。これにより、ソフトウェアのデバッグやテストを容易に行うことができないという問題があった。
【０００９】
また、特許文献２に示す技術では、割り込みを許可するための設定フリップフロップに対して、ソフトウェアが適切な設定を行うことにより、指定した順序でのみ割り込みが受け付けられるような制御が可能である。この際、ソフトウェアのテストあるいはデバッグを容易にするためには、元々のソフトウェア自体を修正無し、あるいは、わずかな修正で使えるようにする必要がある。しかしながら、特許文献２に示す技術では、ソフトウェアによる順序制御のため、元々のソフトウェア自体を修正無し、あるいは、わずかな修正で使えるようにすることができず、ソフトウェアのデバッグやテストを容易に行うことができないという問題があった。
【００１０】
本発明は上述の問題点にかんがみてなされたものであり、ソフトウェアのデバッグやテストを容易に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の割り込み制御装置は、複数の割り込み信号を集約してＣＰＵに出力する割り込み制御装置であって、前記ＣＰＵに割り込み信号を出力する際に、前記複数の割り込み信号の全てあるいはその一部について、前記ＣＰＵに出力する順序が予め設定された順序に従うように制御する割り込み順序制御手段を具備する。
【００１２】
本発明の割り込み制御方法は、複数の割り込み信号を集約してＣＰＵに出力する割り込み制御装置による割り込み制御方法であって、前記複数の割り込み信号を入力する入力ステップと、前記ＣＰＵに割り込み信号を出力する際に、前記入力ステップで入力された複数の割り込み信号の全てあるいはその一部について、前記ＣＰＵに出力する順序が予め設定された順序に従うように制御する割り込み順序制御ステップとを有する。
【００１３】
本発明のプログラムは、前記割り込み制御方法の各ステップをコンピュータに実行させるためのものである。
【発明の効果】
【００１４】
本発明によれば、予め設定した順序でのみ割り込み信号がＣＰＵに対して出力されるため、通常では起こしにくい割り込み順序でのソフトウェアのテストを実施したり、様々な割り込み順序のパターンでのテストを網羅的に実施したりすることができる。また、ソフトウェアのデバッグ時においても、特定の割り込み順序の場合だけに発生する障害を再現させることができ、効率的なデバッグを行うことができる。これにより、ソフトウェアのデバッグやテストを容易に行うことが可能となる。
【００１５】
また、ソフトウェアの設計時において設定された順序で必ず割り込み信号がＣＰＵに受け付けられるため、ソフトウェアの制御上、任意の割り込み順序に対応する必要が無くなり、ソフトウェアの単純化を図ることが可能となる。これにより、割込みが任意の順序で発生する場合と比較して、ソフトウェアの設計が容易になる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施形態について、図１、図２及び図３を用いて説明する。
【００１７】
図１は、本発明の実施形態に係る割り込み制御装置の概略構成図である。
図１に示すように、本実施形態に係る割り込み制御装置１００は、複数の割り込みソース信号を集約してＣＰＵ２００に出力するものであり、複数割込み統合ゲート１０１と、ソフト制御用マスク部１０２と、割り込み順序制御部１０５を具備して構成されている。
【００１８】
割り込み順序制御部１０５には、複数の割り込みソース信号が入力される。そして、割り込み順序制御部１０５で順序制御された後の割り込み信号がソフト制御用マスク部１０２に入力される。さらに、ソフト制御用マスク部１０２でマスクされた後の割り込み信号が複数割込み統合ゲート１０１で統合されて、ＣＰＵ２００へ割り込み信号として伝えられる。
【００１９】
図１には、割り込みソース信号が２本しか示されていないが、実際は複数本あれば何本あってもよい。以後の説明では、割り込みソース信号が４本（ここでは、各割り込みソース信号をＡ、Ｂ、Ｃ、Ｄとそれぞれ名前をつける）ある場合について説明する。
【００２０】
ソフト制御用マスク部１０２は、ソフトウェアから制御される通常の割り込みマスクである。このソフト制御用マスク部１０２では、ソフト制御用マスク設定部１０４に設定されたマスク値に従って、割り込みソース信号毎に用意されたソフト制御用マスクゲート１０３が制御されて、各割込み信号がマスクあるいは許可される。
【００２１】
割り込み順序制御部１０５は、ソフト制御用マスク部１０２の入力側に接続されており、当該割り込み順序制御部１０５への割り込みソース信号の入力発生順序に関わらず、指定された順序でのみ割り込み信号を出力する。
【００２２】
割り込み順序制御部１０５の内部には、複数のハード制御用マスク１０９、１１０、１１１及び１１２があり、各ハード制御用マスクで設定される設定値の出力がマスク選択部１０７に入力可能に接続されている。この各ハード制御用マスク１０９、１１０、１１１及び１１２は、割り込み順序制御部１０５内のマスク格納メモリ１１３に格納されている。
【００２３】
マスク選択部１０７は、複数のハード制御用マスクの中から１つのハード制御用マスクを選択し、選択したハード制御用マスクで設定されるマスク値（設定値）を、割り込みソース信号毎に設けられたハード制御用マスクゲート１０６に与える。そして、設定されたマスク値に従ってハード制御用マスクゲート１０６が制御されて、各割り込みソース信号がマスクあるいは許可される。この点については、ソフト制御用マスク部１０２の動作と同様である。
【００２４】
また、マスク選択部１０７には、割り込みクリア通知部１０８が接続されている。マスク選択部１０７は、割り込みクリア通知部１０８から割り込みクリア通知がされる度に、選択するハード制御用マスクを次のハード制御用マスクに切り替え、設定されるマスク値（設定値）切り替えていく。
【００２５】
図１に示す例では、割り込みクリア通知がされる度に、ハード制御用マスク１（１０９）→ハード制御用マスク２（１１０）→ハード制御用マスク３（１１１）→ハード制御用マスク４（１１２）→ハード制御用マスク１（１０９）→（以下同様）と切り替えが行われる。
【００２６】
割り込みクリア通知部１０８による割り込みクリア通知は、順序制御の対象となる複数の割り込みソース信号に対する割り込みクリアのトリガを検出することで行われる。ここで、割り込みクリアのトリガの検出手段としては、様々な方法が考えられる。その一例として、割り込みソース信号を保持するレジスタのクリア信号を使用する方法や、割込みをクリアするためのレジスタライトを検出する回路を使用する方法、ソフトウェアが割り込みクリア時にトリガ発生回路にアクセスする方法等により実現可能である。
【００２７】
図２は、ハード制御用マスクの一例を示す図である。
図２に示すように、４本の割り込みソース信号Ａ、Ｂ、Ｃ及びＤに対して、４つのハード制御用マスク１、２、３及び４を設定する。
【００２８】
図２は、割り込みソース信号の割込みの順序が、Ｂ→Ｄ→Ａ→Ｃの繰り返しとなるように制御する場合の設定値を示している。各ハード制御用マスクの設定値は、１つの割り込みソース信号のみが許可され、他の全ての割り込みソース信号が禁止（マスク）となるよう設定される。そして、１つだけ許可された割り込みソース信号の並ぶ順番が、指定される割り込みの順序となる。
【００２９】
図３は、本発明の実施形態に係る割り込み制御装置による割り込み制御方法の一例を示すタイミングチャートである。具体的に、図３は、図２に示すハード制御用マスクにより設定された場合の割り込み制御装置の動作を示すタイミングチャートである。
【００３０】
図３において、割り込みソース信号Ａ、Ｂ、Ｃ及びＤは、割り込み順序制御部１０５に入力される割り込みソース信号を示しており、ここでは、割り込みの順序付けはされていない。また、図３では、割り込みソース信号が、Ａ→Ｂ→Ｃ→Ｄ→Ｂ＆Ｄ同時の順序で割込みが発生した例を示している。
【００３１】
なお、図３では、正論理（信号レベル＝Ｈで割り込み発生）のレベル割り込みを仮定しているが、負論理による場合にも容易に拡張できる。また、エッジ割り込みであっても、レベル保持回路を設けることにより、上述したレベル割り込みの場合と同様に扱うことができる。
【００３２】
割り込みクリアトリガは、４つの割込みソース信号Ａ、Ｂ、Ｃ及びＤに関する割込みクリアトリガを示している。また、選択されたマスク値は、マスク選択部１０７によって選択されたマスク値（設定値）を示している。また、割り込み出力信号Ａ、Ｂ、Ｃ及びＤは、割り込み順序制御部１０５から順序付けられて出力される割込み信号を示している。
【００３３】
選択されたマスク値としては、図２の各ハード制御用マスクによる設定値が順に用いられている。最初のタイミングでは、割り込みソース信号Ｂ以外の割り込みソース信号がマスクされた状態であるため、最初に割り込みソース信号Ａが発生してもマスクされ、割り込みソース信号Ｂが発生した時点で、割り込み出力信号Ｂとして出力される。
【００３４】
続いて、割り込み出力信号ＢがＣＰＵ２００に受け付けられて、割り込みがクリアされると、割り込みクリアトリガが割り込みクリア通知部１０８を経由してマスク選択部１０７に伝えられる。そして、マスク選択部１０７において、２番目のハード制御用マスク２（１１０）が選択されて、割り込みソース信号Ｄ以外の割り込みソース信号がマスクされた状態となる。ここで、次に割り込みソース信号Ｃが発生するが、ハード制御用マスク２（１１０）によりマスクされているために割り込み出力信号Ｃとして出力されず、その次に割り込みソース信号Ｄが発生したところで、割り込み出力信号Ｄとして出力されることになる。
【００３５】
続いて、割り込み出力信号ＤがＣＰＵ２００に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部１０７に対してなされる。そして、マスク選択部１０７において、３番目のハード制御用マスク３（１１１）が選択されて、割り込みソース信号Ａ以外の割り込みソース信号がマスクされた状態となる。ここで、既に入力側では、発生していた割り込みソース信号Ａのマスクが解除されるため、割り込み出力信号Ａが出力される。
【００３６】
続いて、割り込み出力信号ＡがＣＰＵ２００に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部１０７に対してなされる。そして、マスク選択部１０７において、４番目のハード制御用マスク４（１１２）が選択されて、割り込みソース信号Ｃ以外の割り込みソース信号がマスクされた状態となる。ここで、既に入力側では、発生していた割り込みソース信号Ｃのマスクが解除されるため、割り込み出力信号Ｃが出力される。
【００３７】
続いて、割り込み出力信号ＣがＣＰＵ２００に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部１０７に対してなされる。そして、マスク選択部１０７において、再度、１番目のハード制御用マスク１（１０９）が選択されて、割り込みソース信号Ｂ以外の割り込みソース信号がマスクされた状態となる。次に、割り込みソース信号Ｂと割り込みソース信号Ｄとが同時に発生するが、割り込みソース信号Ｂだけが許可されているため、割り込み出力信号Ｂのみが出力される。
【００３８】
続いて、割り込み出力信号ＢがＣＰＵ２００に受け付けられて、割り込みがクリアされると、割り込みクリア通知がマスク選択部１０７に対してなされる。そして、マスク選択部１０７において、２番目のハード制御用マスク２（１１０）が選択されて、割り込みソース信号Ｄ以外の割り込みソース信号がマスクされた状態となる。ここで、先に発生していた割り込みソース信号Ｄのマスクが解除され、割り込み出力信号Ｄとして出力される。
【００３９】
以後、図３には示していないが、本実施形態の割り込み制御装置では、割り込みソース信号の発生順序に関わらず、割り込み出力信号は、必ず指定順序Ｂ→Ｄ→Ａ→Ｃで出力される。
【００４０】
なお、本実施形態においては、４つのハード制御用マスクを使用する例を示したが、ハード制御用マスクの個数は複数であればいくつであってもよく、また、存在するハード制御用マスクの全てを使用する必要もない。つまり、４つのハード制御用マスクが存在したとしても、そのうち、３つだけを使用するようにしてもよい。例えば、１番目のハード制御用マスクによる設定→２番目の設定ハード制御用マスクによる設定→３番目のハード制御用マスクによる設定→１番目のハード制御用マスクによる設定→・・・という使い方をする形態であってもよい。
【００４１】
また、本実施形態においては、入力される４本の割り込みソース信号の全てに対して順序制御を行う例を示したが、一部の割り込みソース信号の間だけで順序制御を行い、それ以外の割り込みソース信号については割り込み制御を行わない形態であってもよい。この場合には、前述した本実施形態に対して、以下の点を変更した形態を採る。
【００４２】
（１）順序制御の対象でない割り込みソース信号については、複数のハード制御用マスクにおいて当該割り込みソース信号を常に許可し、マスクをしない設定とする。
（２）順序制御の対象でない割り込みソース信号については、当該割り込みソース信号の割り込みクリアをマスク選択部１０７に通知しない。
【００４３】
前述した本実施形態に係る割り込み制御装置を構成する図１の各手段、並びに割り込み制御装置による割り込み制御方法を示した図３の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【００４４】
具体的に、前記プログラムは、例えばＣＤ−ＲＯＭのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク（ＬＡＮ、インターネットの等のＷＡＮ、無線通信ネットワーク等）システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
【００４５】
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係る割り込み制御装置の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等と共同して本実施形態に係る割り込み制御装置の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係る割り込み制御装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態に係る割り込み制御装置の概略構成図である。
【図２】ハード制御用マスクの一例を示す図である。
【図３】本発明の実施形態に係る割り込み制御装置による割り込み制御方法の一例を示すタイミングチャートである。
【符号の説明】
【００４７】
１００：割り込み制御装置
１０１：複数割込み統合ゲート（論理和回路）
１０２：ソフト制御用マスク部
１０３：ソフト制御用マスクゲート（論理積回路）
１０４：ソフト制御用マスク設定部
１０５：割り込み順序制御部
１０６：ハード制御用マスクゲート（論理積回路）
１０７：マスク選択部
１０８：割り込みクリア通知部
１０９：ハード制御用マスク１
１１０：ハード制御用マスク２
１１１：ハード制御用マスク３
１１２：ハード制御用マスク４
１１３：マスク格納メモリ
２００：ＣＰＵ
【図１】
2007328586.tif 000003
【図２】
2007328586.tif 000004
【図３】
2007328586.tif 000005