(57)【要約】【課題】割り込み処理の即時性に優れたデータ処理システムを提供する。【解決手段】中央処理装置（２，３）に別々に割当てられた複数の割込みコントローラ（４，６）は、複数の中央処理装置が共通利用可能な回路モジュール（９）から別々の割込み要求信号（ＩＲＱ１Ｍ，ＩＲＱ１Ｓ）が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知する。このとき前記回路モジュールは、複数の割込みコントローラのなかから割り込み要求信号を供給する割込みコントローラを選択する。例えば回路モジュールは起動要求を指示した中央処理装置を識別し、当該中央処理装置に対応する割り込みコントローラに割り込み要求信号を供給する。一の中央処理装置の割り込み処理による負荷を軽減することができると共に、当該一の中央処理装置での割り込み処理を経由しないため、前記他の中央処理装置の割り込みレスポンスが速くなる。【選択図】図１
2010086456.tif 000002
【特許請求の範囲】
【請求項１】
複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能な回路モジュールと、を含み、
前記複数の割り込みコントローラは、前記回路モジュールから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知し、
前記回路モジュールは、複数の割込みコントローラのなかから割り込み要求信号を供給する割込みコントローラを選択する、データ処理システム。
【請求項２】
前記回路モジュールは、発行された起動要求に応答する処理の終了、前記応答する処理中のエラー発生、又は前記応答する処理のステータスを通達するタイミングの到来によって、割り込み要求信号を発生する、請求項１記載のデータ処理システム。
【請求項３】
前記回路モジュールは、起動要求を発行した中央処理装置に対応する割込みコントローラに向けて割り込み要求信号を出力する、請求項１記載のデータ処理システム。
【請求項４】
前記回路モジュールは、起動要求が発行されたときその発行元の中央処理装置が出力する識別データを保持する第１レジスタを有し、前記第１レジスタに保持された識別データに対応する割り込みコントローラを割り込み要求信号の出力先とする、請求項３記載のデータ処理システム。
【請求項５】
前記回路モジュールは、第２レジスタの設定値に従って、起動要求を発行した中央処理装置に対応する割込みコントローラ又は起動要求を発行した中央処理装置とは無関係に予め決められた一つの割り込みコントローラに向けて割り込み要求信号を出力する、請求項１記載のデータ処理システム。
【請求項６】
前記回路モジュールは、起動要求が発行されたときその発行元の中央処理装置が出力する識別データを保持する第１レジスタを有し、前記第２のレジスタに第１の値が設定されているとき、前記第１レジスタに保持されている識別データに対応する割り込みコントローラを、割り込み要求信号の出力先とする、請求項５記載のデータ処理システム。
【請求項７】
前記回路モジュールは、起動要求を発行した中央処理装置とは無関係に割り込み要求信号を出力する一つの割り込みコントローラを指定する第３レジスタを有し、前記第２のレジスタに第２の値が設定されているとき、前記第３レジスタの設定値で指定される一つの割り込みコントローラを、割り込み要求信号の出力先とする、請求項５記載のデータ処理システム。
【請求項８】
前記回路モジュールは、複数の中央処理装置におけるデータ処理の稼動余裕を判定し、大きな稼動余裕を持つ中央処理装置側の割り込みコントローラを、割り込み要求信号の出力先とする、請求項１記載のデータ処理システム。
【請求項９】
前記回路モジュールは、複数の中央処理装置の温度を測定した温度データを入力し、温度が低いほどデータ処理の稼動余裕があると判定する、請求項８記載のデータ処理システム。
【請求項１０】
複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能なアクセラレータと、を含み、
前記複数の割り込みコントローラは、前記アクセラレータから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知し、
前記アクセラレータは、起動要求を発行した中央処理装置に対応する割込みコントローラに向けて割り込み要求信号を出力する、半導体集積回路。
【請求項１１】
前記アクセラレータは画像データの特徴を抽出するデータ処理を行ない、
前記複数の中央処理装置は抽出された特徴に基づいて画像データの画像を認識するデータ処理を行なう、請求項１０記載の半導体集積回路。
【請求項１２】
複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能なアクセラレータと、を含み、
前記複数の割り込みコントローラは、前記アクセラレータから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知し、
前記アクセラレータは、レジスタの設定値に従って、起動要求を発行した中央処理装置に対応する割込みコントローラ又は起動要求を発行した中央処理装置とは無関係に予め決められた一つの割り込みコントローラに向けて割り込み要求信号を出力する、半導体集積回路。
【請求項１３】
複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能なアクセラレータと、を含み、
前記複数の割り込みコントローラは、前記アクセラレータから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知し、
前記アクセラレータは、複数の中央処理装置におけるデータ処理の稼動余裕を判定し、大きな稼動余裕を持つ中央処理装置側の割り込みコントローラを、割り込み要求信号の出力先として選択する、半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の中央処理装置とアクセラレータを備えたデータ処理システムにおける割り込み制御技術に関し、例えばシステム・オン・チップ化された半導体集積回路に適用して有効な技術に関する。
【背景技術】
【０００２】
データ処理システムにおいては中央処理装置（単にＣＰＵとも記す）の負担を軽減するために画像認識、画像データの符号化復号等の特定のデータ処理を担うアクセラレータを搭載し、また、そのアクセラレータに対する制御についても負担を軽減するためにサブＣＰＵを搭載して、全体の性能向上を図ることが行われている。このマルチＣＰＵにおける割り込み制御には以下の態様が考えられる。
【０００３】
第１の態様として、アクセラレータがメインＣＰＵ側の割り込みコントローラにのみ割り込み要求信号を発行できる場合には、アクセラレータがサブＣＰＵに対して割り込みをかけるには、メインＣＰＵに割り込みをかけてメインＣＰＵの割り込みルーチンを用いてサブＣＰＵに割り込みを発生させることが必要である。これとは逆に、アクセラレータがサブＣＰＵ側の割り込みコントローラにのみ割り込み要求信号を発行できる場合には、メインＣＰＵに対して割り込みをかけるには、サブＣＰＵに割り込みをかけてサブＣＰＵの割り込みルーチンを用いてメインＣＰＵに割り込みを発生させることが必要である。
【０００４】
第２の態様として、夫々のＣＰＵに対応する割り込みマスクレジスタを用意し、割り込みを受け付けるべきＣＰＵの割り込みマスクだけソフトウェアで解除する。アクセラレータが全てのＣＰＵに向けて割り込みを発行しても、マスクが解除されたＣＰＵにだけ割り込みがかかる。特許文献１には第２の態様に分類される割り込み制御技術として浮動割り込み機構と称する技術が記載される。
【０００５】
第３の態様として、夫々のＣＰＵに対する割り込み優先度を設定し、アクセラレータが全てのＣＰＵに割り込みを発行し、割り込みが発行されたときＣＰＵは自らの割り込み優先度に基づいて割り込みを受け付けるべきか否かを判別し、一つのＣＰＵが割り込みを受け付けた時点で他のＣＰＵの割り込み受付がマスクされる。
【０００６】
【特許文献１】特開昭６３−１６３６５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記マルチＣＰＵにおける割り込み制御形態については以下の問題点のあることが本発明者によって明らかにされた。
【０００８】
第１の態様は、所要ＣＰＵに割り込みをかけるのに他のＣＰＵの割り込み処理ルーチンを経由することになり、割り込み処理の即時性に劣る。
【０００９】
第２、第３の態様は、マスク設定や優先度設定のために特定のＣＰＵを用いたソフトウェア処理が必要になり、特定のＣＰＵに負担がかかり、割り込み処理の即時性に劣り、システムの処理内容が変われば当該ソフトウェア処理も変更になりソフトウェアの互換性は著しく低く、当該ソフトウェア作成の負担も大きい。
【００１０】
本発明の目的は、割り込み処理の即時性に優れたデータ処理システム、並びにそれを構成する半導体集積回路を提供することにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１３】
すなわち、中央処理装置に別々に割当てられた複数の割込みコントローラは、前記複数の中央処理装置が共通利用可能な回路モジュールから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知する。このとき前記回路モジュールは、複数の割込みコントローラのなかから割り込み要求信号を供給する割込みコントローラを選択する。例えば回路モジュールは起動要求を指示した中央処理装置を識別し、当該中央処理装置に対応する割り込みコントローラに割り込み要求信号を供給する。
【００１４】
上記手段によれば、一の中央処理装置がすべての割り込みを処理する場合に比べ、回路モジュールは他の中央処理装置に直接割り込みをかけることができるから、当該一の中央処理装置の割り込み処理による負荷を軽減することができると共に、当該一の中央処理装置での割り込み処理を経由しないため、前記他の中央処理装置の割り込みレスポンスが速くなる。
【発明の効果】
【００１５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１６】
すなわち、割り込み処理の即時性に優れる。
【発明を実施するための最良の形態】
【００１７】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１８】
〔１〕本発明に係るデータ処理システム（１）は、複数の中央処理装置（２，３）と、前記中央処理装置に別々に割当てられた複数の割込みコントローラ（４，６）と、前記複数の中央処理装置が共通利用可能な回路モジュール（９）と、を含む。前記複数の割り込みコントローラは、前記回路モジュールから別々の割込み要求信号（ＩＲＱ１Ｍ，ＩＲＱ１Ｓ）が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知する。前記回路モジュールは、複数の割込みコントローラのなかから割り込み要求信号を供給する割込みコントローラを選択する。
【００１９】
上記手段によれば、一の中央処理装置がすべての割り込みを処理する場合に比べ、回路モジュールは他の中央処理装置に直接割り込みをかけることができるから、当該一の中央処理装置の割り込み処理による負荷を軽減することができると共に、当該一の中央処理装置での割り込み処理を経由しないため、前記他の中央処理装置の割り込みレスポンスが速くなる。結果として、割り込みに対する即時応答性が向上する。
【００２０】
すべての中央処理装置に対して割り込みを書ける場合に比べ、回路モジュール自身が割り込み発行先を判別するため、ソフトウェアによる中央処理装置に対するマスク設定を必要としない。
【００２１】
中央処理装置や回路モジュールの数によってマスクレジスタやソフトウェア（割り込みルーチン）を作り直す必要がないため、同じ回路モジュールを異なる製品に流用したときの割り込み処理に関するソフトウェアの再利用性、即ち互換性が高まる。
【００２２】
割り込み発行先を回路モジュール自身が決定できるため、最適な割り込み発行先を選択することが可能となる。たとえば、割り込みを負荷の低い中央処理装置に選択的にかけることも可能となる。
【００２３】
回路モジュール自身が割り込み発行先を判別するため、中央処理装置は他の中央処理装置のデータ処理状況を気にすることなく自身に対して発行された割り込みを受け付ければ良く、割り込み制御のためのハードウェアの簡素化に資することができる。
【００２４】
〔２〕項１のデータ処理システムにおいて、前記回路モジュールは、発行された起動要求に応答する処理の終了、前記応答する処理中のエラー発生、又は前記応答する処理のステータスを通達するタイミングの到来によって、割り込み要求信号を発生する。
【００２５】
〔３〕項１のデータ処理システムにおいて、前記回路モジュールは、起動要求を発行した中央処理装置に対応する割込みコントローラに向けて割り込み要求信号を出力する。これにより、回路モジュールに対する起動要求と起動された処理結果の利用と相関を尊重することができる
〔４〕項３のデータ処理システムにおいて、前記回路モジュールは、起動要求が発行されたときその発行元の中央処理装置が出力する識別データを保持する第１レジスタ（２２）を有し、前記第１レジスタに保持された識別データに対応する割り込みコントローラを割り込み要求信号の出力先とする。
【００２６】
〔５〕項１のデータ処理システムにおいて、前記回路モジュールは、第２レジスタ（３７）の設定値に従って、起動要求を発行した中央処理装置に対応する割込みコントローラ又は起動要求を発行した中央処理装置とは無関係に予め決められた一つの割り込みコントローラに向けて割り込み要求信号を出力する。これによれば、割り込みコントローラが一つしかないシステムで稼働するソフトウェアとの互換性が容易に得られる。
【００２７】
〔６〕項５のデータ処理システムにおいて、前記回路モジュールは、起動要求が発行されたときその発行元の中央処理装置が出力する識別データを保持する第１レジスタを有し、前記第２のレジスタに第１の値が設定されているとき、前記第１レジスタに保持されている識別データに対応する割り込みコントローラを、割り込み要求信号の出力先とする。
【００２８】
〔７〕項５のデータ処理システムにおいて、前記回路モジュールは、起動要求を発行した中央処理装置とは無関係に割り込み要求信号を出力する一つの割り込みコントローラを指定する第３レジスタ（３８，３９）を有し、前記第２のレジスタに第２の値が設定されているとき、前記第３レジスタの設定値で指定される一つの割り込みコントローラを、割り込み要求信号の出力先とする。
【００２９】
〔８〕項１のデータ処理システムにおいて、前記回路モジュールは、複数の中央処理装置におけるデータ処理の稼動余裕を判定し、大きな稼動余裕を持つ中央処理装置側の割り込みコントローラを、割り込み要求信号の出力先とする。これによれば、システム効率を向上させることができる。
【００３０】
〔９〕項８のデータ処理システムにおいて、前記回路モジュールは、複数の中央処理装置の温度を測定した温度データを入力し、温度が低いほどデータ処理の稼動余裕があると判定する。
【００３１】
〔１０〕本発明に係る半導体集積回路は、複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能なアクセラレータと、を含む。前記複数の割り込みコントローラは、前記アクセラレータから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知する。前記アクセラレータは、起動要求を発行した中央処理装置に対応する割込みコントローラに向けて割り込み要求信号を出力する。
【００３２】
〔１１〕項１０の半導体集積回路において、前記アクセラレータは画像データの特徴を抽出するデータ処理を行なう。前記複数の中央処理装置は抽出された特徴に基づいて画像データの画像を認識するデータ処理を行なう。
【００３３】
〔１２〕本発明に係る半導体集積回路は、複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能なアクセラレータと、を含む。前記複数の割り込みコントローラは、前記アクセラレータから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知する。前記アクセラレータは、レジスタの設定値に従って、起動要求を発行した中央処理装置に対応する割込みコントローラ又は起動要求を発行した中央処理装置とは無関係に予め決められた一つの割り込みコントローラに向けて割り込み要求信号を出力する。
【００３４】
〔１３〕本発明に係る半導体集積回路は、複数の中央処理装置と、前記中央処理装置に別々に割当てられた複数の割込みコントローラと、前記複数の中央処理装置が共通利用可能なアクセラレータと、を含む。前記複数の割り込みコントローラは、前記アクセラレータから別々の割込み要求信号が供給され、入力された割り込み要求信号に応答して対応する中央処理装置に割込みを通知する。前記アクセラレータは、複数の中央処理装置におけるデータ処理の稼動余裕を判定し、大きな稼動余裕を持つ中央処理装置側の割り込みコントローラを、割り込み要求信号の出力先として選択する。
【００３５】
２．実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための形態を図面に基づいて詳細に説明する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
【００３６】
図１には本発明に係るデータ処理システム（データ処理装置）が例示される。同図に示されるデータ処理システムは、特に制限されないが、画像処理に特化したシステムオンチップのマイクロコンピュータであり、ＣＭＯＳ集積回路製造技術等によって単結晶シリコンのような1個の半導体基板に形成される。
【００３７】
データ処理システム１は、特に制限されないが、デュアルプロセッサコア（マルチプロセッサコア）として、マスタ中央処理装置（ＣＰＵＣＭ）２とサブ中央処理装置（ＣＰＵＣＳ）３とを有し、ＣＰＵＣＭ２に対応して割り込みコントローラ（ＩＮＴＣＭ）４が配置され、ＣＰＵＣＳ３に対応して割り込みコントローラ（ＩＮＴＣＳ）６が配置される。夫々の中央処理装置２，３は、特に制限されないが、命令制御部、命令実行、及びバスインタフェース部を有し、その他に、キャッシュメモリ、アドレス変換バッファ、及び浮動小数点演算ユニット等を備えてもよい。データ処理システムは、幾つかの周辺回路（ＰＲＰＩＰ）５を備え、また、アクセラレータとして例えば画像描画アクセラレータ７、歪み補正アクセラレータ（ＳＴＲＩＰ）８、及び画像認識アクセラレータ（ＲＣＧＩＰ）９を有し、更にメモリコントローラ（ＭＣＮＴ）１１，１２及び外部インタフェース回路１３を備える。それらの回路はルータ（ＲＯＯＴ）１０を介してデータ、アドレス及び制御信号を送受することができる。ルータ１０によるデータ送受には例えばパケット単位で転送を行うスプリット・トランザクション・バスのプロトコル等を採用することができる。
【００３８】
アクセラレータ７はＣＰＵＣＳ３の負担を軽減するために、ＣＰＵＣＳから起動コマンドを受取って画像描画を行い、同様にアクセラレータ８は画像の歪み補正演算を行う。アクセラレータ９はＣＰＵＣＭ２，ＣＰＵＣＳ３の負担を軽減するために、ＣＰＵＣＭ２又はＣＰＵＣＳ３から起動コマンドを受取って、画像認識のための特徴抽出処理を行なう。メモリコントローラ１１，１２には例えばＤＤＲ３の規格に準拠したシンクロナスＤＲＡＭが外部に接続される。
【００３９】
夫々の中央処理装置２，３には別々に割り込みコントローラ４，６が配置される。割り込みコントローラ４は代表的に図示された割り込み要求信号ＩＲＱ１Ｍ，ＩＲＱ２Ｍを入力し、割り込み要求信号による割り込み要求に対するマスクレベルの判定、割り込み要求が競合するときは割り込み優先レベルによる割り込み要求を調停し、例えばＣＰＵＣＭ２に割り込み信号ＩＮＴｍと割り込み要因コード（図視を省略）を供給する。割り込みコントローラ６は代表的に図示された割り込み要求信号ＩＲＱ１Ｓ，ＩＲＱ２Ｓ、ＩＲＱ３Ｓを入力し、割り込み要求信号による割り込み要求に対するマスクレベルの判定、割り込み要求が競合するときは割り込み優先レベルによる割り込み要求を調停し、例えばＣＰＵＣＳ３に割り込み信号ＩＮＴｓと割り込み要因コード（図視を省略）を供給する。
【００４０】
ここで、前記画像認識アクセラレータ９は、そのデータ処理によって割り込み要求事由が発生したとき、ＣＰＵＣＭ２側の割り込みコントローラ４に割り込み要求信号ＩＲＱ１Ｍを出力するのか、又はＣＰＵＣＳ３側の割り込みコントローラ６に割り込み要求信号ＩＲＱ１Ｓを出力するのかを選択する。割り込み要求事由には、例えばコマンドによる起動要求に応答する処理の終了、前記応答する処理中のエラー発生、又は前記応答する処理のステータスを通達するタイミングの到来等である。
【００４１】
図２には画像認識アクセラレータ９の第１の例として画像認識動作の起動要求を発行した中央処理装置に対応する割込みコントローラに向けて割り込み要求信号を出力するための構成が例示される。
【００４２】
画像認識アクセラレータ９は例えばバスインタフェース（ＢＩＦ）２０、画像認識処理部（ＰＲＣＳＤＩＶ）２１、ＩＤレジスタ（ＩＤＲＥＧ）２２、デコーダ（ＩＤＤＥＣ）２３、アンドゲート２４，２５を有する。例えば画像認識アクセラレータ９に対する起動要求（ＳＴＲＲＥＱ）は、アクセスリクエスト信号Ｒｅｑ＿ｘ、起動レジスタを指定するアドレスデータＡｄｄ＿ｘ、オペレーションを指示するオペレーションデータＯｐｃ＿ｘ、起動ビットＤａｔａ＿ｘ、及び起動元の中央処理装置を示すＣＰＵ識別信号Ｓｒｃ＿ｘがＣＰＵＣＭ２又はＣＰＵＣＳ３からルータ１に発行されることによって指示される。バスインタフェース２０はそれら信号を入力して画像認識アクセラレータ９の動作が選択されていることを判別すると、それによって起動が指示される画像認識処理を行なうために必要な情報を画像認識処理部２１に引き渡し、これによって画像認識処理部２１が画像認識処理を開始する。これと共に、画像認識アクセラレータ９の動作が選択されていることを判別すると、バスインタフェース２０はラッチ信号Ｌａｔを活性化してＩＤレジスタ２２にそのときのＣＰＵ識別信号Ｓｒｃ＿ｘで指定されるＣＰＵ識別データＣＰＵＩＤを保持させる。ＣＰＵ識別データＣＰＵＩＤはデコーダ２３でデコードされ、デコード結果はアンドゲート２４，２５に供給される。ＣＰＵ識別データＣＰＵＩＤがＣＰＵＣＭ４を意味するときアンドゲート２４への出力がハイレベルにされ、ＣＰＵ識別データＣＰＵＩＤがＣＰＵＣＳ６を意味するときアンドゲート２５への出力がハイレベルにされる。画像認識処理部２１は起動要求に応答する処理の終了、前記応答する処理中のエラー発生、又は前記応答する処理のステータスを通達するタイミングが到来したとき、割り込み指示信号ＩＲＱ１をハイレベルとする。これにより、割り込み指示信号ＩＲＱ１が活性化されると、ＣＰＵ識別データＣＰＵＩＤが示す一方の中央処理装置に対応する割り込みコントローラに割り込み要求信号が出力され、他方の中央処理装置に対応する割り込みコントローラへの割り込み要求はマスクされる。
【００４３】
図３には画像認識アクセラレータの動作タイミングが例示される。ここではマスタ中央処理装置（ＣＰＵＣＭ）２が画像認識アクセラレータ９の動作を起動しているから、ＣＰＵ識別信号Ｓｒｃ＿ｘで指定されるＣＰＵ識別データＣＰＵＩＤはマスタ中央処理装置（ＣＰＵＣＭ）２を意味する。従って、割り込み指示信号ＩＲＱ１がハイレベルにされると、割り込み要求信号ＩＲＱ１Ｍが活性化され、割り込み要求信号ＩＲＱ１Ｓの活性化はマスクされ、画像認識処理の終了等に基づく割り込みは、起動要求を行なったマスタ中央処理装置２に向けて発行される。
【００４４】
図４には画像認識アクセラレータの動作フローチャートが例示される。上述の通り、起動要求を行なった中央処理装置に向けて割り込みが発行される。
【００４５】
図５には画像認識アクセラレータ９の第２の例として、起動要求を発行した中央処理装置に対応する割込みコントローラ又は起動要求を発行した中央処理装置とは無関係に予め決められた一つの割り込みコントローラに向けて割り込み要求信号を出力するための構成が例示される。
【００４６】
図５の画像認識アクセラレータ９は図４の構成に、レジスタ３７，３８，３９とセレクタ３１，３２を追加した構成を備える。セレクタ３１は２入力のアンドゲート３４，３５から成り、アンドゲート３４，３５の一方に入力には前記割り込み指示信号ＩＲＱ１が供給され、アンドゲート３４，３５の他方の入力にはレジスタ３８，３９に設定された選択指示ビットが供給される。レジスタ３８，３９の選択指示ビットは何れか一方だけが選択的に論理値１にされる。レジスタ３７の選択指示ビットが論理値１のときセレクタ３２はアンドゲート３４の出力を割り込み要求信号ＩＲＱ１Ｍとし、アンドゲート３５の出力を割り込み要求信号ＩＲＱ１Ｓとする。一方、レジスタ３７の選択指示ビットが論理値０のときセレクタ３２はアンドゲート２４の出力を割り込み要求信号ＩＲＱ１Ｍとし、アンドゲート２５の出力を割り込み要求信号ＩＲＱ１Ｓとする。ＣＰＵＣＭ２又はＣＰＵＣＳ３の一方がその動作プログラムに従って前記レジスタ３７，３８，３９の選択を行って選択指示ビットを設定する。したがって、起動要求元の中央処理装置に向けて割り込みを発行させたい場合には、レジスタ３７の選択指示ビットを論理値０に設定すればよい。割り込み要求先の中央処理装置を固定としたい場合には、レジスタ３７の選択指示ビットを論理値１に設定すればよく、割り込み要求先をＣＰＵＣＭ２に固定するときはレジスタ３８の選択指示ビットを論理値１、レジスタ３９の選択指示ビットを論理値０とし、割り込み要求先をＣＰＵＣＳ３に固定するときはその逆に設定すればよい。
【００４７】
画像認識アクセラレータ９の上記第１及び第２の構成によれば以下の作用効果を得ることができる。（１）一の中央処理装置２がすべての割り込みを処理する場合に比べ、画像認識アクセラレータ９は他の中央処理装置３にも直接割り込みをかけることができるから、当該一の中央処理装置２の割り込み処理による負荷を軽減することができると共に、他の中央処理装置３によって画像認識処理の起動がかけられた場合に一の中央処理装置２での割り込み処理を経由しないため、前記他の中央処理装置３の割り込みレスポンスが速くなる。結果として、割り込みに対する即時応答性を向上させることができる。例えば全ての割り込み要求を一つの割り込みコントローラ４が受けて処理する場合、中央処理装置３が画像認識アクセラレータ９を起動したとき、その処理の終了によって起動要求元とは異なる中央処理装置２に割り込みがかかる場合には、当該中央処理装置２が割り込みに応答処理を行なって起動要求元の中央処理装置に、画像認識処理の終了を通知したり、その処理結果を用いる別の処理への開始等を、更なる割り込み等によって指示しなければならなくなり、結果として、一つの中央処理装置２による割り込み処理の負担が増大する。
【００４８】
（２）画像認識アクセラレータ９がすべての中央処理装置に割り込みをかける場合に比べ、画像認識アクセラレータ９自身が割り込み発行先を判別するため、ソフトウェアによる中央処理装置に対するマスク設定を必要としない。
【００４９】
（３）中央処理装置や画像認識アクセラレータ９のような回路モジュールの数によってマスクレジスタやソフトウェア（割り込みルーチン）を作り直す必要がないため、同じ回路モジュールを異なる製品に流用したときの割り込み処理に関するソフトウェアの再利用性、即ち互換性を高めることができる。
【００５０】
（４）画像認識アクセラレータ９自身が割り込み発行先を判別するため、中央処理装置は他の中央処理装置のデータ処理状況を気にすることなく自身に対して発行された割り込みを受け付ければ良く、割り込み制御のためのハードウェアの簡素化に資することができる。
【００５１】
図６には画像認識アクセラレータ９の第３の例として、大きな稼動余裕を持つ中央処理装置を割り込み要求先とする構成が例示される。
【００５２】
図６において中央処理装置２には温度センサ（ＳＮＳＲｍ）４０が設けられ、中央処理装置３には温度センサ（ＳＮＳＲｓ）４１が設けられる。データ処理による負荷の軽重に応じて中央処理装置２，３の発熱量が変わり、負荷が大きくなるほど温度が高くなる。検出回路４２はセンサ４０，４１による温度検出データを入力してデータ処理に寄る負荷状態、換言すればその稼動状態を判定し、相対的にＣＰＵＣＭ２の稼動余裕が大きな場合にはアンドゲート２４への出力を論理値１、アンドゲート２５への出力を論理値０とする。相対的にＣＰＵＣＳ３の稼動余裕が大きな場合にはアンドゲート２４への出力を論理値０、アンドゲート２５への出力を論理値１とする。検出回路４２の検出動作による検出結果の更新は例えば複数動作サイクル毎に行えばよい。
【００５３】
このように、割り込み発行先を画像認識アクセラレータ９自身が決定できるため、割り込みを負荷の低い中央処理装置に選択的にかけることが可能となり、最適な割り込み発行先を自ら選択することが可能となる。
一般に、負荷が高いコアは温度が高くなるため、最も低い温度のコアに発行することによって、最適に割り込み発行先を選択することができる。
【００５４】
特に図示はしないが、負荷ではなく中央処理装置が正しく動作しているかどうかを監視することにより、冗長性を持ったセキュアなシステムの構築に資することも可能である。例えば、１個の中央処理装置が故障したとしても、割り込み先を自動的に他の中央処理装置へ切換えることによって、故障した中央処理装置に依存しないシステムを実現できる。さらに、ソフトウェアで割り込み発行先を管理する必要がないことから、ソフトウェア上での共有部分が少なくなる。この点でもよりセキュアなシステムの実現に資することができる。この他、割り込み発行先の選択方法には様々なものが考えられ、それらを目的、環境、状況に応じて使い分けることにより、最適な中央処理装置へ割り込みをかけることが可能となる。
【００５５】
図７にはデータ処理システムの更に具体的な例が示される。図１と同一機能を備えた回路ブロックにはそれと同一の符号を附してある。１３Ａ，１３Ｂ，１３Ｃは外部インタフェース回路１３に対応される。１０Ａ〜１０Ｉはバスであり、図１ではそれらをルータ１０と称している。例えば１０Ａ〜１０Ｈのバスはスプリット・トランザクション・バスであり、リクエストパケットとレスポンスパケットを介してバスアクセスが行われる。１０Ｉは周辺バスであり、アドレス、データ及び制御信号等のバスに対するバス権を取得してバスアクセスが行われるバスであり、沿う方のバスプロトコルは相違される。５０はスプリット・トランザクション・バスと周辺バスをインタフェースするバスプロトコル変換用のバスブリッジ回路（ＢＢＲＤＧ）である。
【００５６】
図８にはバスブリッジ回路５０の一例が示される。５Ａ〜５Ｎは周辺回路である。周辺バス１０Ｉは、特に制限されないが、周辺回路毎のモジュール選択信号ＳＥＬ＿ＭＤＬｉ、周辺回路毎のモジュールリードバスＲＥＡＤ＿ＭＤＬｉ、周辺回路に共通のコモンバスＣＯＭＮ、及び周辺回路に共通のＩＤバスＩＤＢからなる。コモンバスＣＯＭＮはアドレス、ライトデータ、リードストローブ、ライトストローブの各信号に割当てられる。信号Ｓｒｃ＿ｘをリクエスト信号Ｒｅｑ＿ｘでラッチするラッチ回路５１がそのラッチデータをＣＰＵ識別データＣＰＵＩＤとしてＩＤバスＩＤＢに出力する。
【００５７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５８】
複数個の割り込みコントローラに割り込み要求信号を出力する回路モジュールは、画像認識アクセラレータに限定されず、画像描画アクセラレータ７、ひずみ補正アクセラレータ８、周辺回路５の何れであってもよいし、どれもが出力してもよい。回路モジュールが画像処理用に限定されず、暗号化復号、圧縮伸張、符号化復号、その他の何れのデータ処理であってもよい。データ処理システムは画像処理システムに限定されず、暗号化復号、圧縮伸張、符号化復号、その他の何れのデータ処理システムにも適用することができる。また、割り込み処理手順に関し、割り込み要因コードは割り込み要求発生元が出力してもよい。中央処理装置は、ＣＰＵコア若しくはプロセッサコア等のように命令を実行してデータ処理を行なう機能を備えたユニットとして把握すればよい。また、中央処理装置と割り込みコントローラの数はそれぞれ２個の限定されず、それ以上の適宜の複数個であってよい。データ処理システムはシングルチップに限定されずマルチチップで構成してもよい。データ処理システムはＳＤＲＡＭのようなメモリをオンチップで搭載してもよい。
【図面の簡単な説明】
【００５９】
【図１】図１は本発明に係るデータ処理システムを例示するブロック図である。
【図２】図２は画像認識アクセラレータの第１の例として画像認識動作の起動要求を発行した中央処理装置に対応する割込みコントローラに向けて割り込み要求信号を出力するための構成を例示するブロック図である。
【図３】図３は画像認識アクセラレータの動作タイミング図である。
【図４】図４は画像認識アクセラレータの動作フローチャートである。
【図５】図５は画像認識アクセラレータの第２の例として、起動要求を発行した中央処理装置に対応する割込みコントローラ又は起動要求を発行した中央処理装置とは無関係に予め決められた一つの割り込みコントローラに向けて割り込み要求信号を出力するための構成を例示するブロック図である。
【図６】図６は画像認識アクセラレータの第３の例として、大きな稼動余裕を持つ中央処理装置を割り込み要求先とする構成を例示するブロック図である。
【図７】図７はデータ処理システムの更に具体的な例を示すブロック図である。
【図８】図８はスプリット・トランザクション・バスと周辺バスをインタフェースするバスプロトコル変換用のバスブリッジ回路の一例を示すブロック図である。
【符号の説明】
【００６０】
１  データ処理システム
２  マスタ中央処理装置（ＣＰＵＣＭ）
３  サブ中央処理装置（ＣＰＵＣＳ）
４  割り込みコントローラ（ＩＮＴＣＭ）
６  割り込みコントローラ（ＩＮＴＣＳ）
５  周辺回路（ＰＲＰＩＰ）
７  画像描画アクセラレータ
８  歪み補正アクセラレータ（ＳＴＲＩＰ）
９  画像認識アクセラレータ（ＲＣＧＩＰ）
１１，１２メモリコントローラ（ＭＣＮＴ）
１０  ルータ（ＲＯＯＴ）
ＩＲＱ１Ｍ，ＩＲＱ２Ｍ  割り込み要求信号
ＩＮＴｍ  割り込み信号
ＩＲＱ１Ｓ，ＩＲＱ２Ｓ、ＩＲＱ３Ｓ  割り込み要求信号
ＩＮＴｓ  割り込み信号
２０  バスインタフェース（ＢＩＦ）
２１  画像認識処理部（ＰＲＣＳＤＩＶ）
２２  ＩＤレジスタ（ＩＤＲＥＧ）
２３  デコーダ（ＩＤＤＥＣ）
２４，２５  アンドゲート
Ｒｅｑ＿ｘ  アクセスリクエスト信号
Ａｄｄ＿ｘ  アドレスデータ
Ｏｐｃ＿ｘ  オペレーションデータ
Ｄａｔａ＿ｘ  起動ビット
Ｓｒｃ＿ｘ  ＣＰＵ識別信号
ＣＰＵＩＤ  ＣＰＵ識別データ
３７，３８，３９  レジスタ
３，３２  セレクタ
３４，３５  アンドゲート
４０  温度センサ（ＳＮＳＲｍ）
４１  温度センサ（ＳＮＳＲｓ）
５０  バスブリッジ回路（ＢＢＲＤＧ）
【図１】
2010086456.tif 000003
【図２】
2010086456.tif 000004
【図３】
2010086456.tif 000005
【図４】
2010086456.tif 000006
【図５】
2010086456.tif 000007
【図６】
2010086456.tif 000008
【図７】
2010086456.tif 000009
【図８】
2010086456.tif 000010