(57)【要約】【課題】優先して使用する機能ブロックの割込要因について、割込要因の木構造追跡処理によらずに特定を行い、割込処理に要する時間を短縮して高速化し、応答性を向上させる。【解決手段】データ処理機能の実行を司る複数の機能ブロックと、機能ブロックから出力される複数の割込信号を入力及び集約して割込要求信号ａを出力する割込制御ブロック１４０とを有するデータ処理装置１００に、各機能ブロックにその優先要否を設定する優先設定レジスタを設け、各機能ブロックが、優先設定レジスタが優先要に設定されているときに、その機能ブロックを特定するブロックコードを含む優先割込信号を割込信号とは別に出力して割込制御ブロック１４０に入力する。【選択図】　　　図１
2004118235.tif 000002
【特許請求の範囲】
【請求項１】
データ処理機能の実行を司る複数の機能ブロックと、該各機能ブロックから出力される複数の割込信号を入力及び集約して割込要求信号を出力する割込制御ブロックとを有するデータ処理装置であって、
前記各機能ブロックにその優先要否を設定する優先設定部を設け、
前記各機能ブロックが、前記優先設定部が優先要に設定されているときに、その機能ブロックを特定するブロックコードを含む優先割込信号を前記割込信号とは別に出力して前記割込制御ブロックに入力することを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置において、
前記各機能ブロックの優先度を記憶する手段と、
該手段に記憶された優先度に応じて、前記優先割込信号に含まれるブロックコードを記憶する手段とを、前記割込制御ブロックに設けたことを特徴とするデータ処理装置。
【請求項３】
請求項１記載のデータ処理装置において、
各機能ブロックについて、それぞれの優先度に応じた前記各機能ブロック固有の領域が割り当てられている記憶部を前記割込制御ブロックに設けたことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、割込処理にかかる時間を短くして応答性を向上したデータ処理装置に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ等の周辺機器を制御するのにデータ処理装置が用いられている。複数の機能を搭載した多機能データ処理装置では、接続されているプロセッサに対して割込要求信号を通知する場合には、搭載されている複数の機能の実行を司る各機能ブロックの割込要求信号を割込制御ブロックにて集約した上で、単一の割込要求信号を出力して行うことが多い。この多機能データ処理装置とプロセッサからなるシステムでは、割込要因を特定するため、割込制御ブロック内の要因レジスタに記憶されているデータを読出して機能ブロックを特定し、さらにその特定した機能ブロックの割込要因レジスタに記憶されているデータを読出して更にサブブロックを特定するという割込要因の木構造追跡処理を行い、この木構造追跡処理により最終的に割込要因を特定している。
従来、多機能デバイスの割込処理高速化について、デバイス側が割込要求を生成した機能ブロックの割込要因データをプロセッサ側に送信することで、ソフトウェアが要因判定するサイクルを高速化するという技術があった（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２００１−２０９５４８号公報（第１頁）
【０００４】
【発明が解決しようとする課題】
しかし、割込要因の木構造の深さ（割込要因の階層数）は機能ブロックによって異なり、深ければ（階層数が多ければ）それだけ割込要因の特定に要するアクセス時間が多くなってしまい、割込要因の特定の要する時間が長くなる。
【０００５】
この発明は、上記の問題点を解決するためになされたもので、複数の機能ブロックの中で、特に優先して使用する機能ブロックの割込要因について、割込要因の木構造追跡処理によらずに特定を行い、割込処理に要する時間を短縮して高速化し、応答性を向上させることを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、上記の目的を達成するため、データ処理機能の実行を司る複数の機能ブロックと、該各機能ブロックから出力される複数の割込信号を入力及び集約して割込要求信号を出力する割込制御ブロックとを有するデータ処理装置であって、上記各機能ブロックにその優先要否を設定する優先設定部を設け、上記各機能ブロックが、上記優先設定部が優先要に設定されているときに、その機能ブロックを特定するブロックコードを含む優先割込信号を上記割込信号とは別に出力して上記割込制御ブロックに入力するデータ処理装置を特徴とする。
このデータ処理装置は、各機能ブロックの優先度を記憶する手段と、その手段に記憶された優先度に応じて、その優先割込信号に含まれるブロックコードを記憶する手段とを、上記割込制御ブロックに設けるとよい。
また、各機能ブロックについて、それぞれの優先度に応じた上記各機能ブロック固有の領域が割り当てられている記憶部を上記割込制御ブロックに設けてもよい。
【０００７】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて詳細に説明する。
まず、図８及び図９を参照して、この発明によるデータ処理装置に関連するデータ処理装置２００について説明する。
データ処理装置２００は、優先要否の設定がされないデータ処理装置であり、複数の入出力インタフェースを持ち、入出力制御ブロックやダイレクトメモリアクセスコントロール（ＤＭＡＣ）ブロックといったいずれも優先度の設定がされない複数の機能ブロックを内蔵している。すなわち、データ処理装置２００は、図８に示すようにＵＳＢ（Ｕｎｉｂｅｒｓａｌ　ｓｅｒｉａｌ　ｂｕｓ）機能ブロック２１０と、複数の入出力機能ブロック（図８では、第１の入出力機能ブロック２２０と、第ｎの入出力機能ブロック２３０）と、割込制御ブロック２４０とを有し、プロセッサバス１５１を介しプロセッサ１５０に接続されている。
【０００８】
ＵＳＢ機能ブロック２１０は、図９に示すように、複数のサブブロックを内蔵していて、各サブブロックは個別の機能を有している。各サブブロックはＵＳＢ送信ＤＭＡＣブロック２１１と、ＵＳＢ受信ＤＭＡＣブロック２１２と、ＵＳＢ入出力制御ブロック２１３と、要因レジスタ２１０ａとを有し、ＵＳＢ入出力制御ブロック２１３は第１のエンドポイントブロック２１５と、第２のエンドポイントブロック２１６とを有している。そして、ＵＳＢ送信ＤＭＡＣブロック２１１、ＵＳＢ受信ＤＭＡＣブロック２１２、ＵＳＢ入出力制御ブロック２１３及び第１、第２のエンドポイントブロック２１５，２１６はそれぞれ要因レジスタ２１１ａ，２１２ａ，２１３ａ，２１５ａ，２１６ａを有している。ＵＳＢはエンドポイントと呼ばれる複数の機能区分を持つため、ＵＳＢ入出力制御ブロック２１３は第１、第２のエンドポイントブロック２１５、２１６を内蔵している。
第１、第ｎの入出力機能ブロック２２０、２３０と、割込制御ブロック２４０とは、それぞれ要因レジスタ２２０ａ，２３０ａ，２４０ａを有している。
【０００９】
データ処理装置２００は、各機能ブロックが内部状態に応じて割込信号を生成する。そして、各機能ブロック（例えば、ＵＳＢ機能ブロック２１０）の割込信号は、上位の機能ブロックに入力し、最終的には割込制御ブロック２４０に入力して集約され、ここから一本の割込要求信号ａがプロセッサ１５０に対して出力される。そして、データ処理装置２００は、内蔵される各機能ブロックに優先要否の設定がなされないため、出力されるどの割込信号も優先度を持たない。そのため、データ処理装置２００は、木構造の割込要因追跡処理を行って、割込要因の判定を行っている。これは、図１０に示すフローチャートのようにして行われる。
ここで、各機能ブロック、例えば、ＵＳＢ機能ブロック２１０の場合、出力される割込信号の接続経路は、図９のようになっている。なお、図９ではデータの経路及びデータの経路を制御するブロックや信号は省略している。以下の説明では、ＵＳＢ機能ブロック２１０の第１のエンドポイントブロック２１５で受信完了割込が発生した場合を想定している。なお、図１０ではステップをＳと略記している。
【００１０】
まず、データ処理装置２００は、受信完了割込が発生すると、割込要求信号ａを出力して受信完了割込の発生をプロセッサ１５０に通知する。すると、プロセッサ１５０において、所定の判定プログラム（割込ハンドラ）が作動し、ステップ２０に進んでプロセッサバス１５１を経由してデータ処理装置２００内の割込制御ブロック２４０にアクセスして、その要因レジスタ２４０ａに記憶されている情報を読み出す。すると、この情報の読出しにより、ＵＳＢ機能ブロック２１０の割込であることがわかる。
次に、ステップ２１に進み、引続きＵＳＢ機能ブロック２１０の要因レジスタ２１０ａにアクセスして、そこに記憶されている情報を読出す。すると、この情報の読出しにより、第１のエンドポイントブロック２１５から出力された割込であることがわかる（これはサブブロックの割込となる）。続く、ステップ２２では割込がサブブロックの割込であるか否かを判断し、サブブロックの割込であればステップ２３に進み、そうでなければステップ２４に進む。第１のエンドポイントブロック２１５の割込はサブブロックの割込であるから、ステップ２２からステップ２３に進み、判定プログラムは引続きサブブロックである第１のエンドポイントブロック２１５の要因レジスタ２１５ａにアクセスして、記憶されている情報を読み出す。この情報の読出しにより、受信完了割込であることがわかる。ステップ２３に続いてステップ２２を実行すると、さらなるサブブロック、すなわち、第１のエンドポイントブロック２１５に含まれる機能ブロックが存在しないので、ステップ２４に進み、割込要因が確定したとして、第１のエンドポイントブロック２１５の受信完了割込に対応した処理を実行して、割込要因の判定処理を終了させる。
【００１１】
次に、この発明によるデータ処理装置１００について説明する。データ処理装置１００は、上述したデータ処理装置２００と同様に、複数の入出力インタフェースを持ち、入出力制御ブロックやダイレクトメモリアクセスコントロール（ＤＭＡＣ）ブロックといった複数の機能ブロックを内蔵しているが、いずれの機能ブロックとも、優先要否を設定する優先設定部である優先設定レジスタを有している点で、データ処理装置２００と相違している。
すなわち、図１に示すように、データ処理装置１００は、ＵＳＢ機能ブロック１１０と、複数の入出力機能ブロック（図１では、第１の入出力機能ブロック１２０と、第ｎの入出力機能ブロック１３０）と、割込制御ブロック１４０とを有し、プロセッサバス１５１を介しプロセッサ１５０に接続されている。
【００１２】
ＵＳＢ機能ブロック１１０は、図２に示すように、ＵＳＢ送信ＤＭＡＣブロック１１１と、ＵＳＢ受信ＤＭＡＣブロック１１２と、ＵＳＢ入出力制御ブロック１１３と、要因レジスタ１１０ａ及び優先設定レジスタ１１０ｂを有していて、ＵＳＢ入出力制御ブロック１１３は，第１のエンドポイントブロック１１５と、第２のエンドポイントブロック１１６とを有している。そして、ＵＳＢ送信ＤＭＡＣブロック１１１、ＵＳＢ受信ＤＭＡＣブロック１１２及びＵＳＢ入出力制御ブロック１１３と、第１、第２のエンドポイントブロック１１５，１１６とは、それぞれ要因レジスタ１１１ａ，１１２ａ，１１３ａ，１１５ａ，１１６ａとともに、優先設定レジスタ１１１ｂ，１１２ｂ，１１３ｂ，１１５ｂ，１１６ｂを有している。
第１、第ｎの入出力機能ブロック１２０、１３０は、それぞれ要因レジスタ１２０ａ，１３０ａとともに、それぞれ優先設定レジスタ１２０ｂ，１３０ｂを有している。
また、割込制御ブロック１４０は、図３に示すように、要因レジスタ１４０ａとともに、ブロック番号デコーダ１４０ｃと、優先ブロック番号レジスタ１４０ｄとを有している。
【００１３】
データ処理装置１００は、上述のように、上位及びそのサブブロックを含む各機能ブロックが優先設定レジスタを有し、それぞれの優先設定レジスタに対してその各機能ブロックについて、優先するのかしないのか（優先要否）、すなわち、優先すべき割込信号（優先割込信号）を出力するのかしないのかを各割込要因と１対１に対応して設定することができる。また、各機能ブロックは、優先設定レジスタの設定に対応する割込要因（優先割込要因）による割込が発生すると、優先割込信号を出力しこれを上位の割込制御ブロック１４０に直接入力して通知する。データ処理装置１００は、データ処理装置２００と異なり、各機能ブロックが、割込信号のほかに優先割込信号を出力する。
そして、割込制御ブロック１４０は、データ処理装置２００と同様に、下位の各機能ブロックから割込信号を入力及び集約して割込要求信号ａを出力する一方、下位の機能ブロック（例えば、ＵＳＢ機能ブロック１１０）から優先割込信号を入力すると、ブロック番号デコーダ１４０ｃにより、それに含まれるブロックコードを信号の活性状態からデコードし（例えば第１のエンドポイントブロック１１５の優先割込信号が活性化していれば、第１のエンドポイントブロック１１５のブロックコードをデコードする）、得られたブロックコードを優先ブロック番号レジスタ１４０ｄに格納する。このブロックコードは各機能ブロックを特定するための情報、例えば各機能ブロック固有の番号からなっている。
【００１４】
以上のデータ処理装置１００は、各機能ブロックから出力される割込信号を割込制御ブロック１４０に入力及び集約して、割込要求信号ａをプロセッサ１５０に対して出力するが、データ処理装置２００と異なり、内蔵される各機能ブロックから優先割込信号を出力しているため、割込要因判定のフローは、図１１に示すフローチャートのようにして行われる。ここで、各機能ブロック、例えば、ＵＳＢ機能ブロック１１０の場合、出力される割込要求信号の接続経路は、図２のようになっている。なお、図２では、データの経路及びデータの経路を制御するブロックや信号は省略している。
以下の説明では、内蔵する機能ブロックのうち、ＵＳＢ機能ブロック１１０の優先設定レジスタ１１０ｂと、第１のエンドポイントブロック１１５の優先設定レジスタ１１５ｂに優先要の設定がされ、その優先要の設定がされた割込要因（優先割込要因）を受信完了割込としている。その場合の割込要因の判定は、図１１に示すフローチャートのようにして行われる。なお、図１１ではステップをＳと略記している。
【００１５】
まず、データ処理装置１００は、プロセッサ１５０のプログラムの指示を受けて、第１のエンドポイントブロック１１５の優先設定レジスタ１１５ｂにアクセスして、該当するエリアに“１”をセットしてビットを立て、受信完了割込を優先するための優先要の設定を行う。
そして、データ処理装置１００は、受信実行等の通常の制御を実行する（この操作により、第１のエンドポイントブロック１１５における受信完了割込が発生することを想定している）。
データ処理装置１００は、第１のエンドポイントブロック１１５において受信完了割込が発生しているが、この受信完了割込は優先割込要因であるから、第１のエンドポイントブロック１１５から、割込制御ブロック１４０に対して直接に優先割込信号ｂを入力して通知する。すると、割込制御ブロック１４０は、ブロック番号デコーダ１４０ｃが作動して、入力する優先割込信号ｂからそれに含まれるブロックコードを特定し、優先ブロック番号レジスタ１４０ｄに格納する。各機能ブロックとブロック番号デコーダ１４０ｃに設定されるブロックコードとの対応関係は、データ処理装置１００において予め明確になっており、その対応関係は、プロセッサ１５０のプログラムでも明らかであるとすると、ブロック番号レジスタ１４０ｄに格納されているブロックコードから、入力する優先割込信号ｂがどの機能ブロックから出力されているのかを認識することができる。優先割込信号ｂを出力した機能ブロックが判明した時点で、プロセッサ１５０に割込要求信号ａを出力して割込の発生を通知する。
【００１６】
次に、プロセッサ１５０において、所定の判定プログラム（割込ハンドラ）が作動し、ステップ１に進みプロセッサバス１５１を経由して、割込制御ブロック１４０の優先ブロック番号レジスタ１４０ｄにアクセスし、記憶されている情報（ブロックコード）を読出す。続くステップ２では、優先ブロック番号レジスタ１４０ｄに記憶されている情報が有効な機能ブロック（すなわち、データ処理装置１００に備えられている機能ブロック）の番号であるか否かを判断して、それが有効な機能ブロックの番号であればステップ３に進み、そうでなければステップ４に進み、上述した木構造の割込要因追跡処理を実行する。
ステップ３に進む場合は、ステップ１での情報の読出しによって、第１のエンドポイントブロック１１５を表す情報が得られている場合であるから、第１のエンドポイントブロック１１５からの割込であると判定されて、割込要因が確定する。この場合は、プロセッサ１５０において、発生した割込に対応する処理を実行すると、割込要因の判定処理を終了する。
【００１７】
もし、発生した割込が優先要の設定がされない機能ブロックの優先割込要因によらない場合は、割込制御ブロック１４０に対し、優先割込信号ｂが通知されない（活性化しない）ため、割込制御ブロック１４０の優先ブロック番号レジスタ１４０ｄには、何ら情報がセットされずに空状態となる。このとき、プロセッサ１５０のプログラムの指示により、この優先ブロック番号レジスタ１４０ｄにセットされている情報を読込むと、割込は、優先要の設定がされない機能ブロックによる優先割込要因でない割込であることがわかるため、上述した木構造の追跡処理にしたがう割込要因の判定処理を実行する。
なお、上述の説明では、優先要の設定がされた機能ブロックを１つに設定したが、優先要の設定を複数の機能ブロックに行い、かつ、それらが同時に割込信号を出力するケースもある。その場合は、優先割込信号ｂの先着順にするか、若しくはブロックコード順で優先ブロック番号レジスタ１４０ｄにブロックコードが格納されるようにすればよい。
【００１８】
このように、上述したデータ処理装置１００は、予め優先要の設定をした機能ブロックから優先割込要因にしたがう優先割込信号が出力したときに、割込制御ブロック１４０の優先ブロック番号レジスタ１４０ｄを対象として、そこにセットされている情報（ブロックコード）を読出すだけで、予め設定した割込要因の特定が可能であり、木構造の追跡処理を行うことを要しない。そのため、割込に対する処理を高速化することができる。
次に、別のデータ処理装置について説明する。このデータ処理装置はデータ処理装置１００と比較して、割込制御ブロック１４０が割込制御ブロック１４３となっている点で異なるほかは、同じ構成を有しているので、以下ではその割込制御ブロック１４３についての説明を中心に行い、共通する箇所については説明を省略乃至簡略化する。
その割込制御ブロック１４３は、図４に示すように、優先度設定レジスタ１４４と、優先度テーブル１４５と、テーブル制御レジスタ１４６とを有する点で異なり、そのほかの構成は同じである。
【００１９】
優先度設定レジスタ１４４は、優先要の設定がされた複数の機能ブロックから優先割込要因にしたがう複数の優先割込信号が出力され得ることに対応して、予め設定された機能ブロック間の優先度を記憶する手段である。優先度テーブル１４５は、複数のテーブルエントリ１４５ａ，１４５ｂ・・・を有し、優先度設定レジスタ１４４に記憶された優先度に応じて、各機能ブロックのブロックコードを記憶する手段である。テーブル制御レジスタ１４６は、優先度テーブル１４５のリセットに必要なデータを記憶している。例えば、図５に示すように、優先設定レジスタ１４４には、「受信完了」の項目にのみ“１”をセットし、他には“０”をセットして「受信完了」が優先するという設定をしている。
この優先度テーブル１４５には、次のようにしてブロックコードを記憶する。この手順について、図１２のフローチャートを参照しつつ説明する。
【００２０】
優先度テーブル１４５のデータ設定処理がスタートすると、初期化プログラムを作動させてテーブル制御レジスタ１４６に記憶されているデータを用いて優先度テーブル１４５を初期化し、リセットする。
ステップ５に進むと、各優先割込信号について、優先度設定レジスタ１４４に記憶された優先度に応じて、優先度の高い順にその機能ブロックのブロックコードを優先度テーブル１４５内の各テーブルエントリ１４５ａ，１４５ａ・・・に順次記憶させる。続く、ステップ６で優先要が設定されたすべての機能ブロックを設定（登録）したか否かを判断して、すべて設定されていれば処理を終了し、そうでなければステップ５に戻る。以上の処理により、各テーブルエントリ１４５ａ，１４５ａ・・・に機能ブロックのブロックコードが順次スタックされる。なお、テーブルエントリのエントリー番号はブロックコードの書込み毎に自動更新（加算）される。
優先要の設定がされた複数の機能ブロックが同時に優先割込信号を出力した場合、割込制御ブロック１４０は、優先度テーブル１４５を参照して、各テーブルエントリの中から、優先度が最も高い、すなわち、エントリー番号が最も小さいブロックコードを読出して、そのブロックコードを優先ブロック番号レジスタ１４０ｄに格納する。例えば、ＵＳＢ機能ブロック１１０の第１のエンドポイントブロック１１５に加えて、ＵＳＢ送信ＤＭＡＣブロック１１１からも受信完了割込にしたがう優先割込信号が出力するときに、ＵＳＢ送信ＤＭＡＣブロック１１１よりも、第１のエンドポイントブロック１１５を優先させたい場合は、上記手順に従い、第１のエンドポイントブロック１１５をＵＳＢ送信ＤＭＡＣブロック１１１のブロックコードよりも優先するようにして（第１のエンドポイントブロック１１５の優先度を高くして）優先度設定レジスタ１４４に優先度を書込む。
【００２１】
このデータ処理装置は、優先度テーブル１４５を設けたことで、２以上の機能ブロックが同時に優先割込要求を出力した場合でも、優先度設定レジスタ１４４に記憶されている優先度にしたがい、そのいずれかが優先される。したがって例えば、先にＵＳＢ送信ＤＭＡＣブロック１１１の完了割込にしたがう優先割込信号が発生しても、優先度の高い優先割込信号が後から発生すると、その後から発生した優先割込信号が優先される。
このデータ処理装置は、予め優先要に設定した機能ブロックから優先割込信号が出力した時にひとつのレジスタを読出すだけで割込要因の判定が可能であり、しかも、その機能ブロックが複数あり、そのそれぞれが優先割込信号を同時に出力しても、予め機能ブロック間の優先度を優先度設定レジスタ１４４に設定することにより、各機能ブロックについて、割込処理の優先順位を持たせることができる。そのため、割込に対する処理を高速化できるだけでなく、優先度処理を柔軟に行える。
【００２２】
次に、さらに別のデータ処理装置について説明する。このデータ処理装置はデータ処理装置１００と比較して、割込制御ブロック１４０が割込制御ブロック１４７となっている点で異なるほかは、同じ構成を有しているので、以下ではその割込制御ブロック１４７についての説明を中心に行い、共通する箇所については説明を省略乃至簡略化する。
その割込制御ブロック１４７は、図６に示すように、割込制御ブロック１４０と比較して、優先ブロック番号レジスタ１４０ｄが優先ブロックビットマップレジスタ（以下「ＢＭレジスタ」という）１４８になっている点で異なり、そのほかの構成は同じである。
このＢＭレジスタ１４８は、各機能ブロックについて、それぞれの優先度に応じた各機能ブロック固有の領域が割り当てられていて、各機能ブロックからの優先割込信号をビットマップ化し、その機能ブロックに対応する記憶領域にビットを設定する。また、ＢＭレジスタ１４８は、例えば図７に示すように、各機能ブロックに対して、予め決められたビット位置が割り当てられ、そのビット位置にビットを設定して記憶するようになっている。
【００２３】
上述のデータ処理装置と同様に、優先要に設定された複数の機能ブロックから優先割込信号が出力される場合、例えば、ＵＳＢ機能ブロック１１０の第１のエンドポイントブロック１１５と、ＵＳＢ送信ＤＭＡＣブロック１１１とから受信完了割込が発生したとすると、ＢＭレジスタ１４８を用いた割込要因の判定は図１３に示すフローチャートのようになる。
第１のエンドポイントブロック１１５と、ＵＳＢ送信ＤＭＡＣブロック１１１で受信完了割込が発生したとすると、その双方の優先割込信号が割込制御ブロック１４７に入力する。これを受けて、割込制御ブロック１４７は、入力した優先割込信号をビットマップに展開して、ＢＭレジスタ１４８の双方の機能ブロックに対応する領域にビットを設定する。次いで、プロセッサ１５０に割込要求信号ａを出力する。
【００２４】
そして、割込要因の判定処理開始後ステップ７に進み、プロセッサ１５０からのプログラム（割込ハンドラ）の指示により、割込制御ブロック１４３のＢＭレジスタ１４８にアクセスして設定されている情報を読出す。
そして、ステップ８に進み、読出した情報がすべて“０”であるか否かを判断する。すべて“０”であれば、発生した割込の中に優先割込要因が含まれていなかった場合であり、割込制御ブロック１４７のＢＭレジスタ１４８は何ら情報がセットされずに空状態である。この場合は、ステップ８から分岐してステップ４に進み、上述した割込要因の判定処理（木構造の追跡処理）を実行する。そうでない場合は、ステップ９に進み、発生した割込に対応する処理を実行して処理を終了する。
ステップ９に進む場合は、優先要に設定された機能ブロックがいずれであるかを判断して割込要因を確定する。ＢＭレジスタ１４８には、それまでの処理で第１のエンドポイントブロック１１５と、ＵＳＢ送信ＤＭＡＣブロック１１１に割り当てられた領域にビットが設定されているので、その双方が優先要に設定された機能ブロックであるとして、いずれか優先する方に分岐して処理を行うことになる（どちらの機能ブロックを優先するかはプロセッサ１５０のプログラムに委任されている。ここで、そのプログラムがＵＳＢ送信ＤＭＡＣブロック１１１の完了割込に対応する処理に分岐したとすると、ＵＳＢ送信ＤＭＡＣブロック１１１が優先されたことになる。）。
このように、このデータ処理装置は、予め優先要に設定した機能ブロックの優先割込要因が発生したときに、ひとつのレジスタを読出すだけでその割込要因の検出が可能であり、しかも、そのような機能ブロックが複数あり、同時に割込が発生した場合でも、機能ブロック間の優先順位を任意に定義して処理することができる。そのため、割込に対する処理を高速化でき、且つ柔軟な優先度処理ができる。
【００２５】
【発明の効果】
以上説明してきたように、この発明によれば、優先割込信号が出力したときに１つのレジスタにセットされた情報を読出せば割込要因の特定が可能であり、木構造の追跡処理を行うことを要しないから、割込に対する処理を高速化することができる。
【図面の簡単な説明】
【図１】この発明によるデータ処理装置と、プロセッサの内部構成を示すブロック図である。
【図２】図１に示すデータ処理装置のＵＳＢ機能ブロックの内部構成を示すブロック図である。
【図３】図１に示すデータ処理装置の割込制御ブロックの内部構成を示すブロック図である。
【図４】別のデータ処理装置の割込制御ブロックの内部構成を示すブロック図である。
【図５】図４に示す割込制御ブロック内部の優先設定レジスタと、要因レジスタとの内部構成の一例を示すブロック図である。
【図６】また別のデータ処理装置の割込制御ブロックの内部構成を示すブロック図である。
【図７】図６に示す割込制御ブロック内部の優先ブロックビットマップレジスタの構成を示すブロック図である。
【図８】この発明に関連するデータ処理装置と、プロセッサの内部構成を示すブロック図である。
【図９】図８に示すデータ処理装置のＵＳＢ機能ブロックの内部構成を示すブロック図である。
【図１０】図１に示すデータ処理装置による割込要因の判定処理の手順を示すフローチャート図である。
【図１１】別のデータ処理装置による割込要因の判定処理の手順を示すフローチャート図である。
【図１２】優先度テーブルにブロックコードを設定させる処理の手順を示すフローチャート図である。
【図１３】また別のデータ処理装置による割込要因の判定処理の手順を示すフローチャート図である。
【符号の説明】
１００：データ処理装置　　　　１５０：プロセッサ
１１０：ＵＳＢ機能ブロック
１１１：ＵＳＢ送信ＤＭＡＣブロック
１１２：ＵＳＢ受信ＤＭＡＣブロック
１１３：ＵＳＢ入出力制御ブロック
１１５：第１のエンドポイントブロック
１１６：第２のエンドポイントブロック
１１１ａ，１１２ａ：要因レジスタ
１１３ａ，１１５ａ：要因レジスタ
１１６ａ：要因レジスタ
１１１ｂ，１１２ｂ：優先設定レジスタ
１１３ｂ，１１５ｂ：優先設定レジスタ
１１６ｂ：優先設定レジスタ
１２０：第１の入出力機能ブロック
１３０：第ｎの入出力機能ブロック
１４０，１４３，１４７：割込制御ブロック
１４０ａ：要因レジスタ
１４０ｃ：ブロック番号デコーダ
１４０ｄ：優先ブロック番号レジスタ
【図１】
2004118235.tif 000003
【図２】
2004118235.tif 000004
【図３】
2004118235.tif 000005
【図４】
2004118235.tif 000006
【図５】
2004118235.tif 000007
【図６】
2004118235.tif 000008
【図７】
2004118235.tif 000009
【図８】
2004118235.tif 000010
【図９】
2004118235.tif 000011
【図１０】
2004118235.tif 000012
【図１１】
2004118235.tif 000013
【図１２】
2004118235.tif 000014
【図１３】
2004118235.tif 000015