(57)【特許請求の範囲】
【請求項１】
ＣＰＵを内蔵した半導体集積回路であって、
割り込み処理に関連する前記ＣＰＵのバストランザクションを検出することで、前記割り込み処理に要する時間と割り込み要因とを記録したイベント情報を生成するイベント情報生成手段と、
該イベント情報生成手段によって生成された前記イベント情報をログ情報として記憶する結果読み出し用記憶手段とを具備し、
前記イベント情報生成手段は、割り込みベクタへのアクセスを前記バストランザクションとして検出することを特微とする半導体集積回路。
【請求項２】
前記イベント情報生成手段は、割り込み要因が保持されている割り込み要因保持レジスタへのアクセスを前記バストランザクションとして検出することを特微とする請求項１記載の半導体集積回路。
【請求項３】
前記イベント情報生成手段は、割り込み要因を取得するための前記割り込み要因保持レジスタへのアクセスと、割り込み要因をクリアするための前記割り込み要因保持レジスタへのアクセスとを前記バストランザクションとして検出することを特微とする請求項２記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複写機やプリンタ等の画像形成装置の動作を制御する半導体集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）に関し、特にＣＰＵ（Central Processing Unit）を内蔵するＳｏＣ（System On Chip)と称される半導体集積回路に関する。
【背景技術】
【０００２】
近年、プリンタ等の画像形成装置の動作を制御する半導体集積回路は、コストやパフォーマンスの視点より、ＣＰＵを内蔵するＳｏＣとして開発されることが多くなっている。内蔵するＣＰＵの選定には、アーキテクチャレベル、動作周波数、キャッシュサイズといった様々なパラメータを検討しなければならず、半導体集積回路の開発段階ではＣＰＵの使用率を正確に見積ることが困難である。従って、安全を見て、オーバースペックのＣＰＵが選定されることが多く、性能とコスト、消費電力といった視点で最適なＣＰＵが選択されていなかった場合、何れかに無駄が生じることになる。
【０００３】
そこで、半導体集積回路に内蔵されたＣＰＵの動作率を実際に測定し、測定結果を次回の開発時に反映させ、オーバースペックにならない適切なＣＰＵの選定に役立てることが考えられている。半導体集積回路に内蔵されたＣＰＵの動作率の測定方法としては、動作クロックや供給される電源により計測する方法（例えば、特許文献１参照）や、アイドルスレッド等の各プログラム(タスク/スレッド)の動作状態により計測する方法が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６２３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、動作クロックや供給される電源により計測する方法は、半導体集積回路の外部から間接的にＣＰＵの動作率を推定するものであり、ＣＰＵの実際の動作率を詳細なレベルで計測することができない。また、アイドルスレッド等の各プログラム（タスク／スレッド）の動作状態により計測する方法は、ＯＳに依存するものであり、非対応なＯＳでは測定不可となると共に、ソフトウェアが満足に動作していない開発初期においては、動作率を計測することは不可能である。
【０００６】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ソフトウェアに依存することなく、内属されたＣＰＵの実際の動作率を詳細なレベル記録することができる半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の半導体集積回路は、ＣＰＵを内蔵した半導体集積回路であって、割り込み処理に関連する前記ＣＰＵのバストランザクションを検出することで、前記割り込み処理に要する時間と割り込み要因とを記録したイベント情報を生成するイベント情報生成手段と、該イベント情報生成手段によって生成された前記イベント情報をログ情報として記憶する結果読み出し用記憶手段とを具備し、前記イベント情報生成手段は、割り込みベクタへのアクセスを前記バストランザクションとして検出することを特微とする。
さらに、本発明の半導体集積回路において、前記イベント情報生成手段は、割り込み要因が保持されている割り込み要因保持レジスタへのアクセスを前記バストランザクションとして検出しても良い。
さらに、本発明の半導体集積回路において、前記イベント情報生成手段は、割り込み要因を取得するための前記割り込み要因保持レジスタへのアクセスと、割り込み要因をクリアするための前記割り込み要因保持レジスタへのアクセスとを前記バストランザクションとして検出しても良い。
【発明の効果】
【０００８】
本発明によれば、ソフトウェアに依存することなく、ＣＰＵのバストランザクションレベルでの動作状態を把握することで、内属されたＣＰＵの実際の動作率を詳細なレベルでイベント情報として記録することができ、得られたイベント情報を次回の半導体集積回路の開発に展開することで、オーバースペックにならない必要十分なＣＰＵを選定することが可能にるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る半導体集積回路の実施の形態の概略構成を示すブロック図である。
【図２】図１に示す結果読み出し用レジスタに記憶されるイベント情報例を示す図である。
【図３】本発明に係る半導体集積回路の実施の形態における動作率計測動作を説明するための説明図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態を、図面を参照して具体的に説明する。
本実施の形態の半導体集積回路１は、複写機やプリンタ等の画像形成装置の動作を制御するＡＳＩＣであり、図１を参照すると、ＣＰＵ２と、ＲＯＭ（Read Only Memory）３と、ＲＡＭ（Random Access Memory）４と、モジュール５１、５２〜５ｎと、割り込みコントローラー６と、動作率測定回路７とがバス８で接続されている。また、モジュール５１、５２〜５ｎと割り込みコントローラー６とは、それぞれ割り込み信号線９１、９２〜９ｎによって接続され、割り込みコントローラー６とＣＰＵ２とが割り込み信号線１０によって接続されている。
【００１１】
ＲＯＭ３には、ＣＰＵ２が動作するための制御プログラムが記憶されている。ＣＰＵ２は、ＲＯＭ３に記憶されている制御プログラムを読み出してＲＡＭ４に展開させ、ＲＡＭ４に展開された制御プログラムに基づいて動作を実行する。また、ＲＡＭ４に展開された制御プログラムには、割り込み処理に対応するためのプログラムとして、割り込みベクタと、割り込みベクタによって、その開始アドレスが指定された割り込み処理ルーチンとが存在している。
【００１２】
モジュール５１、５２〜５ｎは、ＨＤＤコントローラー等の各種機能ブロックであり、モジュール５１、５２〜５ｎにおいて割り込み要因が発生すると、割り込み信号線９１、９２〜９ｎを介してモジュール５１、５２〜５ｎから割り込みコントローラー６への割り込み信号がアサートされる。
【００１３】
割り込みコントローラー６は、割り込み優先度の制御や、モジュール５１、５２〜５ｎからの割り込みの禁止／許可を制御し、割り込みが許可されているモジュール５１、５２〜５ｎからの割り込み信号がアサートされると、割り込み信号線１０を介してＣＰＵ２への割り込み信号をアサートする。また、割り込みコントローラー６には、割り込み信号がアサートされたモジュール５１、５２〜５ｎを割り込み要因として保持する割り込み要因保持レジスタ６１が設けられている。
【００１４】
動作率測定回路７は、ＣＰＵ２の動作率を計測するための回路であり、アドレス情報格納レジスタ７１と、比較回路７２と、時刻をカウントするタイマー７３と、結果読み出し用レジスタ７４とを備えている。
【００１５】
アドレス情報格納レジスタ７１は、アドレス情報を記憶する記憶手段であり、ＲＡＭ４に展開されている割り込みベクタのアドレスと、割り込みコントローラー６に設けられた割り込み要因保持レジスタ６１のアドレスとが記憶されている。
【００１６】
比較回路７２は、バス８に接続されており、バス８上のバストランザクションを監視し、アドレス情報格納レジスタ７１に記憶されている割り込みベクタのアドレスに一致するアドレス情報を有するバストランザクションの発生と、アドレス情報格納レジスタ７１に記憶されている割り込み要因保持レジスタ６１のアドレスに一致するアドレス情報を有するバストランザクションの発生とを検出する。また、比較回路７２は、イベント情報生成手段として機能し、一連の割り込み処理に要する時間を記録したイベント情報を生成し、生成したイベント情報を結果読み出し用レジスタ７４に記憶させる。
【００１７】
結果読み出し用レジスタ７４は、イベント情報を記憶する記憶手段であり、結果読み出し用レジスタ７４に記憶されたイベント情報は、図示しない外部端子やプログラムにより半導体集積回路１外に読み出し可能に構成されている。また、比較回路７２によって生成され、結果読み出し用レジスタ７４に記憶されるイベント情報は、図２（ａ）に示すように、割り込み要因（要因Ａ）が記入される割り込み要因欄８１と、割り込みベクタへのアクセス時刻（時刻Ｂ）がベクタアクセス時刻としてタイムスタンプされるベクタアクセス時刻欄８２と、割り込み要因を取得するために行われる１回目の割り込み要因保持レジスタ６１へのアクセス時刻（時刻Ｃ）が第１レジスタアクセス時刻としてタイムスタンプされる第１レジスタアクセス時刻欄８３と、割り込み要因をクリアするために行われる２回目の割り込み要因保持レジスタ６１へのアクセス時刻（時刻Ｄ）が第２レジスタアクセス時刻としてタイムスタンプされる第２レジスタアクセス時刻欄８４とからなり、１回の割り込み処理に対して、１つのイベント情報が生成される。
【００１８】
次に、本実施の形態の半導体集積回路１における動作率計測動作について図３を参照して詳細に説明する。
【００１９】
割り込みコントローラー６は、割り込みが許可されているモジュール５１、５２〜５ｎからの割り込み信号がアサートされると、割り込み信号線１０を介してＣＰＵ２への割り込み信号をアサートする（Ｓ１）。
【００２０】
ＣＰＵ２は、割り込み信号がアサートされると、割り込みを認識し、バス８を介してＲＡＭ４に展開された制御プログラムの割り込みベクタにアクセスを行う（Ｓ２）。比較回路７２は、（Ｓ２）の割り込みベクタにアクセスするバストランザクション、すなわち割り込みベクタのアドレスに一致するアドレス情報を有するバストランザクションを検出する。比較回路７２は、（Ｓ２）のバストランザクションの発生を検出すると、タイマー７３から時刻を取得し、取得した時刻をＣＰＵ２が割り込みを認識した割り込み認識タイミングとして、ベクタアクセス時刻欄８２にタイムスタンプしたイベント情報を生成し、生成したイベント情報を結果読み出し用レジスタ７４に記憶させる。
【００２１】
次に、ＣＰＵ２は、割り込みベクタによりその開始アドレスが指定された割り込み処理ルーチンを起動させ（Ｓ３）、割り込み処理ルーチンにより、割り込み要因保持レジスタ６１に割り込み要因を取得するためのアクセスを行い（Ｓ４）、割り込み要因を取得する（Ｓ５）。比較回路７２は、（Ｓ４）の割り込み要因保持レジスタ６１にアクセスするバストランザクション、すなわち割り込み要因保持レジスタ６１のアドレスに一致するアドレス情報を有するバストランザクションを検出する。比較回路７２は、（Ｓ４）のバストランザクションの発生を検出すると、タイマー７３から時刻を取得し、取得した時刻をＣＰＵ２が割り込み処理を開始した処理開始タイミングとして、結果読み出し用レジスタ７４に記憶されたイベント情報の第１レジスタアクセス時刻欄８３にタイムスタンプする。また、比較回路７２は、（Ｓ５）のバストランザクションにより割り込み要因を取得し、取得した割り込み要因を結果読み出し用レジスタ７４に記憶されたイベント情報の割り込み要因欄８１に記録する。
【００２２】
次に、ＣＰＵ２は、取得した割り込み要因の処理を実行し、当該処理が終了すると、割り込み要因保持レジスタ６１に割り込み要因をクリアするためのアクセスを行う（Ｓ６）。比較回路７２は、（Ｓ６）の割り込み要因保持レジスタ６１にアクセスするバストランザクション、すなわち割り込み要因保持レジスタ６１のアドレスに一致するアドレス情報を有するバストランザクションを検出する。比較回路７２は、（Ｓ６）のバストランザクションの発生を検出すると、タイマー７３から時刻を取得し、取得した時刻をＣＰＵ２が割り込み処理を終了した処理終了タイミングとして、結果読み出し用レジスタ７４に記憶されたイベント情報の第２レジスタアクセス時刻欄８４にタイムスタンプする。
【００２３】
以上の割り込み処理に伴う一連の動作により、割り込み要因欄８１に（Ｓ５）のバストランザクションで取得された割り込み要因が記入され、ベクタアクセス時刻欄８２に（Ｓ２）のバストランザクションの時刻がタイムスタンプされ、第１レジスタアクセス時刻欄８３に（Ｓ４）のバストランザクションの時刻がタイムスタンプされ、さらに第２レジスタアクセス時刻欄８４に（Ｓ６）のバストランザクションの時刻がタイムスタンプされた１つのイベント情報が生成される。このようにして、割り込み処理が行われる毎に、１つのイベント情報が生成され、ログ情報として結果読み出し用レジスタ７４に記憶されていく。
【００２４】
結果読み出し用レジスタ７４にログ情報として記憶されたイベント情報を、図示しない外部端子やプログラムにより半導体集積回路１外に読み出して解析することで、割り込み処理に要する時間を検証することができ、ＣＰＵ２の動作状況を知ることが可能となる。
【００２５】
なお、本実施の形態では、割り込み処理に伴うバストランザクションが発生した３つの時刻（割り込み認識タイミング、処理開始タイミング及び処理終了タイミング）をイベント情報として記録するように構成したが、割り込み認識タイミング、処理開始タイミング及び処理終了タイミングの内のいずれか２つをイベント情報として記憶するように構成しても一定の効果を得ることができる。
【００２６】
なお、本実施の形態では、割り込み処理に伴うバストランザクションが発生した複数の時刻をイベント情報として記録するように構成したが、各時刻間の時間が応答時間として重要であり、時刻自体の情報は必ずしも必要としない。従って、図２（ｂ）に示すように、割り込み認識タイミングである（Ｓ２）の割り込みベクタにアクセスするバストランザクション（時刻Ｂ）から、処理開始タイミングである（Ｓ４）の割り込み要因保持レジスタ６１にアクセスするバストランザクション（時刻Ｃ）までの応答時間Ｘを第１応答時間として記録する第１応答時間欄８５と、割り込み認識タイミングである（Ｓ２）の割り込みベクタにアクセスするバストランザクション（時刻Ｂ）から、処理終了タイミングである（Ｓ６）の割り込み要因保持レジスタ６１にアクセスするバストランザクション（時刻Ｄ）までの応答時間Ｙを第２応答時間として記録する第２応答時間欄８６とを備えたイベント情報を生成するようにしても良い。
【００２７】
以上説明したように、本実施の形態によれば、比較回路７２は、割り込み処理に関連するＣＰＵ２のバストランザクションを検出することで、割り込み処理に要する時間と割り込み要因とを記録したイベント情報を生成し、生成したイベント情報をログ情報として結果読み出しレジスタ７４に記憶させる。これにより、ソフトウェアに依存することなく、ＣＰＵのバストランザクションレベルでの動作状態を把握することで、内属されたＣＰＵの実際の動作率を詳細なレベルでイベント情報として記録することができる。この結果読み出しレジスタ７４にログ情報として記憶されたイベント情報を読み出して、次回の半導体集積回路の開発に展開することで、オーバースペックにならない必要十分なＣＰＵを選定することが可能になると
【００２８】
さらに、本実施の形態によれば、比較回路７２は、割り込み要因を取得するための割り込み要因保持レジスタ６１へのアクセスと、割り込み要因をクリアするための割り込み要因保持レジスタ６１へのアクセスと、割り込みベクタへのアクセスとをバストランザクションとして検出するように構成されている。これにより、割り込みベクタへのアクセス、割り込みコントローラー６（割り込み要因保持レジスタ６１）へのアクセスといった、内部バスアクセスレベルでＣＰＵ２の動作状況を記録することができる。
【００２９】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。
【符号の説明】
【００３０】
１  半導体集積回路
２  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
６  割り込みコントローラー
７  動作率測定回路
８  バス
１０  割り込み信号線
５１、５２〜５ｎ  モジュール
６１  割り込み要因保持レジスタ
７１  アドレス情報格納レジスタ
７２  比較回路
７３  タイマー
７４  結果読み出し用レジスタ
８１  割り込み要因欄
８２  ベクタアクセス時刻欄
８３  第１レジスタアクセス時刻欄
８４  第２レジスタアクセス時刻欄
８５  第１応答時間欄
８６  第２応答時間欄
９１、９２〜９ｎ  割り込み信号線
【図１】
0005710543.tif 000002
【図２】
0005710543.tif 000003
【図３】
0005710543.tif 000004