(57)【要約】【課題】  バスブリッジを介して接続される複数のバスを有するシステムにおいて、ＣＰＵの割込み処理に要する時間を短縮し、システムパフォーマンスをアップする事を目的とする。【解決手段】  本発明の割込み制御回路は、各機能モジュールの割込みレジスタアドレスを登録する手段を有し、割込み発生時に、ＣＰＵに代わって割込みソースの状態をフェッチする手段と、ＣＰＵが前記割込みレジスタのリード動作を発生させると、予めフェッチしておいた値をＣＰＵに返す手段で構成される。これにより、割込み処理時の応答速度を早め、ＣＰＵが常に最速の状態でデータの受け取りが出来る事を特徴とする。【選択図】  図２
2006236234.tif 000002
【特許請求の範囲】
【請求項１】
複数のシステムバスがバスブリッジを経由して接続され、ＣＰＵが各システムバスに接続されている機能モジュールの割込み処理を実行するシステムであって、
機能モジュール内の割込みレジスタ情報を保持するモジュールアドレス設定部と、
機能モジュールからの割込みを検知する割込み検知部と、
割込みが発生した機能モジュールの割込みレジスタにアクセスし、レジスタ情報をフェッチするレジスタリードシーケンサ部と、
ＣＰＵから割込みが発生した機能モジュールへ割込み処理が発生すると、前記フェッチ情報をＣＰＵに返信するデータ送信部と、
を備えた、割込み処理回路。
【請求項２】
モジュールアドレス設定部は、各システムバスに接続される機能モジュール内の割込みレジスタ情報を、割込み信号の単位毎に登録するレジスタを備える事を特徴とする請求項１の割込み処理回路。
【請求項３】
割込み検知部は、機能モジュールからの割込みに対して、優先順位を設定する手段を有し、割込み発生時は、優先順位の最上位の割込み情報を、通知する事を特徴とする請求項１の割込み処理回路。
【請求項４】
レジスタリードシーケンサ部は、割込み検知部から通知された割込み情報に従って、モジュールアドレス設定部より、対象レジスタアドレスを取得し、取得したレジスタに対してリート命令を発行して、レジスタのリード結果を、モジュールアドレス設定部にライトする事を特徴とする請求項１の割込み処理回路。
【請求項５】
データ送信部は、ＣＰＵから、モジュールアドレス設定部に保持されている、機能モジュール内の登録されている割込みレジスタに対してリードアクセスが発生した場合は、モジュールアドレス設定部に予めフェッチされているデータをＣＰＵに返す事を特徴とする請求項１の割込み処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータの割り込み処理の制御回路に関する。
【背景技術】
【０００２】
従来、マイクロプロセッサ用の割込み制御回路を構成する際には、通常は専用の割込みコントローラを用いて複数の割込み要求信号の優先度の調停を行う。すなわち、割込みコントローラに割込み要求信号を入力し、割込み要求のうち最も高い要求が選ばれて、その要求に対して以下のような手順で割込みの許可が行われる。
【０００３】
中央処理装置すなわちＣＰＵは、割込みコントローラから割込み要求が発生したことを知らされると、割込み認識サイクルと呼ばれる動作サイクルを実行して割込みの許可を伝え、同時に要求されたサービスに対応する割込みサービス・ルーチンの開始アドレスを決定するための割込みベクタ番号を取得しようとする。そこで割込みコントローラか、または入出力機器の制御部は、このサイクルに応答して割込みベクタを返す。
【０００４】
又、従来例としては、例えば特許文献１と特許文献２と特許文献３をあげることが出来る。
【特許文献１】特開平８−９５７９９号公報
【特許文献２】特開平１０−２７５１３６号公報
【特許文献３】特登録０３３６６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＣＰＵの割込み処理は、上記ＣＰＵ内部の割込み処理を行った後に、割込み要因が発生したモジュールに対して、割込み処理を実行する。割込み要因のモジュールは、ＣＰＵからのアクセスが比較的早くできる内部モジュールがある一方、ＣＰＵバスからバスブリッジを幾つか経由して接続されているモジュールでは、ＣＰＵのバスアクセスに要するレイテンシ−が大きくなるため、ＣＰＵからのアクセスには数倍、時には数十倍の時間が必要となる。
【０００６】
特に、このレイテンシーは、ＣＰＵからのライト時には、ライトデータがバスを経由して、対象モジュールにライトされ終了する為、ＣＰＵはその間別の処理が出来る為、システムパフォーマンスに影響は及ぼさないが、リード時は、対象モジュールからのリードデータを受け取るまで、ＣＰＵは別の処理が出来ない為、システムパフォーマンスが低下するという問題点がある。
【０００７】
（目的）
本発明は、上記問題点を解決する為のもので、割込み発生時に、ＣＰＵに代わって割込みソースの状態をフェッチし、ＣＰＵが常に最速の状態でデータの受け取りが出来るように準備しておく事で、割込み処理時の応答速度を早め、システムパフォーマンスの低下を防ぐ事を目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明の出力装置は以下に示す構成を備える。
【０００９】
即ち、機能モジュール毎に準備されている割込みレジスタのアドレスを保持する手段を備えることを特徴とする。
【００１０】
即ち、割込み通知を受けると、割込みソースに対応した割込みレジスタに対して、リードサイクルを発生する手段を備えることを特徴とする。
【００１１】
即ち、受け取ったリードデータをアドレスに対応させ保持する手段を備えることを特徴とする。
【００１２】
即ち、ＣＰＵからの割込み処理時に、対応アドレスへのアクセスが発生した場合は、予め保持しておいたレジスタ値を送信する手段を備えることを特徴とする。
【発明の効果】
【００１３】
以上述べたように本発明によれば、ＣＰＵの割込み処理が発生する前に、割り込み発生モジュールの割込みレジスタの内容を予め読み出すことで、ＣＰＵの割込み処理に要する時間を短縮出来る為、システムパフォーマンスの向上が図れるメリットがある。
【発明を実施するための最良の形態】
【００１４】
図１に一般的なシステム構成を示す。
【００１５】
ここでは、システムバス１とシステムバス２で構成されるシステム関して説明する。尚、この２つのシステムバスは、ＡＳＩＣなどの１チップで構成されるモジュール０に存在しても良いし、システムバス１に接続されるものがモジュール１、システムバス２に接続されるものがモジュール２と示すように、２つのチップで構成されても構わない。
【００１６】
システムバス１には、ＣＰＵ１１とＣＰＵの割込みを制御する割込みコントローラ１２、プログラムメモリ・ワークメモリが格納されるメモリ１６と画像処理やＩ／Ｏ処理を実行する機能モジュール１＿１３、機能モジュール２＿１４と、システムが１チップで構成されている場合は、システムバス１とシステムバス２を接続するバスブリッジ１９。
【００１７】
システム１とシステム２が別チップの場合、チップを接続するバスブリッジ１５、外部バス３０、システムバス２に接続されるバスブリッジ２４により構成される。
【００１８】
また、システムバス２には、画像処理やＩ／Ｏ処理を実行する機能モジュール１＿２１、機能モジュール２＿２２、機能モジュール３＿２３から構成されている。
【００１９】
図２に、上記システム構成における、割込み信号の接続図を示す。
【００２０】
割込みコントローラ１２は、各機能モジュールからの割込み信号を制御し、割込み信号をＣＰＵ１１へ伝える。
【００２１】
機能モジュール１，２からの割込み信号は、直接割込みコントローラに入力される。
【００２２】
また、システムバス２に接続されたモジュールの割込み信号は、図示していない、システムバス２に接続される外部用割込みコントローラ２５で割込み信号が一旦取りまとめられ、割込みコントローラに入力される。もしくは、システムバス１の場合と同様に、割込みコントローラ１２に直接入力される。
【００２３】
図３に割込みコントローラ１２の詳細を示す。
【００２４】
割込みコントローラ１２は、入力された割込み信号を、ＣＰＵの割込みレベル毎に振り分けるセレクト部１２１とセレクトされた割込みの状態を監視するセンス部１２２と、振り分けされた割り込みをマスクするマスク部１２３と、割込み信号をまとめてＣＰＵの割込みとして出力するＯＲ回路１２４から構成されている。
【００２５】
図６に割込みが発生した場合の、ＣＰＵの割込み処理方法を示すフローチャートである。
【００２６】
割り込みが発生すると５０１，ＣＰＵは、実行中のＪＯＢが終了した時点で５０２，割込み認識サイクルを発生し５０３，割り込みを許可する５０４，割込みベクタを取得し５０５，割込みコントローラ１２の制御を行い、割込みマスク、割込みセンスすることで、どのモジュールからの割込みが発生したかを決定する５０６，続いて、割込みが発生したモジュール内の割込みレジスタのセンスや割込み処理を実行する。５０７
図４に本発明の割込みセンス回路４０を示す。
【００２７】
割込みセンス回路４０は、バスブリッジ１５もしくは１９の内部もしくはそれに付随して存在し、システムバス２から発生した割り込みに対して、ＣＰＵ１２に代わって、割り込みが発生した機能モジュールの割込みレジスタの内容をフェッチするものである。次に、機能モジュール内の割込みレジスタ２３１を示す。この割込みレジスタは各モジュールに存在する。
【００２８】
図５に本発明の割込みセンス回路４０の回路構成を示す。
【００２９】
モジュールアドレス設定部４１は、割込みセンス回路内部に準備されたレジスタで、機能モジュールの割込みレジスタの中で、プリフェッチしたいレジスタのアドレスの状況を保持するレジスタである。モジュールアドレス設定部４１で準備されたレジスタアドレス４１１の中から順番に、各機能モジュールの割込み番号４１２、機能モジュールの割込みアドレス４１３、機能モジュールの割込みアドレスから読み込んだデータ４１４の保持、アドレスの読み込みが終了した事を意味するＳＥＴフラグ４１５から構成されている。
【００３０】
割込み検知部４２は、各機能モジュールからの割込み信号、割込み２１、割込み２２、割込み２３で発生した割込みを検知し、優先順位設定部４２１で設定された優先度に従って、割り込みの結果をレジスタリードシーケンサ４３に通知したり、割込みが解除された事をモジュールアドレス設定部に通知するブロックである。この、優先順位設定部は、割込みコントローラ１２同様の設定方法で、外部割込みの優先順位を決定する。
【００３１】
レジスタリードシーケンサ４３は、割込み検知回路が検知した割込みソースから、対象となるレジスタアドレスをモジュール設定部から読み出し、バスコントローラ用のシステムバス２に対してリードリクエストを発行する。実際のバスの管理は、バスブリッジが行う。または、レジスタリードシーケンサ４３がバスマスタとなり、システムバス２にアクセスを実行する構成も可能である。リードデータが返ってきたら、モジュールアドレス設定部の対象アドレスに対してリードしたデータを書き込み、書き込みが終了した事をＳＥＴフラグに書き込む。
【００３２】
データ送信部４４は、ＣＰＵがバスブリッジ２に接続されたモジュールに対して、割込み処理を実行しようとした場合、リクエストアドレスを監視し、モジュールアドレス設定部より、対象レジスタアドレス検索し、アドレスが一致し、ＳＥＴフラグがアクティブになっている場合は、バスブリッジに対して、システムバス２へのリクエストを止めさせるＨＩＴ信号をアクティブにし、予めモジュールアドレス設定部で保持しておいたレジスタのリード結果を、ＣＰＵに返す。
【００３３】
また、レジスタリードシーケンサがデータの取得中の場合は、リード動作が終了してから、結果をＣＰＵに返す。
【００３４】
本発明の割込み処理方法のフローチャートを図７に示す。
【００３５】
初期設定１として、ＣＰＵは割込み検知部４２の優先順位設定部４２１に対して、各割込みソースの優先順位を設定する。６０１
初期設定２として、ＣＰＵはモジュールアドレス設定部４１に準備されたレジスタに対して、各機能モジュールで処理する割り込みレジスタのアドレスを登録する。６０２
割込みが発生５０１すると、割込み検知回路４２は、優先順位設定部の情報に従って割込み優先度の一番高い割込みの情報をレジスタリードシーケンサ４３に通知する。６０３
レジスタリードシーケンサ４３は、割込み情報に対応したアドレス情報をモジュールアドレス設定部４１から読み込み、システムバス２に接続された対象モジュールに対して、リードサイクルを発行する。６０４
取得したレジスタ値は、モジュールアドレス設定部４１に格納される。６０５
ＣＰＵの内部処理が進み、ＣＰＵからのバスブリッジに対してリードリクエストが発生すると、データ送信部４４はフェッチしてあるレジスタ情報をＣＰＵに返信する。６０６
割込み処理が終了すると、割込み信号は、インアクティブになるので、その結果を見て、モジュールアドレス設定部４１のＳＥＴフラグはクリアされる。６０７
【図面の簡単な説明】
【００３６】
【図１】本システムの概要を示すブロック図。
【図２】本システムの割込み処理部のブロック図。
【図３】本システムの割込みコントローラのブロック図。
【図４】本発明のシステム概要を示すブロック図。
【図５】本発明の割込みセンス回路のブロック図。
【図６】本システムのＣＰＵの割込み処理方法を示すフローチャート。
【図７】本発明の割込みセンスブロックの動作を示すフローチャート。
【図１】
2006236234.tif 000003
【図２】
2006236234.tif 000004
【図３】
2006236234.tif 000005
【図４】
2006236234.tif 000006
【図５】
2006236234.tif 000007
【図６】
2006236234.tif 000008
【図７】
2006236234.tif 000009