(57)【特許請求の範囲】
【請求項１】
第１の演算器から第２の演算器へ命令が実行されていない場合、一定の周期でインクリメントし、前記第１の演算器から前記第２の演算器へ命令が実行されると内容がリセットされるカウンタと、このカウンタの出力の一部のビット列をセレクト指示回路からの指示信号により選択し出力する第１のセレクタと、この第１のセレクタの出力の全ビットが１であることを検出すると制御信号をオン状態に保持し出力するＡＬＬ１検出回路と、前記制御信号がオン状態でなければ前記第１のセレクタの出力の値を選択し、前記制御信号がオン状態であれば全てのビットが１であるビット列の値を選択し出力する第２のセレクタとを備え、前記第１の演算器から前記第２の演算器へ命令が実行されたときに、前記第２のセレクタで選択されていた値がメモリに書き込まれ、前記制御信号の状態がオフ状態にリセットされることを特徴とするトレーサ装置。
【請求項２】
前記第１の演算器から前記第２の演算器へ命令が実行されたときに、前記実行された命令も前記メモリに書き込まれ、前記第２のセレクタで選択されていた値は前記メモリの待ち時間部分に書き込まれることを特徴とする請求項１記載のトレーサ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はトレーサ装置に関し、特に命令間の時間関係に不具合が発生していることを知ることができるトレーサ装置に関する。
【０００２】
【従来の技術】
従来、この種のトレーサ装置は、イベントトレースで命令を書き込む為、命令間の時間関係がわからず、命令間のタイミング不正などの解析には向いていない。
【０００３】
命令待ち時間カウンタの値を直接トレーサメモリに書き込む方式は、トレーサメモリのビット幅をカウンタ分だけ拡張しなければならず、ハードウェアが増大する。また次命令が実行されなければ常にカウンタは、＋１インクリメントされるため、ＡＬＬ１となっても次クロックで“０”となってしまう。命令実行待ち時間が長くなると、カウンタ値が何周もまわり、オーバーフローしているにも関わらず、トレーサメモリには書き込まれたカウンタ値が待ち時間と判断されるため、誤差が非常に大きくなり、命令間に於ける時間関係の不正動作の解析が困難となる。
【０００４】
【発明が解決しようとする課題】
この従来のトレーサ装置の第１の問題点は、命令待ち時間カウンタの値を直接トレーサメモリに書き込む、ということである。その理由は、トレーサメモリのビット幅をカウンタ分だけ拡張しなければならず、ハードウェアが増大することにある。
【０００５】
第２の問題点は、命令待ち時間カウンタは、次命令が実行されなければ常に、＋１インクリメントされることである。その理由は、命令待ち時間カウンタがＡＬＬ１となっても次クロックで“０”となってしまう為、命令実行待ち時間が長くなると、カウンタ値が何周もまわり、トレーサメモリには書き込まれたカウンタ値だけではオーバーフローしていたかがわからないことにある。
【０００６】
本発明の目的は、命令間の時間関係に不具合が発生していることを知ることができるトレーサ装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明のトレーサ装置は、第１の演算器から第２の演算器へ命令が実行されると内容がリセットされるカウンタと、このカウンタの出力をセレクト指示回路により選択する第１のセレクタと、この第１のセレクタの出力がＡＬＬ１であることを検出するＡＬＬ１検出回路と、このＡＬＬ１検出回路により前記第１のセレクタの出力かＡＬＬ１を選択する第２のセレクタとを備える。
【０００８】
また、本発明のトレーサ装置は、前記カウンタは前記第１の演算器から前記第２の演算器へ命令が実行されていない場合、＋１インクリメントすることを特徴とする。
【０００９】
さらに、本発明のトレーサ装置は、前記第１のセレクタは前記セレクト指示回路により前記カウンタの出力を特定のビット群に選択できることを特徴とする。
【００１０】
さらに、本発明のトレーサ装置は、前記ＡＬＬ１検出回路は前記第１のセレクタの出力がＡＬＬ１となったことを検出する回路で、検出したことを保持することを特徴とする。
【００１１】
さらに、本発明のトレーサ装置は、前記ＡＬＬ１検出回路がＡＬＬ１を検出したことは、次に前記第１の演算器から前記第２の演算器へ命令が実行された時にリセットされることを特徴とする。
【００１２】
さらに、本発明のトレーサ装置は、前記第２のセレクタは前記ＡＬＬ１検出回路がＡＬＬ１を検出しているとＡＬＬ１を選択し、ＡＬＬ１を検出していなければ前記第１のセレクタの値を選択し、出力することを特徴とする。
【００１３】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１４】
本発明の一実施の形態をブロックで示す図１を参照すると、この実施の形態のトレーサ装置において、カウンタ１０１は、第１の演算器１００から第２の演算器２００へ命令が実行されると内容がリセットされるカウンタである。通常はクロック毎に＋１インクリメントしている。従って、カウンタ値は現命令実行から次命令実行までの待ち時間を示す。
【００１５】
第１のセレクタ１０２は、カウンタ１０１の出力を選択するセレクタである。セレクト指示回路１０５の指示信号によりカウンタ１０１の特定のビット群を選択し出力する。
【００１６】
第２のセレクタ１０３は、第１のセレクタ１０２の出力か、ＡＬＬ１を出力するセレクタである。ＡＬＬ１検出回路１０４の出力信号により第２のセレクタ１０３の出力データが選択される。通常、第２のセレクタ１０３は第１のセレクタ１０２出力を選択している。
【００１７】
ＡＬＬ１検出回路１０４は、第１のセレクタ１０２の出力が１回でもＡＬＬ１を出力すると第２のセレクタ１０３に対し、ＡＬＬ１を選択する制御信号をＯＮ状態にする。第１のセレクタ１０２がＡＬＬ１を出力したということは、第１のセレクタ１０２が選択したカウンタ１０１のビット群がオーバーフローしたことを示している。再度、第１の演算器１００から第２の演算器２００へ命令が送出されるとＡＬＬ１検出回路１０４は、第２のセレクタ１０３に対して、ＡＬＬ１を選択していた制御信号をＯＦＦ状態にする。
【００１８】
セレクト指示回路１０５はカウンタ１０１の特定のビット群を選択する制御信号を送出する回路である。
【００１９】
トレーサメモリ１０６は、第１の演算器１００から第２の演算器２００へ命令が送出されると、送出された命令・データ・次命令待ち時間が書き込まれるメモリである。送出された命令・データ・次命令待ち時間は複数命令分、その履歴を保持できる構成となっている。
【００２０】
次に、図１を参照して、この実施の形態の動作説明を行う。
【００２１】
セレクト指示回路１０５により選択されたカウンタ１０１の特定ビット群を第１のセレクタ１０２は出力している。第１の演算器１００から第２の演算器２００へ命令が実行されると、トレーサメモリ１０６には第１の演算器１００から第２の演算器２００へ実行された命令・データ・次命令待ち時間値が書き込まれる。カウンタ１０１は第１の演算器１００から第２の演算器２００へ命令が実行されたことでリセットされ、次のクロックで“０”となり、次次のクロックから＋１インクリメントされる。次の命令が第１の演算器１００から第２の演算器２００へ実行されないと、第１のセレクタ１０２が選択したカウンタ１０１の出力がいずれＡＬＬ１となり、オーバーフローとなる。ＡＬＬ１検出回路１０４は第１のセレクタ１０２の出力がＡＬＬ１となったことを検出し、第２のセレクタ１０３に対しＡＬＬ１を選択し出力する信号を送出する。
【００２２】
次の命令が第１の演算器１００から第２の演算器２００へ実行されたとき、ＡＬＬ１検出回路１０４がＡＬＬ１を検出していると、トレーサメモリ１０６の待ち時間部分にはＡＬＬ１が書き込まれ、命令間の待ち時間はカウンタ１０１が示す範囲の待ち時間を越えたことがわかる。またトレーサメモリ１０６の待ち時間部分がＡＬＬ１になっていなければ、命令間の待ち時間はカウンタ１０１が示す待ち時間であったことがわかる。
【００２３】
以上説明したように、本発明によれば、実行待ち時間をカウントする複数ビットのカウンタ出力を特定のビット群に選択できる機能を有することで、トレーサメモリのビット幅拡張はカウンタ以下となり、比較的少量のハードウエアで、おおよその命令間の実行待ち時間の関係がわかる。また選択したカウンタの値がＡＬＬ１を検出した場合、トレーサメモリに対し、カウンタ値ではなく、ＡＬＬ１を書き込む機能も有しているので、カウンタ値がオーバーフローしたことがわかる。これらの機能により命令間の時間関係に不具合が発生していることを知ることができる。
【００２４】
【発明の効果】
以上説明したように、本発明によれば、トレーサメモリに命令間の待ち時間が登録されることで、命令間のタイミング制御動作矛盾の解析性が向上する。特にオーバーフロー検出時では、対象の命令間で異常な動作が発生していることと推測できる。このような効果が比較的少量のハードウェアで実現できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の構成を示すブロック図である。
【符号の説明】
１００    第１の演算器
１０１    カウンタ
１０２    第１のセレクタ
１０３    第２のセレクタ
１０４    ＡＬＬ１検出回路
１０５    セレクト指示回路
１０６    トレーサメモリ
２００    第２の演算器
【図１】
0004102574.tif 000002