(57)【特許請求の範囲】
【請求項１】
ＣＰＵとＡＳＩＣとが信号線で接続され、ＣＰＵがＡＳＩＣ内部の機能モジュールの割込み処理を行う割込み処理システムであって、
前記機能モジュール内の割込みレジスタアドレス及び前記機能モジュール内の割込みレジスタ情報を格納するＡＳＩＣ側メモリ部と、
前記機能モジュール内の割込みレジスタ情報を格納するＣＰＵ側メモリ部と、
前記機能モジュール内の割込みを検知する検知部と、
定期的にトリガ信号を出力するタイマ部と、
前記機能モジュール内の割込み発生時又は前記トリガ信号発生時に、前記機能モジュール内の割込みレジスタにアクセスし、割込みレジスタ情報を取得する割込み回路部と、
前記割込み回路部が取得した割込みレジスタ情報と前記ＡＳＩＣ側メモリ部に格納された割込みレジスタ情報とを比較し、その差分を前記ＡＳＩＣ側メモリ部及び前記ＣＰＵ側メモリ部の割込みレジスタ情報と置き換えるメモリコントローラ部とを備え、
前記ＣＰＵは割込み発生時には前記ＣＰＵ側メモリ部に格納された前記割込みレジスタ情報に基づき割込み処理を実行するものであって、
前記機能モジュール内の割込みレジスタ情報を格納する前記ＡＳＩＣ側メモリ部及び前記ＣＰＵ側メモリ部のそれぞれの格納領域は、類似した系統の機能モジュール毎にまとめられており、
前記ＡＳＩＣ側メモリ部及び前記ＣＰＵ側メモリ部の割込みレジスタ情報の置き換えは、所定の転送単位で行われ、
前記機能モジュールは、第１の系統モジュールと、第２の系統モジュールとをもち、
前記第１の系統モジュールに分類され用いられる複数の第１モジュールデータと、前記第２の系統モジュールに分類され用いられる複数の第２のモジュールデータとをもち、
前記ＡＳＩＣ側メモリ部は、前記第１の系統モジュールに分類される前記複数の第１モジュールデータに続けて前記第２の系統モジュールに分類される前記複数の第２モジュールデータを配置し、
前記メモリコントローラ部は、前記複数の第１モジュールデータ又は前記複数の第２モジュールデータを前記所定の転送単位で比較して置き換える様構成され、転送テーブル１単位に変更されたモジュールデータと変更されていないモジュールデータとが含まれる場合、変更されたモジュールデータとともに変更されていないモジュールデータを転送し、変更されたモジュールデータを書き換え、転送テーブル１単位が全て変更されていない場合、未転送とすること
を特徴とする割込み処理システム。
【請求項２】
前記第１の系統モジュール又は前記第２の系統モジュールは、メカ制御系モジュール、画像処理系モジュール、又はＩＦ制御系モジュールの何れかであること
を特徴とする請求項１に記載の割込み処理システム。
【請求項３】
前記信号線は、ＰＣＩ  Ｅｘｐｒｅｓｓであること
を特徴とする請求項１又は請求項２に記載の割込み処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部ＣＰＵ（Central Processing Unit）と接続されるＡＳＩＣ（Application Specific Integrated Circuit）内部に実装された割込み処理回路を用いた割込み処理システムに関するものである。
【背景技術】
【０００２】
従来、ＣＰＵとＡＳＩＣとがＰＣＩ（Peripheral Component Interconnect）  ｅｘｐｒｅｓｓ等のバスインターフェイスを介して接続された処理回路において、ＣＰＵからＡＳＣＩ内部のレジスタへ直接読み出し動作を行うと、レイテンシが大きく、割込み処理のようなリアルタイムでの応答が必要な処理で問題となることがあった。
【０００３】
この対策として、例えば、特許文献１では、別途設けた割込み処理回路がＣＰＵの代わりに割込みソースの状態を先行してフェッチし、ＣＰＵは割込み処理回路がフェッチした値を読み取ることで常に最速の状態でデータの受け取りを行うことが可能な方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３６２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術に係る割込み処理回路では、割込み処理発生時に当該割込み処理に必要な割込みソースの状態を全てＣＰＵ側に転送する必要があり、割込み処理におけるリアルタイムでの応答性の向上といった観点からは満足のいくものではなかった。
【０００６】
本発明はこのような実状に鑑みてなされたものであり、本発明の課題は、割込み処理発生時にＡＳＩＣ側からＣＰＵ側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上を図ることが可能な割込み処理システムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る割込み処理システムは、ＣＰＵとＡＳＩＣとが信号線で接続され、ＣＰＵがＡＳＩＣ内部の機能モジュールの割込み処理を行う割込み処理システムであって、前記機能モジュール内の割込みレジスタアドレス及び前記機能モジュール内の割込みレジスタ情報を格納するＡＳＩＣ側メモリ部と、前記機能モジュール内の割込みレジスタ情報を格納するＣＰＵ側メモリ部と、前記機能モジュール内の割込みを検知する検知部と、定期的にトリガ信号を出力するタイマ部と、前記機能モジュール内の割込み発生時又は前記トリガ信号発生時に、前記機能モジュール内の割込みレジスタにアクセスし、割込みレジスタ情報を取得する割込み回路部と、前記割込み回路部が取得した割込みレジスタ情報と前記ＡＳＩＣ側メモリ部に格納された割込みレジスタ情報とを比較し、その差分を前記ＡＳＩＣ側メモリ部及び前記ＣＰＵ側メモリ部の割込みレジスタ情報と置き換えるメモリコントローラ部とを備え、前記ＣＰＵは割込み発生時には前記ＣＰＵ側メモリ部に格納された前記割込みレジスタ情報に基づき割込み処理を実行するものであって、前記機能モジュール内の割込みレジスタ情報を格納する前記ＡＳＩＣ側メモリ部及び前記ＣＰＵ側メモリ部のそれぞれの格納領域は、類似した系統の機能モジュール毎にまとめられており、前記ＡＳＩＣ側メモリ部及び前記ＣＰＵ側メモリ部の割込みレジスタ情報の置き換えは、所定の転送単位で行われ、前記機能モジュールは、第１の系統モジュールと、第２の系統モジュールとをもち、前記第１の系統モジュールに分類され用いられる複数の第１モジュールデータと、前記第２の系統モジュールに分類され用いられる複数の第２のモジュールデータとをもち、前記ＡＳＩＣ側メモリ部は、前記第１の系統モジュールに分類される前記複数の第１モジュールデータに続けて前記第２の系統モジュールに分類される前記複数の第２モジュールデータを配置し、前記メモリコントローラ部は、前記複数の第１モジュールデータ又は前記複数の第２モジュールデータを前記所定の転送単位で比較して置き換える様構成され、転送テーブル１単位に変更されたモジュールデータと変更されていないモジュールデータとが含まれる場合、変更されたモジュールデータとともに変更されていないモジュールデータを転送し、変更されたモジュールデータを書き換え、転送テーブル１単位が全て変更されていない場合、未転送とすることを特徴としている。
【発明の効果】
【０００８】
本発明によれば、割込み処理発生時にＡＳＩＣ側からＣＰＵ側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上を図ることが可能な割込み処理システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る割込み処理回路を含む割込み処理システムの構成図である。
【図２−１】割込み処理回路の処理動作を説明するフローチャートである。
【図２−２】タイマからトリガ信号を受信した際の割込み処理回路の処理動作を説明するフローチャートである。
【図２−３】ＡＳＩＣ内部の機能モジュールによる割込みを検知した際の割込み処理回路の処理動作を説明するフローチャートである。
【図３】従来技術と第１の実施形態に係るＡＳＩＣ内部の機能モジュールによる割込み発生から割込み処理完了までに要する時間を比較した図である。
【図４】第２の実施形態に係る割込み処理回路を含む割込み処理システムの構成図である。
【図５】割込みレジスタ情報及びアドレステーブルを説明する模式図である。
【図６−１】割込み処理回路の処理動作を説明するフローチャートである。
【図６−２】タイマからトリガ信号を受信した際の割込み処理回路の処理動作を説明するフローチャートである。
【図６−３】ＡＳＩＣ内部の機能モジュールによる割込みを検知した際の割込み処理回路の処理動作を説明するフローチャートである。
【図７】機能モジュール内の割込みレジスタ情報を格納するＡＳＩＣ側メモリ及びＣＰＵ側メモリの領域を類似した系統の機能モジュール毎にまとめた場合（ａ）と、まとめなかった場合（ｂ）とで、ＡＳＩＣ側からＣＰＵ側に転送する必要がある機能モジュールの転送回数の違いを説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１１】
［第１の実施形態］
図１は、第１の実施形態に係る割込み処理回路を含む割込み処理システム１００の構成図である。なお、図１には、説明の便宜上、本実施形態に関する構成のみを記載している。
【００１２】
図１に示すように、ＣＰＵ１１００はＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介してＡＳＩＣ１２００と接続されている。
【００１３】
ＣＰＵ１１００は、ＣＰＵコア１１０１と、ＲＯＭ（Read Only Memory）コントローラ１１０２と、ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ１１０３と、割込みコントローラ１１０４と、メモリコントローラ１１０５と、内部バス１１０６とを備える。
【００１４】
ＣＰＵコア１１０１は、ＣＰＵ１１００に接続された不揮発性記憶装置であるＲＯＭ１１０７に格納された制御プログラムに基づき、システム全体の制御を行う実行部である。また、ＣＰＵコア１１０１は、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介してＡＳＩＣ１２００内部の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの制御を行う。
【００１５】
ＲＯＭコントローラ１１０２は、ＲＯＭ１１０７との接続を可能とするインタフェースを備え、ＲＯＭ１１０７に格納された制御プログラムをはじめとする各種データの読み取り制御を行う。
【００１６】
ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ１１０３は、ＡＳＩＣ１２００と接続するＰＣＩ  Ｅｘｐｒｅｓｓ１３００のアクセス制御を行う。
【００１７】
割込みコントローラ１１０４は、ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ１１０３がＡＳＩＣ１２００から受信した後述する割込み情報に基づき、ＣＰＵコア１１０１に対して割込み情報を通知する。
【００１８】
メモリコントローラ１１０５は、ＲＡＭ（Random Access Memory）１１０８との接続を可能とするインタフェースを備え、ＲＡＭ１１０８へのアクセス制御を行う。
【００１９】
内部バス１１０６は、ＣＰＵコア１１０１が出力する命令や、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して送受信するデータやＲＡＭ１１０８に保持された割込みレジスタ情報１１０９等を送受信するための通信路である。
【００２０】
ＲＡＭ１１０８は、ＡＳＩＣ１２００内部の各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報１１０９を保持する。
【００２１】
ＡＳＩＣ１２００は、ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ１２０１と、割込み処理回路１２０２と、タイマ１２０３と、メモリコントローラ１２０４と、機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎと、内部バス１２０６とを備える。
【００２２】
ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ１２０１は、ＣＰＵ１１００と接続するＰＣＩ  Ｅｘｐｒｅｓｓ１３００のアクセス制御を行う。
【００２３】
割込み処理回路１２０２は、タイマ１２０３からのトリガ信号又は各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎからの割込みを受信する検知部として機能するとともに、ＣＰＵ１１００に先行して各機能モジュールの割込みレジスタ情報を取得する（フェッチする）レジスタリードシーケンサーとして構成される。その他、割込み処理回路１２０２の詳細な機能については後程説明する。
【００２４】
タイマ１２０３は定期的にトリガ信号を割込み処理回路１２０２に対して出力する。
【００２５】
メモリコントローラ１２０４は、ＲＡＭ１２０７との接続を可能とするインタフェースを備え、ＲＡＭ１２０７へのアクセス制御を行う。
【００２６】
機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎは、例えば、画像処理、Ｉ／Ｏ（Input/Output）処理、Ｉ／Ｆ（Interface）処理、モータ制御等を実行する論理回路である。
【００２７】
内部バス１２０６は、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して送受信するデータやＲＡＭ１２０７に保持された割込みレジスタ情報１２０９等を送受信するための通信路である。
【００２８】
ＲＡＭ１２０７は、前述したＣＰＵ１１００に接続されたＲＡＭ１１０８と同様に、ＡＳＩＣ１２００内部の各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報１２０９を保持するとともに、各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタのアドレステーブル１２０８を保持する。ＡＳＩＣ１２００に接続されたＲＡＭ１２０７とＣＰＵ１１００に接続されたＲＡＭ１１０８とが保持する各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報は、割込み処理回路１２０２の指示によって更新され、同じ値が保持される。
【００２９】
次に、本実施形態に係る割込み処理回路の動作について説明する。図２−１は、割込み処理回路１２０２の処理動作を説明するフローチャートである。
【００３０】
まず、図２−１で説明する処理動作の事前処理として、装置起動時にＣＰＵコア１１０１は、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介してＡＳＩＣ側のＲＡＭ１２０７に、ＡＳＩＣ１２００内部の各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタのアドレステーブル１２０８を格納させる。アドレステーブル１２０８の格納が完了後、ＣＰＵコア１１０１は、割込み処理回路１２０２に対して、割込みレジスタ情報を格納するＣＰＵ側のＲＡＭ１１０８及びＡＳＩＣ側のＲＡＭ１２０７におけるアドレスを通知するとともに、起動を要求する。
【００３１】
ステップＳ００１において、起動した割込み処理回路１２０２は、アドレステーブル１２０８をＡＳＩＣ側のＲＡＭ１２０７から読み出し、読み出したアドレステーブル１２０８に対応する機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタを読み出すことで現在のレジスタ情報を取得する（ステップＳ００２）。
【００３２】
次に、割込み処理回路１２０２は、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して、ＣＰＵ側のメモリコントローラ１１０５に、レジスタ情報を格納させるＲＡＭアドレスと現在の機能モジュールの割込みレジスタ情報（割込み情報）を通知する。ＣＰＵ側のメモリコントローラ１１０５は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をＲＡＭ１１０８に格納させる。また、同時に、割込み処理回路１２０２は、ＡＳＩＣ側のメモリコントローラ１２０４にレジスタ情報を格納させるＲＡＭアドレスと現在の機能モジュールの割込みレジスタ情報を通知する。ＡＳＩＣ側のメモリコントローラ１２０４は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をＲＡＭ１２０７に格納させる（ステップＳ００３）。
【００３３】
そして、現在のアドレステーブルが最後のアドレステーブルでない場合（ステップＳ００４  ＮＯ）、割込み処理回路１２０２は、読み出し位置を次の機能モジュールのアドレステーブルに移動し（ステップＳ００５）、ステップＳ００１からの処理を繰り返す。
【００３４】
一方、現在のアドレステーブルが最後のアドレステーブルである場合（ステップＳ００４  ＹＥＳ）、割込み処理回路１２０２はタイマ１２０３からのトリガ信号又はＡＳＩＣ内部の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎによる割込み待ち状態となる（ステップＳ００６）。
【００３５】
割込み処理回路１２０２は、定期的に発生するタイマ１２０３からのトリガ信号を受信すると（ステップＳ００７  ＮＯ）、図２−２のフローチャートで説明する処理を実行する（ステップＳ００９）。そして、当該処理が完了すると、割込み処理回路１２０２は、再度割込み待ち状態となり、ステップＳ００６からの処理を繰り返す。
【００３６】
ところで、割込み処理回路１２０２は、ＡＳＩＣ内部の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎによる割込みを検知すると（ステップＳ００７  ＹＥＳ）、図２−３のフローチャートで説明する処理を実行する（ステップＳ００８）。そして、当該処理が完了すると、割込み処理回路１２０２は、再度割込み待ち状態となり、ステップＳ００６からの処理を繰り返す。
【００３７】
次に、タイマ１２０３からトリガ信号を受信した際の割込み処理回路１２０２の処理動作（図２−１  ステップＳ００９）について図２−２のフローチャートを用いて説明する。
【００３８】
タイマ１２０３からトリガ信号を受信すると、割込み処理回路１２０２は、図２−１のステップＳ００１の動作と同様に、アドレステーブル１２０８をＡＳＩＣ側のＲＡＭ１２０７から読み出す（ステップＳ０１１）。
【００３９】
ステップＳ０１２において、割込み処理回路１２０２は、読み出したアドレステーブルの情報に対応する機能モジュールの前回の割込みレジスタ情報ＲＤ（old）をＡＳＩＣ側のＲＡＭ１２０７から読み出す。
【００４０】
これと同時に、割込み処理回路１２０２は、ステップＳ０１１で読み出したアドレステーブルの情報に対応する機能モジュールの割込みレジスタ情報を読み出すことで、現在の割込みレジスタ情報ＲＤ（new）を取得する（ステップＳ０１３）。
【００４１】
そして、割込み処理回路１２０２は、ステップＳ０１２で読み出した前回の割込みレジスタ情報ＲＤ（old）とステップＳ０１３で読み出した現在の割込みレジスタ情報ＲＤ（new）とを比較する。ここで、両者に差分が有る場合（ステップＳ０１４  ＹＥＳ）、割込み処理回路１２０２は、ＣＰＵ側のＲＡＭ１１０８に格納されている割込みレジスタ情報１１０９及びＡＳＩＣ側のＲＡＭ１２０７に格納されている割込みレジスタ情報１２０９を現在の割込みレジスタ情報に置き換えるため、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して、ＣＰＵ側のメモリコントローラ１１０５に、レジスタ情報を格納するＲＡＭアドレスと現在の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を通知する。ＣＰＵ側のメモリコントローラ１１０５は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をＲＡＭ１１０８に格納させる。また、同時に、割込み処理回路１２０２は、ＡＳＩＣ側のメモリコントローラ１２０４に、レジスタ情報を格納するＲＡＭアドレスと現在の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を通知する。ＡＳＩＣ側のメモリコントローラ１２０４は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をＲＡＭ１２０７に格納させる（ステップＳ０１５）。
【００４２】
一方、前回の割込みレジスタ情報ＲＤ（old）と現在の割込みレジスタ情報ＲＤ（new）とで差分が無い場合（ステップＳ０１４  ＮＯ）、ステップＳ０１５で説明した割込みレジスタ情報の置き換え処理は省略される。
【００４３】
そして、現在のアドレステーブルが最後のアドレステーブルでない場合（ステップＳ０１６  ＮＯ）、割込み処理回路１２０２は、読み出し位置を次の機能モジュールのアドレステーブルに移動し（ステップＳ０１７）、ステップＳ０１１からの処理を繰り返す。
【００４４】
一方、現在のアドレステーブルが最後のアドレステーブルである場合（ステップＳ０１６  ＹＥＳ）、割込み処理回路１２０２はタイマ１２０３からトリガ信号を受信した際の処理を終了する。
【００４５】
次に、ＡＳＩＣ内部の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎによる割込みを検知した際の割込み処理回路１２０２の処理動作（図２−１  ステップＳ００８）について図２−３のフローチャートを用いて説明する。
【００４６】
なお、図２−３のステップＳ０２１〜ステップＳ０２７（ステップＳ０２６  ＹＥＳ以降の処理は除く）までの処理は、図２−２のステップＳ０１１〜ステップＳ０１７までの処理と同様であるため、ここでの説明は省略する。
【００４７】
ステップＳ０２６において、現在のアドレステーブルが最後のアドレステーブルである場合（ステップＳ０２６  ＹＥＳ）、全てのアドレステーブルを読み終え、機能モジュールの割込みレジスタの処理が終了した後、割込み処理回路１２０２は、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介してＣＰＵ内部の割込みコントローラ１１０４に割込みの発生を通知する（ステップＳ０２８）。
【００４８】
ＣＰＵ内部の割込みコントローラ１１０４は、ＣＰＵコア１１０１に対して割込み情報を通知する。ＣＰＵコア１１０１は、割込み情報の通知を受けると、ＣＰＵ側のＲＡＭ１１０８にあるＡＳＩＣ内部の各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を読み出し、割込み処理を実行する。
【００４９】
図３は、従来技術と本実施形態に係るＡＳＩＣ内部の機能モジュールによる割込み発生から割込み処理完了までに要する時間を比較した図である。
【００５０】
図３（ｂ）に示すように、割込み発生時に既に転送された割込みソース状態と現在の割込みソース状態とが完全に不一致である場合（差分ヒット率０％）、割込みソース状態を読み出し、ＣＰＵ側に転送する（データフェッチ処理）時間は図３（ａ）で示す従来技術と同じであるが、割込み発生時に既に転送された割込みソース状態と現在の割込みソース状態とが５０％一致した場合（差分ヒット率５０％）、割込みソース状態を読み出し、ＣＰＵ側に転送する（データフェッチ処理）時間は図３（ｃ）に示すように従来技術と比較して大幅に減少させることができる。
【００５１】
以上のように、第１の実施形態によれば、割込み処理回路が定期的にＣＰＵ側に割込みソースの状態を転送し、割込み発生時には既に転送された割込みソース状態との差分のみをＣＰＵ側に転送するため、割込み発生時におけるＡＳＩＣ側からＣＰＵ側へのデータ転送量を減少させることが可能となる。その結果、割込み処理におけるリアルタイムでの応答性を向上させることができる。
【００５２】
［第２の実施形態］
図４は、第２の実施形態に係る割り込み処理回路を含む割込み処理システム２００の構成図である。なお、第１の実施形態に係る構成と同構成のものについては同一の符号を付してその説明を省略し、異なる構成について説明する。
【００５３】
ＣＰＵ１１００に接続されたＲＡＭ２１０８は、ＡＳＩＣ内部の各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報２１０９を保持する。
【００５４】
ここで、割込みレジスタ情報２１０９は、図５（ａ）に示されるように、画像処理系レジスタ情報２１０９−１、メカ制御系レジスタ情報２１０９−２、ＩＦ制御系レジスタ情報２１０９−３といったように、類似した系統の機能モジュール毎にまとめられている。
【００５５】
ＡＳＩＣ１２００に接続されたＲＡＭ２２０７は、ＣＰＵ１１００に接続されたＲＡＭ２１０８と同様にＡＳＩＣ内部の各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報２２０９を、画像処理系レジスタ情報２２０９−１、メカ制御系レジスタ情報２２０９−２、ＩＦ制御系レジスタ情報２２０９−３といったように、類似した系統の機能モジュール毎にまとめて保持するとともに、各機能モジュールの割込みレジスタのアドレステーブル２２０８を保持する。
【００５６】
なお、割込みレジスタのアドレステーブル２２０８についても、図５（ｂ）に示されるように、画像処理系テーブル２２０８−１、メカ制御系アドレステーブル２２０８−２、ＩＦ制御系テーブル２２０８−３といったように、類似した系統の機能モジュール毎にまとめられている。
【００５７】
そして、ＡＳＩＣ１２００に接続されたＲＡＭ２２０７とＣＰＵ１１００に接続されたＲＡＭ２１０８とが保持する各機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報は割込み処理回路２２０２からの指示によって更新され、同じ値が保持される。
【００５８】
次に、本実施形態に係る割込み処理回路の動作について説明する。図６−１は、割込み処理回路２２０２の処理動作を説明するフローチャートである。
【００５９】
なお、本実施形態に係る割込み処理回路２２０２の処理動作において、第１の実施形態における図２−１で説明した処理動作と同一なものについては同一のステップ番号を付してここでの説明は省略する。
【００６０】
ステップＳ００２の処理の後、割込み処理回路２２０２は、機能モジュールの割込みレジスタ情報をある規定数Ｎ分まとめ、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介してＣＰＵ側のメモリコントローラ１１０５に転送する。
【００６１】
転送単位数の機能モジュールの割込みレジスタの読み出しが完了していない場合（ステップＳ２０１  ＮＯ）、割込み処理回路２２０２は、読み出し位置を次の機能モジュールのアドレステーブルに移動し（ステップＳ２０２）、ステップＳ００１からの処理を繰り返す。
【００６２】
一方、転送単位数の機能モジュールの割込みレジスタの読み出しが完了した場合（ステップＳ２０１  ＹＥＳ）、割込み処理回路２２０２は、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して、ＣＰＵ側のメモリコントローラ１１０５に、レジスタ情報を格納させるＲＡＭアドレスと転送単位分の現在の機能モジュールの割込みレジスタ情報を通知する。ＣＰＵ側のメモリコントローラ１１０５は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてＲＡＭ２１０８に格納させる。また、同時に、割込み処理回路２２０２は、ＡＳＩＣ側のメモリコントローラ１２０４に、レジスタ情報を格納させるＲＡＭアドレスと転送単位分の現在の機能モジュールの割込みレジスタ情報を通知する。ＡＳＩＣ側のメモリコントローラ１２０４は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてＲＡＭ２２０７に格納させる（ステップＳ２０３）。
【００６３】
次に、タイマ１２０３からトリガ信号を受信した際の割込み処理回路２２０２の処理（図６−１  ステップＳ２０４）について図６−２のフローチャートを用いて説明する。なお、割込み処理回路２２０２の処理動作において、第１の実施形態における図２−２で説明した処理動作と同一なものについては同一のステップ番号を付してここでの説明は省略する。
【００６４】
ステップＳ０１３の処理の後、転送単位数の機能モジュールの割込みレジスタの読み出しが完了していない場合（ステップＳ２１１  ＮＯ）、割込み処理回路２２０２は、読み出し位置を次の機能モジュールのアドレステーブルに移動し（ステップＳ２１２）、ステップＳ０１１からの処理を繰り返す。
【００６５】
一方、転送単位数の機能モジュールの割込みレジスタの読み出しが完了した場合（ステップＳ２１１  ＹＥＳ）、割込み処理回路２２０２は、転送単位分の全ての割込みレジスタについて、ステップＳ０１２で読み出した前回の割込みレジスタ情報ＲＤ（old）とステップＳ０１３で読み出した現在の割込みレジスタ情報ＲＤ（new）とを比較する。ここで、１つ以上のレジスタ情報で差分が有る場合（ステップＳ０２１３  ＹＥＳ）、割込み処理回路２２０２は、ＣＰＵ側のＲＡＭ２１０８に格納されている割込みレジスタ情報２１０９及びＡＳＩＣ側のＲＡＭ２２０７に格納されている割込みレジスタ情報２２０９を現在の割込みレジスタ情報に置き換えるため、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して、ＣＰＵ側のメモリコントローラ１１０５に、レジスタ情報を格納するＲＡＭアドレスと転送単位分の現在の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を通知する。ＣＰＵ側のメモリコントローラ１１０５は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてＲＡＭ２１０８に格納させる。また、同時に、割込み処理回路２２０２は、ＡＳＩＣ側のメモリコントローラ１２０４に、レジスタ情報を格納するＲＡＭアドレスと転送単位分の現在の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を通知する。ＡＳＩＣ側のメモリコントローラ１２０４は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてＲＡＭ２２０７に格納させる（ステップＳ２１４）。
【００６６】
一方、転送単位分の全てのレジスタについて、前回の割込みレジスタ情報ＲＤ（old）と現在の割込みレジスタ情報ＲＤ（new）とで差分が無い場合（ステップＳ２１３  ＮＯ）、ステップＳ２１４で説明した割込みレジスタ情報の置き換え処理は省略される。
【００６７】
次に、ＡＳＩＣ内部の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎによる割込みを検知した際の割込み処理回路１２０２の処理（図６−１  ステップＳ２０５）について図６−３のフローチャートを用いて説明する。なお、割込み処理回路２２０２の処理動作において、第１の実施形態における図２−３で説明した処理動作と同一なものについては同一のステップ番号を付してここでの説明は省略する。
【００６８】
ステップＳ０２３の処理の後、転送単位数の機能モジュールの割込みレジスタの読み出しが完了していない場合（ステップＳ２２１  ＮＯ）、割込み処理回路２２０２は、読み出し位置を次の機能モジュールのアドレステーブルに移動し（ステップＳ２２２）、ステップＳ０２１からの処理を繰り返す。
【００６９】
一方、転送単位数の機能モジュールの割込みレジスタの読み出しが完了した場合（ステップＳ２２１  ＹＥＳ）、割込み処理回路２２０２は、転送単位分の全ての割込みレジスタについて、ステップＳ０２２で読み出した前回の割込みレジスタ情報ＲＤ（old）とステップＳ０２３で読み出した現在の割込みレジスタ情報ＲＤ（new）とを比較する。ここで、１つ以上のレジスタ情報で差分が有る場合（ステップＳ０２２３  ＹＥＳ）、割込み処理回路２２０２は、ＣＰＵ側のＲＡＭ２１０８に格納されている割込みレジスタ情報２１０９及びＡＳＩＣ側のＲＡＭ２２０７に格納されている割込みレジスタ情報２２０９を現在の割込みレジスタ情報に置き換えるため、ＰＣＩ  Ｅｘｐｒｅｓｓバス１３００を介して、ＣＰＵ側のメモリコントローラ１１０５に、レジスタ情報を格納するＲＡＭアドレスと転送単位分の現在の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を通知する。ＣＰＵ側のメモリコントローラ１１０５は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてＲＡＭ２１０８に格納させる。また、同時に、割込み処理回路２２０２は、ＡＳＩＣ側のメモリコントローラ１２０４に、レジスタ情報を格納するＲＡＭアドレスと転送単位分の現在の機能モジュール（１）１２０５−１〜（Ｎ）１２０５−Ｎの割込みレジスタ情報を通知する。ＡＳＩＣ側のメモリコントローラ１２０４は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてＲＡＭ２２０７に格納させる（ステップＳ２２４）。
【００７０】
一方、転送単位分の全てのレジスタについて、前回の割込みレジスタ情報ＲＤ（old）と現在の割込みレジスタ情報ＲＤ（new）とで差分が無い場合（ステップＳ２２３  ＮＯ）、ステップＳ２２４で説明した割込みレジスタ情報の置き換え処理は省略される。
【００７１】
図７は、機能モジュール内の割込みレジスタ情報を格納するＡＳＩＣ側メモリ及びＣＰＵ側メモリの領域を類似した系統の機能モジュール毎にまとめた場合（図７（ａ））とまとめなかった場合（図７（ｂ））とで、ＡＳＩＣ側からＣＰＵ側に転送する必要がある機能モジュールの転送回数の違いを説明する図である。
【００７２】
図７（ａ）及び図７（ｂ）の場合において、どちらも割込み発生時に、既に転送された割込みソース状態との差分があり、ＣＰＵ側へ転送する必要がある機能モジュール数は８つである。図７（ａ）に示す類似した系統の機能モジュール毎にまとめた場合においては、転送単位が機能モジュール４つ毎であるため、転送数は３回で済む。これに対して図７（ｂ）に示す類似した系統の機能モジュール毎にまとめなかった場合においては、５回の転送が必要である。このように、類似した系統の機能モジュール毎にまとめることにより、データ転送効率を向上させることができる。
【００７３】
以上のように、第２の実施形態によれば、機能モジュール内の割込みレジスタ情報を格納するＡＳＩＣ側メモリ及びＣＰＵ側メモリの領域を類似した系統の機能モジュール毎にまとめることによって、第１の実施形態の効果に加え、ＣＰＵ側へのデータ転送効率を向上させることが可能となり、割込み処理におけるリアルタイムでの応答性を高めることができる。
【００７４】
本発明の実施形態の説明においては、ＡＳＩＣとＣＰＵとの間のバスの例をＰＣＩ  Ｅｘｐｒｅｓｓとして説明したが、本発明はこれに限定されるものではなく、例えば、ＰＣＩ、ＵＳＢ（Universal Serial Bus）、ローカルバス、ＳＰＩ（Serial Peripheral Interface）等にも適用可能である。
【符号の説明】
【００７５】
１００，２００  割込み処理回路システム
１１００  ＣＰＵ
１１０１  ＣＰＵコア
１１０２  ＲＯＭコントローラ
１１０３  ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ
１１０４  割込みコントローラ
１１０５  メモリコントローラ
１１０６  内部バス
１１０７  ＲＯＭ
１１０８，２１０８  ＲＡＭ
１１０９，２１０９  割込みレジスタ情報
１２００  ＡＳＩＣ
１２０１  ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ
１２０２，２２０２  割込み処理回路
１２０３  タイマ
１２０４  メモリコントローラ
１２０５−１〜Ｎ  機能モジュール（１）〜（Ｎ）
１２０６  内部バス
１２０７，２２０７  ＲＡＭ
１２０８，２２０８  アドレステーブル
１２０９，２２０９  割込みレジスタ情報
【図１】
0006671766.tif 000002
【図２−１】
0006671766.tif 000003
【図２−２】
0006671766.tif 000004
【図２−３】
0006671766.tif 000005
【図３】
0006671766.tif 000006
【図４】
0006671766.tif 000007
【図５】
0006671766.tif 000008
【図６−１】
0006671766.tif 000009
【図６−２】
0006671766.tif 000010
【図６−３】
0006671766.tif 000011
【図７】
0006671766.tif 000012