(57)【特許請求の範囲】
【請求項１】
複数の通信装置を備えたデバッグシステムにおいて、ホスト装置と、複数のプロセッサ装置はそれぞれ上記各通信装置であり、上記複数のプロセッサ装置は上記ホスト装置にデイジーチェーン接続され、上記各プロセッサ装置は、デバッグ対象のプログラムを実行するコアプロセッサと、当該コアプロセッサのためのデバッグ回路とを備え、
上記各プロセッサ装置のデバッグ回路は、
上記複数の通信装置のうちの前段の通信装置からコマンドを受信して実行するとともに上記コマンドを中継して上記複数の通信装置のうちの後段の通信装置に送信する一方、上記後段の通信装置から受信した応答に対して所定の処理を行い上記前段の通信装置に送信する通信手段と、
上記コアプロセッサを、上記プログラムを実行するように制御するとともに、上記プログラムの実行をブレークするように制御する制御手段とを備えたデバッグ回路において、
上記制御手段は、上記コアプロセッサが上記プログラムの実行をブレークしていることを検出したとき、ブレーク通知信号を発生して上記通信手段に送信し、
上記通信手段は、上記前段の通信装置から所定の第１のコマンドを受信したとき、上記制御手段から上記ブレーク通知信号を受信したときは、上記受信した第１のコマンドに代えて、上記コアプロセッサによる上記プログラムの実行をブレークさせるための第２のコマンドを上記後段の通信装置に送信する一方、上記ブレーク通知信号を受信しなかったときは、上記受信した第１のコマンドを上記後段の通信装置に送信し、
上記通信手段は、上記前段の通信装置から上記第２のコマンドを受信したとき、上記制御手段を、上記コアプロセッサによる上記プログラムの実行をブレークするように制御することを特徴とするデバッグ回路。
【請求項２】
上記第１のコマンドは、上記プログラムを実行している実行状態、又は上記プログラムの実行をブレークしているブレーク状態である、上記複数のプロセッサ装置の各コアプロセッサのステータスを要求するステータス要求コマンドであり、
上記通信手段は、上記前段の通信装置から上記ステータス要求コマンドを受信したとき、上記コアプロセッサのステータスを含む応答を、上記前段の通信装置に送信することを特徴とする請求項１記載のデバッグ回路。
【請求項３】
上記通信手段は、上記後段の通信装置から、後段の各通信装置のコアプロセッサの各ステータスを含む、上記ステータス要求コマンドに対する応答を受信し、当該受信した応答に基づいて、上記後段の各通信装置のコアプロセッサのうち少なくとも１つのコアプロセッサのステータスがブレーク状態であることを検出したとき、ブレーク要求信号を発生して上記制御手段に送信し、
上記制御手段は、上記ブレーク要求信号に応答して、上記コアプロセッサを、上記プログラムの実行をブレークするように制御し、
上記通信手段は、上記ステータス要求コマンドに対する、上記後段の通信装置から受信した応答に、上記コアプロセッサのステータスを挿入して上記前段の通信装置に送信することを特徴とする請求項２記載のデバッグ回路。
【請求項４】
上記制御手段は、上記コアプロセッサが上記プログラムの実行をブレークしていることを検出したとき、上記第２のコマンドを上記後段の通信装置に送信することを指示する指示信号を上記通信手段に送信し、
上記通信手段は、上記指示信号に応答して、上記ステータス要求コマンドを受信することなく、上記第２のコマンドを上記後段の通信装置に送信することを特徴とする請求項３記載のデバッグ回路。
【請求項５】
上記第２のコマンドは、上記複数のプロセッサ装置の各コアプロセッサの各ステータスを要求しかつ上記コアプロセッサによる上記プログラムの実行をブレークさせるためのブレーク及びステータス要求コマンドであり、
上記通信手段は、上記前段の通信装置から上記第２のコマンドを受信したとき、上記制御手段を、上記コアプロセッサによる上記プログラムの実行をブレークするように制御するとともに、上記コアプロセッサのステータスを含む応答を、上記前段の通信装置に送信し、
上記通信手段は、上記後段の通信装置から、後段の各通信装置のコアプロセッサの各ステータスを含む、上記ブレーク及びステータス要求コマンドに対する応答を受信し、当該受信した応答に基づいて、上記後段の各通信装置のコアプロセッサのうち少なくとも１つのコアプロセッサのステータスがブレーク状態であることを検出したとき、上記ブレーク要求信号を発生して上記制御手段に送信し、
上記通信手段は、上記ブレーク及びステータス要求コマンドに対する、上記後段の通信装置から受信した応答に、上記コアプロセッサのステータスを挿入して上記前段の通信装置に送信することを特徴とする請求項４記載のデバッグ回路。
【請求項６】
上記通信手段は、上記第２のコマンドを上記後段の通信装置に送信すると同時に、上記コアプロセッサが上記プログラムの実行をブレークしていることを示す応答を、上記前段の通信装置に送信することを特徴とする請求項１乃至５のうちのいずれか１つに記載のデバッグ回路。
【請求項７】
上記各コマンドはシリアルデータ信号であって、
上記通信手段は、
上記前段の通信装置からコマンドを受信中に、当該コマンドの先頭部分のデータに基づいて当該コマンドが上記第１のコマンドであるか否かを判断し、
上記第１のコマンドの末尾のデータを変更することにより上記第２のコマンドを発生して、上記後段の通信装置に出力することを特徴とする請求項１乃至６のうちのいずれか１つに記載のデバッグ回路。
【請求項８】
上記各応答はシリアルデータ信号であって、
上記通信手段は、上記後段の通信装置から応答を受信中に、当該応答の所定のビット位置のデータを変更することにより、上記コアプロセッサのステータスを含む応答を上記前段の通信装置に送信することを特徴とする請求項１乃至７のうちのいずれか１つに記載のデバッグ回路。
【請求項９】
請求項１乃至８のうちのいずれか１つに記載のデバッグ回路と、
上記コアプロセッサとを備えたことを特徴とするプロセッサ装置。
【請求項１０】
ホスト装置と、
上記ホスト装置にデイジーチェーン接続された請求項９記載の複数の上記プロセッサ装置とを備えたことを特徴とするデバッグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コピー機などの画像処理装置に用いられる画像処理プロセッサ装置などのプロセッサ装置のためのデバッグ回路、当該デバッグ回路を備えたプロセッサ装置、及び複数のプロセッサ装置をインサーキットエミュレータ（In-Circuit Emulator：以下、ＩＣＥという。）などのホスト装置にデイジーチェーン接続してなるデバッグシステムに関する。
【背景技術】
【０００２】
近年、電子機器では、システムの制御及びデータ処理を、プログラムを実行することにより行うマイクロプロセッサ及びＤＳＰ（Digital Signal Processor）などが多用されており、プログラムの品質が製品の品質を左右する。このため、プログラムのデバッグは非常に重要になっている。また、プロセッサの動作速度は高速になって来ているが、さらなる高速処理が要求されるため、１個のプロセッサ装置に複数のＣＰＵ（Central Processing Unit）を搭載したマルチコアを用いたり、複数のプロセッサ装置を用いたりすることにより、処理能力の向上が図られている。
【０００３】
従来、複数のプロセッサ装置を用いる場合には、各プロセッサ装置にインサーキットエミュレータ（In-Circuit Emulator：以下、ＩＣＥという。）を接続してデバッグを行うのが一般的であったが、デバッグシステムが大掛かりになり、同時に複数のＩＣＥを操作しなければならないためにデバッグ効率が非常に悪かった。このため、ボード上のデバッグ用配線パターンを簡略化し、１台のＩＣＥで複数のプロセッサ装置を高速通信により制御するために、ＩＣＥに対して複数のプロセッサ装置をデイジーチェーン接続してなるデバッグシステムが提案されている（特許文献１〜５参照。）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、プログラムを効率的にデバッグするために、実行中のプログラムを一時停止（ブレーク）するためのブレークポイントが用いられる。複数のコアプロセッサを搭載したシステムでは、いずれかのコアプロセッサによるプログラムの実行がブレーク（一時停止）したときに、他の全てコアプロセッサによるプログラムの実行をブレークさせなければならないことがあるが、コアプロセッサをそれぞれ備えたプロセッサ装置がＩＣＥにデイジーチェーン接続されている場合、以下の課題が生じた。この場合、プロセッサ装置間は通信ラインのみで接続されており、各プロセッサ装置のコアプロセッサが互いに連係して動作する機構がなく、最上流のプロセッサ装置に接続されたＩＣＥは、対象となるプロセッサ装置を指定してコマンドを実行させたり、コアプロセッサのステータス（ブレーク状態又は実行状態）を要求したりする。このため、いずれか１つのプロセッサ装置のコアプロセッサがプログラムの実行をブレークしたときに他のプロセッサ装置のコアプロセッサによるプログラムの実行をブレークさせるためには、プロセッサ装置毎にコアプロセッサのステータスを問い合わせた後に、プロセッサ装置毎に、コアプロセッサによるプログラムの実行をブレークさせる必要があるので、ＩＣＥと各プロセッサ装置との間で複数回の通信を行う必要があり、効率的にデバッグを行うことができなかった。
【０００５】
本発明の目的は以上の問題点を解決し、複数のプロセッサ装置をホスト装置にデイジーチェーン接続してなるデバッグシステムにおいて、従来技術に比較して効率的なデバッグ環境を提供できる、プロセッサ装置のためのデバッグ回路、当該デバッグ回路を備えたプロセッサ装置、及びデバッグシステムを提供することにある。
【課題を解決するための手段】
【０００６】
第１の発明に係るデバッグ回路は、
複数の通信装置を備えたデバッグシステムにおいて、ホスト装置と、複数のプロセッサ装置はそれぞれ上記各通信装置であり、上記複数のプロセッサ装置は上記ホスト装置にデイジーチェーン接続され、上記各プロセッサ装置は、デバッグ対象のプログラムを実行するコアプロセッサと、当該コアプロセッサのためのデバッグ回路とを備え、
上記各プロセッサ装置のデバッグ回路は、
上記複数の通信装置のうちの前段の通信装置からコマンドを受信して実行するとともに上記コマンドを中継して上記複数の通信装置のうちの後段の通信装置に送信する一方、上記後段の通信装置から受信した応答に対して所定の処理を行い上記前段の通信装置に送信する通信手段と、
上記コアプロセッサを、上記プログラムを実行するように制御するとともに、上記プログラムの実行をブレークするように制御する制御手段とを備えたデバッグ回路において、
上記制御手段は、上記コアプロセッサが上記プログラムの実行をブレークしていることを検出したとき、ブレーク通知信号を発生して上記通信手段に送信し、
上記通信手段は、上記前段の通信装置から所定の第１のコマンドを受信したとき、上記制御手段から上記ブレーク通知信号を受信したときは、上記受信した第１のコマンドに代えて、上記コアプロセッサによる上記プログラムの実行をブレークさせるための第２のコマンドを上記後段の通信装置に送信する一方、上記ブレーク通知信号を受信しなかったときは、上記受信した第１のコマンドを上記後段の通信装置に送信し、
上記通信手段は、上記前段の通信装置から上記第２のコマンドを受信したとき、上記制御手段を、上記コアプロセッサによる上記プログラムの実行をブレークするように制御することを特徴とする。
【０００７】
上記デバッグ回路において、
上記第１のコマンドは、上記プログラムを実行している実行状態、又は上記プログラムの実行をブレークしているブレーク状態である、上記複数のプロセッサ装置の各コアプロセッサのステータスを要求するステータス要求コマンドであり、
上記通信手段は、上記前段の通信装置から上記ステータス要求コマンドを受信したとき、上記コアプロセッサのステータスを含む応答を、上記前段の通信装置に送信することを特徴とする。
【０００８】
また、上記デバッグ回路において、
上記通信手段は、上記後段の通信装置から、後段の各通信装置のコアプロセッサの各ステータスを含む、上記ステータス要求コマンドに対する応答を受信し、当該受信した応答に基づいて、上記後段の各通信装置のコアプロセッサのうち少なくとも１つのコアプロセッサのステータスがブレーク状態であることを検出したとき、ブレーク要求信号を発生して上記制御手段に送信し、
上記制御手段は、上記ブレーク要求信号に応答して、上記コアプロセッサを、上記プログラムの実行をブレークするように制御し、
上記通信手段は、上記ステータス要求コマンドに対する、上記後段の通信装置から受信した応答に、上記コアプロセッサのステータスを挿入して上記前段の通信装置に送信することを特徴とする。
【０００９】
さらに、上記デバッグ回路において、
上記制御手段は、上記コアプロセッサが上記プログラムの実行をブレークしていることを検出したとき、上記第２のコマンドを上記後段の通信装置に送信することを指示する指示信号を上記通信手段に送信し、
上記通信手段は、上記指示信号に応答して、上記ステータス要求コマンドを受信することなく、上記第２のコマンドを上記後段の通信装置に送信することを特徴とする。
【００１０】
またさらに、上記デバッグ回路において、
上記第２のコマンドは、上記複数のプロセッサ装置の各コアプロセッサの各ステータスを要求しかつ上記コアプロセッサによる上記プログラムの実行をブレークさせるためのブレーク及びステータス要求コマンドであり、
上記通信手段は、上記前段の通信装置から上記第２のコマンドを受信したとき、上記制御手段を、上記コアプロセッサによる上記プログラムの実行をブレークするように制御するとともに、上記コアプロセッサのステータスを含む応答を、上記前段の通信装置に送信し、
上記通信手段は、上記後段の通信装置から、後段の各通信装置のコアプロセッサの各ステータスを含む、上記ブレーク及びステータス要求コマンドに対する応答を受信し、当該受信した応答に基づいて、上記後段の各通信装置のコアプロセッサのうち少なくとも１つのコアプロセッサのステータスがブレーク状態であることを検出したとき、上記ブレーク要求信号を発生して上記制御手段に送信し、
上記通信手段は、上記ブレーク及びステータス要求コマンドに対する、上記後段の通信装置から受信した応答に、上記コアプロセッサのステータスを挿入して上記前段の通信装置に送信することを特徴とする。
【００１１】
また、上記通信手段は、上記第２のコマンドを上記後段の通信装置に送信すると同時に、上記コアプロセッサが上記プログラムの実行をブレークしていることを示す応答を、上記前段の通信装置に送信することを特徴とする。
【００１２】
さらに、上記デバッグ回路において、
上記各コマンドはシリアルデータ信号であって、
上記通信手段は、
上記前段の通信装置からコマンドを受信中に、当該コマンドの先頭部分のデータに基づいて当該コマンドが上記第１のコマンドであるか否かを判断し、
上記第１のコマンドの末尾のデータを変更することにより上記第２のコマンドを発生して、上記後段の通信装置に出力することを特徴とする。
【００１３】
またさらに、上記デバッグ回路において、
上記各応答はシリアルデータ信号であって、
上記通信手段は、上記後段の通信装置から応答を受信中に、当該応答の所定のビット位置のデータを変更することにより、上記コアプロセッサのステータスを含む応答を上記前段の通信装置に送信することを特徴とする。
【００１４】
第２の発明に係るプロセッサ装置は、上記デバッグ回路と、上記コアプロセッサとを備えたことを特徴とする。
【００１５】
第３の発明に係るデバッグシステムは、ホスト装置と、上記ホスト装置にデイジーチェーン接続された複数の上記プロセッサ装置とを備えたことを特徴とする。
【発明の効果】
【００１６】
本発明に係るデバッグ回路、プロセッサ装置及びデバッグシステムによれば、制御手段は、コアプロセッサがプログラムの実行をブレークしていることを検出したとき、ブレーク通知信号を発生して通信手段に送信する。通信手段は、前段の通信装置から所定の第１のコマンドを受信したとき、制御手段からブレーク通知信号を受信したときは、受信した第１のコマンドに代えて、コアプロセッサによるプログラムの実行をブレークさせるための第２のコマンドを後段の通信装置に送信する一方、ブレーク通知信号を受信しなかったときは、受信した第１のコマンドを後段の通信装置に送信する。さらに、通信手段は、前段の通信装置から第２のコマンドを受信したとき、制御手段を、コアプロセッサによるプログラムの実行をブレークするように制御する。従って、ブレーク状態にあるコアプロセッサを備えたプロセッサ装置よりも後段のプロセッサ装置を、ホスト装置からブレークコマンドを出力することなく、従来技術に比較して短時間でブレーク状態にできるので、従来技術に比較して効率的なデバッグ環境を提供できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係るデバッグシステムの構成を示すブロック図である。
【図２】図１のデバッグシステムの信号線ＴＸ０〜ＴＸＮを介して伝送されるコマンド信号及び信号線ＲＸ０〜ＲＸＮを介して伝送される応答信号の伝送タイミングを示すタイミングチャートである。
【図３】図１のプロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）の構成を示すブロック図である。
【図４】図３のＩＤ管理部１１７の構成を示すブロック図である。
【図５】図３のコマンド制御部１１８の構成を示すブロック図である。
【図６】図３の応答制御部１１６の構成を示すブロック図である。
【図７】図５のコマンド変更部１１８３によって実行されるコマンド変更処理を示すフローチャートである。
【図８】図１のプロセッサ装置１−１のコアプロセッサ１３のステータスが実行状態であり、プロセッサ装置１−２のコアプロセッサ１３のステータスがブレーク状態であるときに伝送されるステータス要求コマンドと、ブレーク及びステータス要求コマンドとを示すブロック図である。
【図９】本発明の第２の実施形態に係るプロセッサ装置１Ａ−ｎの構成を示すブロック図である。
【図１０】図９の応答制御部１１６Ａの構成を示すブロック図である。
【図１１】図９のプロセッサ装置１Ａ−Ｎの各コアプロセッサ１３のステータスのみがブレーク状態であり、他のプロセッサ装置１Ａ−１〜１Ａ−Ｎ−１のコアプロセッサ１３のステータスが実行状態であるときに、プロセッサ装置１Ａ−１の通信部１１Ａにより発生されるブレーク要求信号を示すブロック図である。
【図１２】本発明の第３の実施形態に係るプロセッサ装置１Ｂ−ｎの構成を示すブロック図である。
【図１３】図１２のコマンド制御部１１８Ａの構成を示すブロック図である。
【図１４】図１２のプロセッサ装置１Ｂ−２のコアプロセッサ１３がブレークを開始したときに発生されるブレーク及びステータス要求コマンド発行指示信号と、伝送されるブレーク及びステータス要求コマンドと、ブレーク及びステータス要求コマンドに対する応答を示すブロック図である。
【図１５】本発明の第４の実施形態に係るプロセッサ装置１Ｃ−ｎの構成を示すブロック図である。
【図１６】図１５の応答制御部１１６Ｂの構成を示すブロック図である。
【図１７】図１６の応答遅延出力管理部１１６２Ａによって実行される応答遅延出力管理処理を示すフローチャートである。
【図１８】図１５のプロセッサ装置１Ｃ−Ｎのコアプロセッサの状態がブレーク状態であるときに伝送される応答と、プロセッサ装置１Ｃ−２において発生されるブレーク要求信号及びブレーク指示信号とを示すブロック図である。
【図１９】本発明の第５の実施形態に係るコマンド制御部１１８Ｂの構成を示すブロック図である。
【図２０】信号線ＴＸ１を介して図１９のコマンド制御部１１８Ｂが受信したコマンド信号と、当該コマンド信号に含まれるコマンドをコマンド制御部１１８Ｂが変更しない場合に、コマンド制御部１１８Ｂが信号線ＴＸ２を介して出力するコマンド信号とを示すタイミングチャートである。
【図２１】信号線ＴＸ１を介して図１９のコマンド制御部１１８Ｂが受信したコマンド信号と、当該コマンド信号に含まれるステータス要求コマンドを図１９のコマンド制御部１１８Ｂがブレーク及びステータス要求コマンドに変更する場合にコマンド制御部１１８Ｂが信号線ＴＸ２を介して出力するコマンド信号とを示すタイミングチャートである。
【図２２】本発明の第６の実施形態に係る応答制御部１１６Ｃの構成を示すブロック図である。
【図２３】信号線ＲＸ２を介して図２２の応答中継部１１６１Ａが受信した応答信号と、当該応答信号に含まれるステータスデータＤ８を図２２の応答中継部１１６１Ａが書き換えた場合に応答制御部１１６Ｃが信号線ＲＸ１を介して出力する応答信号とを示すタイミングチャートである。
【図２４】本発明の第６の実施形態において、信号線ＴＸ０〜ＴＸＮを介して伝送されるコマンド信号及び信号線ＲＸ０〜ＲＸＮを介して伝送される応答信号の伝送タイミングを示すタイミングチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００１９】
第１の実施形態．
図１は、本発明の第１の実施形態に係るデバッグシステムの構成を示すブロック図である。図１のデバッグシステムは、ホスト装置であるＩＣＥ１０と、ＩＣＥ１０にデイジーチェーン接続された複数Ｎ個のプロセッサ装置１−１，１−２，…，１−Ｎとを備えて構成される。ここで、プロセッサ装置１−１〜１−Ｎの個数Ｎの最大値は７に設定されている。各プロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）は、デバッグ回路１４と、入力端子Ｔｉ１及びＴｉ２と、出力端子Ｔｏ１及びＴｏ２とを備えて構成される。また、各プロセッサ装置１−１〜１−Ｎにおいて、デバッグ回路１４は、通信部１１と制御部１２とを備え、コアプロセッサ１３によって実行されるデバッグ対象のプログラムをデバッグするために用いられる。プロセッサ装置１−１の通信部１１には、入力端子Ｔｉ１及び信号線ＴＸ０と、出力端子Ｔｏ１及び信号線ＲＸ０とを介してＩＣＥ１０のコマンド発行部１０ｃが接続される一方、プロセッサ装置１−Ｎの通信部１１には、入力端子Ｔｉ２及び信号線ＲＸＮ＋1と、出力端子Ｔｏ２及び信号線ＴＸＮ＋１とを介して終端器２が接続される。また、その他のプロセッサ装置１−ｎ（ｎ＝２，３，…，Ｎ−１）の通信部１１は、入力端子Ｔｉ１及び信号線ＴＸｎ−１と、出力端子Ｔｏ１及び信号線ＲＸｎ−１とを介して前段のプロセッサ装置１−ｎ−１の通信部１１に接続される一方、入力端子Ｔｉ２及び信号線ＲＸｎと、出力端子Ｔｏ２及び信号線ＴＸｎを介して後段のプロセッサ装置１−ｎ＋１の通信部１１に接続される。以下、図１のデバッグシステムにおいて、ＩＣＥ１０側を上流といい、終端器２側を下流という。また、ＩＣＥ１０及びプロセッサ装置１−１〜１−Ｎは、それぞれ通信装置である。
【００２０】
図２は、図１のデバッグシステムの信号線ＴＸ０〜ＴＸＮを介して伝送されるコマンド信号及び信号線ＲＸ０〜ＲＸＮを介して伝送される応答信号の伝送タイミングを示すタイミングチャートである。図１及び図２において、各プロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）は、コマンドを含むコマンド信号を、前段のプロセッサ装置１−ｎ−１又はＩＣＥ１０のコマンド発行部１０ｃから入力端子Ｔｉ１及び信号線ＴＸｎ−１を介して受信し、コマンドの実行などの所定の処理を行った後に、出力端子Ｔｏ２及び信号線ＴＸｎを介して後段のプロセッサ装置１−ｎ＋１又は終端器２に送信する。さらに、各プロセッサ装置１−ｎは、コマンドに対する応答を含む応答信号を、後段のプロセッサ装置１−ｎ＋１から信号線ＲＸｎ及び入力端子Ｔｉ２を介して受信し、所定の処理を行った後に、出力端子Ｔｏ１及び信号線ＲＸｎ−１を介して前段のプロセッサ装置１−ｎ−１又はＩＣＥ１０のコマンド発行部１０ｃに送信する。図２に示すように、コマンド信号及び応答信号は、各プロセッサ装置１−ｎにおいて遅延されて伝送される。以下、コマンドを含むコマンド信号をコマンドともいい、応答を含む応答信号を応答ともいう。
【００２１】
図１において、ＩＣＥ１０のコマンド発行部１０ｃは、以下の各コマンドを発生し、当該コマンドを含むコマンド信号を、信号線ＴＸ０を介してプロセッサ装置１−１の通信部１１に出力する。
【００２２】
（１）次に送信するコマンドを実行させる１つ又は全てのプロセッサ装置１−１〜１−ＮのＩＤ（以下、対象ＩＤという。）を含む対象ＩＤ設定コマンド。
（２）各プロセッサ装置１−１〜１−Ｎに対して固有のＩＤを割り当てるＩＤ設定コマンド。コマンド発行部１０ｃは、全てのプロセッサ装置１−１〜１−Ｎを表すＩＤを対象ＩＤとして含む対象ＩＤ設定コマンドに続いて、０をＩＤとして含むＩＤ設定コマンドを出力する。全てのプロセッサ装置１−１〜１−Ｎを表す対象ＩＤは、０である。詳細後述するように、コマンド発行部１０ｃがＩＤ設定コマンドをプロセッサ装置１−１に出力すると、プロセッサ装置１−１，１−２，…，１−Ｎに対して、１，２，…，Ｎの値をそれぞれ有するＩＤが割り当てられる。
（３）全てのプロセッサ装置１−１〜１−Ｎの各コアプロセッサ１３又は所定のプロセッサ装置１−ｎのコアプロセッサ１３のステータス（ブレーク状態又は実行状態）を要求するステータス要求コマンド。例えば、全てのプロセッサ装置１−１〜１−Ｎの各コアプロセッサ１３のステータスを要求する場合、コマンド発行部１０ｃは、全てのプロセッサ装置１−１〜１−Ｎを表すＩＤを対象ＩＤとして含む対象ＩＤ設定コマンドに続いて、ステータス要求コマンドを出力する。また、所定のプロセッサ装置１−ｎのコアプロセッサ１３のステータスを要求する場合、コマンド発行部１０ｃは、プロセッサ装置１−ｎのＩＤを対象ＩＤとして含む対象ＩＤ設定コマンドに続いて、ステータス要求コマンドを出力する。
（４）プロセッサ装置１−１〜１−Ｎのうちの所定のプロセッサ装置１−ｎのコアプロセッサ１３において、メモリ１３１（図３参照。）に格納されたプログラムを実行させるためのプログラム実行コマンド。例えば、所定のプロセッサ装置１−ｎに対してメモリ１３１に格納されたプログラムを実行させる場合、コマンド発行部１０ｃは、プロセッサ装置１−ｎのＩＤ（ｎである。）を対象ＩＤとして含む対象ＩＤ設定コマンドに続いて、プログラム実行コマンドを出力する。
（５）全てのプロセッサ装置１−１〜１−Ｎの各コアプロセッサ１３又は所定のプロセッサ装置１−ｎのコアプロセッサ１３によるプログラムの実行をブレークさせるためのブレークコマンド。例えば、全てのプロセッサ装置１−１〜１−Ｎのコアプロセッサ１３によるプログラムの実行をブレークさせるとき、コマンド発行部１０ｃは、全てのプロセッサ装置１−１〜１−Ｎを表すＩＤを対象ＩＤとして含む対象ＩＤ設定コマンドに続いて、ブレークコマンドを出力する。また、所定のプロセッサ装置１−ｎのコアプロセッサ１３によるプログラムの実行をブレークさせるとき、コマンド発行部１０ｃは、プロセッサ装置１−ｎのＩＤ（ｎである。）を対象ＩＤとして含む対象ＩＤ設定コマンドに続いて、ブレークコマンドを出力する。
【００２３】
詳細後述するように、本実施形態に係るデバッグ回路１４は、デバッグ対象のプログラムを実行するコアプロセッサ１３と、当該コアプロセッサ１３のためのデバッグ回路１４とを備えたプロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）のためのデバッグ回路である。また、各デバッグ回路１４は、
（ａ）ＩＣＥ１０と、ＩＣＥ１０にデイジーチェーン接続された複数のプロセッサ装置１−１〜１−Ｎとを含む複数の通信装置のうちの前段の通信装置からコマンドを受信して実行するとともに上記コマンドを中継して上記複数の通信装置のうちの後段の通信装置に送信する一方、上記後段の通信装置から受信した応答に対して所定の処理を行い上記前段の通信装置に送信する通信部１１と、
（ｂ）コアプロセッサ１３を、プログラムを実行するように制御するとともに、プログラムの実行をブレークするように制御する制御部１２とを備える。
【００２４】
図１において、制御部１２は、コアプロセッサ１３がプログラムの実行をブレークしていることを検出したとき、ブレーク通知信号を発生して通信部１１に送信することを特徴としている。また、通信部１１は、前段の通信装置からステータス要求コマンドを受信したとき制御部１２からブレーク通知信号を受信したときは、受信したステータス要求コマンドに代えて、１３コアプロセッサによるプログラムの実行をブレークさせるためのブレーク及びステータス要求コマンドを後段の通信装置に送信する一方、ブレーク通知信号を受信しなかったときは、受信したステータス要求コマンドを後段の通信装置に送信することを特徴としている。さらに、通信部１１は、前段の通信装置からブレーク及びステータス要求コマンドを受信したとき、制御部１２を、コアプロセッサ１３によるプログラムの実行をブレークするように制御することを特徴としている。
【００２５】
図３は、図１のプロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）の構成を示すブロック図であり、図４は、図３のＩＤ管理部１１７の構成を示すブロック図である。また、図５は、図３のコマンド制御部１１８の構成を示すブロック図であり、図６は、図３の応答制御部１１６の構成を示すブロック図である。図３において、プロセッサ装置１−ｎは、通信部１１と、制御部１２と、コアプロセッサ１３とを備えて構成される。ここで、コアプロセッサ１３は、デバッグ対象のプログラムを格納するメモリ１３１を備えて構成される。また、制御部１２は、ステータス管理部１２１と、コア制御部１２２とを備えて構成される。さらに、通信部１１は、コマンド受信部１１１と、コマンド送信部１１２と、応答受信部１１３と、応答送信部１１４と、コマンド実行部１１５と、応答制御部１１６と、ＩＤ管理部１１７と、コマンド制御部１１８とを備えて構成される。
【００２６】
また、図４において、ＩＤ管理部１１７は、ＩＤ設定部１１７１と、対象ＩＤ記憶部１１７２と、ＩＤ比較部１１７３と、遅延出力設定部１１７４と、応答コマンド検出部１１７５とを備えて構成される。さらに、図５において、コマンド制御部１１８は、コマンド中継部１１８１と、設定ＩＤ加算部１１８２と、コマンド変更部１１８３とを備えて構成される。またさらに、図６において、応答制御部１１６は、応答中継部１１６１と、応答出力遅延管理部１１６２と、応答情報出力部１１６３とを備えて構成される。
【００２７】
図３において、コア制御部１２２は、コマンド実行部１１５の制御のもとで、コアプロセッサ１３を、メモリ１３１に格納されたプログラムを実行するように制御し、かつ当該プログラムの実行をブレークするように制御する。コアプロセッサ１３は、当該コアプロセッサのステータス（プログラムの実行状態又はブレーク状態）を含む信号を、ステータス管理部１２１に出力する。また、ステータス管理部１２１は、コアプロセッサ１３のステータスを含む応答情報信号を、応答制御部１１６の応答情報出力部１１６３（図６参照。）に出力する。さらに、ステータス管理部１２１は、コアプロセッサ１３のステータスがブレーク状態であるときは、ブレーク通知信号を発生して、コマンド制御部１１８のコマンド変更部１１８３（図５参照。）に出力する。
【００２８】
図３において、コマンド受信部１１１は、前段のＩＣＥ又はプロセッサ装置１−ｎ−１から信号線ＴＸｎ及び入力端子Ｔｉ１を介して入力コマンド信号を受信し、当該入力コマンド信号に対して所定のインターフェース処理を行い、処理後の入力コマンド信号を、コマンド制御部１１８のコマンド中継部１１８１、設定ＩＤ加算部１１８２、及びコマンド変更部１１８３と、ＩＤ管理部１１７のＩＤ設定部１１７１、対象ＩＤ記憶部１１７２、及び応答コマンド検出部１１７５と、コマンド実行部１１５とに出力する。図５において、設定ＩＤ加算部１１８２は、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドがＩＤ設定コマンドであるとき、出力コマンド信号を出力することを禁止する出力禁止信号Ｓ１１８２をコマンド中継部１１８１に出力するとともに、ＩＤ設定コマンドに含まれるＩＤに対して１を加算する。そして、加算後のＩＤを含むＩＤ通知信号をＩＤ設定部１１７１（図４参照。）に出力する。さらに、設定ＩＤ加算部１１８２は、入力コマンド信号に含まれるＩＤ設定コマンド内のＩＤデータを加算後のＩＤデータに書き換えて、出力コマンド信号としてコマンド送信部１１２に出力する。なお、設定ＩＤ加算部１１８２は、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドがＩＤ設定コマンドではないとき、出力禁止信号Ｓ１１８２をコマンド中継部１１８１に出力しない。
【００２９】
図７は、図５のコマンド変更部１１８３によって実行されるコマンド変更処理を示すフローチャートである。コマンド変更部１１８３は、入力コマンド信号を受信したとき、図７のコマンド変更処理を実行する。図７のステップＳ１において、コマンド変更部１１８３は、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドがステータス要求コマンドであるか否かを判断し、ＹＥＳのときはステップＳ２に進む一方、ＮＯのときはコマンド変更処理を終了する。また、ステップＳ２において、コマンド変更部１１８３は、ステータス管理部１２１から、コアプロセッサ１３のステータスがブレーク状態であることを通知するブレーク通知信号を受信しているか否かを判断し、ＹＥＳのときはステップＳ３に進む一方、ＮＯのときはコマンド変更処理を終了する。ステップＳ３において、コマンド変更部１１８３は、出力コマンド信号を出力することを禁止する出力禁止信号Ｓ１１８３をコマンド中継部１１８１出力する。さらに、コマンド変更部１１８３は、後段の各プロセッサ装置１−ｎ＋１〜１−Ｎのコアプロセッサ１３に夜プログラムの実行をそれぞれブレークさせ、かつ後段の各プロセッサ装置１−ｎ＋１〜１−Ｎのコアプロセッサ１３の各ステータスを要求するためのブレーク及びステータス要求コマンドを発生し、当該コマンドを含む出力コマンド信号をコマンド送信部１１２に出力してコマンド変更処理を終了する。
【００３０】
また、図５において、コマンド中継部１１８１は、出力禁止信号Ｓ１１８２及びＳ１１８３を受信していないとき、コマンド受信部１１１からの入力コマンド信号をそのまま出力コマンド信号としてコマンド送信部１１２に出力する。また、コマンド中継部１１８１は、出力禁止信号Ｓ１１８２及びＳ１１８３のうちの少なくとも一方を受信しているとき、出力コマンド信号をコマンド送信部１１２に出力しない。
【００３１】
図４のＩＤ管理部１１７において、ＩＤ設定部１１７１は、設定ＩＤ加算部１１８２からのＩＤ通知信号に含まれるＩＤを、プロセッサ装置１−ｎのＩＤとして記憶するとともに、ＩＤ比較部１１７３及び遅延出力設定部１１７４に出力する。また、対象ＩＤ記憶部１１７２は、コマンド受信部１１１からの入力コマンド信号が対象ＩＤ設定コマンドを含むとき、当該対象ＩＤ設定コマンドに含まれる対象ＩＤを読み出して記憶するとともに、ＩＤ比較部１１７３に出力する。ＩＤ比較部１１７３は、ＩＤ設定部１１７１からのプロセッサ装置１−ｎのＩＤと、対象ＩＤ記憶部１１７２からの対象ＩＤとを比較し、対象ＩＤが０又はプロセッサ装置１−ｎのＩＤと一致するとき、当該一致を示すＩＤ一致通知信号をコマンド実行部１１５に出力する。ＩＤ比較部１１７３は、対象ＩＤデータが０又はプロセッサ装置１−ｎのＩＤと一致しないときはＩＤ一致通知信号を発生しない。さらに、図４において、応答コマンド検出部１１７５は、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドが応答すべきコマンド（例えば、ステータス要求コマンド又は、ブレーク及びステータス要求コマンドである。）であるか否かを判断し、当該判断結果を示す信号を遅延出力設定部１１７４に出力する。
【００３２】
図４において、遅延出力設定部１１７４は、応答コマンド検出部１１７５からの判断結果を示す信号に基づいて、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドが応答すべきコマンドであることを検出したとき、ＩＤ設定部１１７１からのプロセッサ装置１−ｎのＩＤと、プロセッサ装置１−１〜１−Ｎの個数の最大値（７である。）とに基づいて、プロセッサ装置１−ｎが入力コマンド信号を受信してから出力応答信号を出力するまでの遅延時間（レイテンシ）を算出し、算出された遅延時間を含むアクティブな遅延出力設定信号を発生して応答出力遅延管理部１１６２に出力する。具体的には、遅延出力設定部１１７４は、全てのプロセッサ装置１−１〜１−Ｎからの各応答信号が同一のタイミングでＩＣＥ１０に到達するように、遅延時間を設定する。図１の例では、プロセッサ装置１−１，１−２，…，１−Ｎの順序でＩＣＥ１０からの距離は遠くなるので、プロセッサ装置１−１，１−２，…，１−Ｎの順序で、遅延時間はＩＤに比例して大きくなるように設定される。なお、遅延出力設定部１１７４は、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドが応答すべきコマンドではないとき、ノンアクティブな遅延出力設定信号を発生して応答出力遅延管理部１１６２に出力する。
【００３３】
図３において、コマンド送信部１１２は、コマンド制御部１１８からの出力コマンド信号に対して所定のインターフェース処理を行い、処理後の出力コマンド信号を、出力端子Ｔｏ２及び信号線ＴＸｎ＋１を介して後段のプロセッサ装置１−ｎ＋１のコマンド受信部１１１又は終端器２に出力する。また、コマンド実行部１１５は、ＩＤ管理部１１７３のＩＤ比較部１１７３からのＩＤ一致通知信号に応答して、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドを実行する。具体的には、コマンド実行部１１５は、プログラム実行コマンドを実行することにより、コア制御部１２２を、コアプロセッサ１３がメモリ１３１に格納されたプログラムを実行するように制御する。さらに、コマンド実行部１１５は、ブレークコマンドを実行することにより、コア制御部１２２を、コアプロセッサ１３によるプログラムの実行をブレークさせるように制御する。またさらに、コマンド実行部１１５は、ブレーク及びステータス要求コマンドを実行することにより、コア制御部１２２を、コアプロセッサ１３によるプログラムの実行をブレークさせるように制御する。
【００３４】
また、図３において、応答受信部１１３は、後段のプロセッサ装置１−ｎ＋１又は終端器２から信号線ＲＸｎ＋１及び入力端子Ｔｉ２を介して入力応答信号を受信し、当該入力応答信号に対して所定のインターフェース処理を行い、応答制御部１１６の応答中継部１１６１及び応答情報出力部１１６３（図６参照。）に出力する。ここで、入力応答信号は、各コマンドに対する応答を含む。特に、ステータス要求コマンドに対する応答は、プロセッサ装置１−１〜１−Ｎにそれぞれ割り当てられたビット位置に、プロセッサ装置１−１〜１−Ｎの各コアプロセッサ１３のステータスを表すデータを格納する。図６において、応答出力遅延管理部１１６２は、遅延出力設定部１１７４からの遅延出力設定信号がアクティブであるとき、当該遅延出力設定信号に含まれる遅延時間のデータを、応答情報出力部１１６３に出力する。また、応答情報出力部１１６３は、ステータス管理部１２１からの応答情報信号に含まれるコアプロセッサ１３のステータスのデータと、応答出力遅延管理部１１６２からの遅延時間のデータとを、応答中継部１１６１に出力する。そして、応答中継部１１６１は、応答受信部１１３からの入力応答信号に、プロセッサ装置１−ｎのコアプロセッサ１３のステータスを表すデータを書き込み、遅延出力設定部１１７４によって設定された遅延時間だけ遅延させて、出力応答信号として応答送信部１１４に出力する。図３において、応答送信部１１４は、入力される出力応答信号に対して所定のインターフェース処理を行い、処理後の出力応答信号を、出力端子Ｔｏ１及び信号線ＲＸｎを介してＩＣＥ１０又は前段のプロセッサ装置１−ｎ−１の応答受信部１１３に出力する。
【００３５】
以上説明したように構成された図１のデバッグシステムにおいて、始めに、コマンド発行部１０ｃは、ＩＤ設定コマンドをプロセッサ装置１−１に出力する。これにより、各プロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）の設定ＩＤ加算部１１８２（図５参照。）により、ｎがＩＤとして設定され、設定されたＩＤは各プロセッサ装置１−ｎのＩＤ設定部１１７１（図４参照。）に記憶される。次に、コマンド発行部１０ｃは、プロセッサ装置１−ｎに対して所定のコマンドを実行させる前に、プロセッサ装置１−ｎのＩＤを対象ＩＤとして含む対象ＩＤ設定コマンドをプロセッサ装置１−１に出力する。これにより、全てのプロセッサ装置１−１〜１−Ｎの対象ＩＤ記憶部１１７２（図４参照。）は、対象ＩＤ設定コマンドに含まれる対象ＩＤを記憶する。次に、コマンド発行部１０ｃが、プロセッサ装置１−ｎに実行させるコマンドをプロセッサ装置１−１に出力すると、対象ＩＤ記憶部１１７２に記憶された対象ＩＤと、ＩＤ設定部１１７１に記憶されたＩＤとが一致するプロセッサ装置１−ｎのコマンド実行部１１５は、上記コマンドを実行する。
【００３６】
また、図１において、ＩＣＥ１０は、全てのプロセッサ装置１−１〜１−Ｎのコアプロセッサ１３のステータスを要求するとき、コマンド発行部１０ｃにより、全てのプロセッサ装置１−１〜１−Ｎを示すＩＤを含む対象ＩＤ設定コマンドをプロセッサ装置１−１に出力する。次に、コマンド発行部１０ｃは、ステータス要求コマンドをプロセッサ装置１−１に出力する。全てのプロセッサ装置１−１〜１−Ｎのコアプロセッサ１３のステータスが実行状態であるとき、全てのプロセッサ装置１−１〜１−Ｎのコマンド制御部１１８（図５参照。）において、出力禁止信号Ｓ１１８２及びＳ１１８３が発生されないので、ステータス要求コマンドは、そのまま、コマンド中継部１１８１（図５参照。）を介して最下流のプロセッサ装置１−Ｎまで中継される。そして、ステータス要求コマンドに対する応答を含む応答信号は、最下流のプロセッサ装置１−ＮからＩＣＥ１０まで、順次、送信される。このとき、各プロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）の応答中継部１１６１（図６参照。）は、応答受信部１１３からの入力応答信号に応答に、プロセッサ装置１−ｎのステータスを表すデータを書き込み、遅延出力設定部１１７４によって上述したように設定された遅延時間だけ遅延させて、応答送信部１１４を介して前段のプロセッサ装置１−ｎ−１に出力する。これにより、ＩＣＥ１０は、ステータス要求コマンドを１回だけ出力することにより、全てのプロセッサ装置１−１〜１−Ｎのコアプロセッサ１３のステータスを含む応答信号を受信できる。
【００３７】
図８は、図１のプロセッサ装置１−１のコアプロセッサ１３のステータスが実行状態であり、プロセッサ装置１−２のコアプロセッサ１３のステータスがブレーク状態であるときに伝送されるステータス要求コマンドと、ブレーク及びステータス要求コマンドとを示すブロック図である。図８において、コマンド発行部１０ｃは、全てのプロセッサ装置１−１〜１−Ｎを示すＩＤを含む対象ＩＤ設定コマンドに続いて、ステータス要求コマンドをプロセッサ装置１−１に出力する。プロセッサ装置１−１のコアプロセッサ１３のステータスは実行状態であるので、プロセッサ装置１−１は、入力されるステータス要求コマンドを、そのままプロセッサ装置１−２に出力する。プロセッサ装置１−２のコアプロセッサ１３のステータスはブレーク状態であるので、プロセッサ装置１−２のコマンド変更部１１８３は、ブレーク及びステータス要求コマンドを、コマンド送信部１１２を介して後段のプロセッサ装置１−３に出力する。引き続き、プロセッサ装置１−３〜１−Ｎの各コマンド実行部１１５（図３参照。）は、入力されるブレーク及びステータス要求コマンドを実行することにより、コアプロセッサ１３によるプログラムの実行をブレークさせる。また、プロセッサ装置１−３〜１−Ｎのコマンド中継部１１８１（図５参照。）は、出力禁止信号Ｓ１１８２及びＳ１１８３を受信しないので、入力されるブレーク及びステータス要求コマンドをそのまま中継する。
【００３８】
図８において、各プロセッサ装置１−ｎ（ｎ＝１，２，…，Ｎ）は、後段のプロセッサ装置から受信した応答信号の割り当てられたビット位置に、自プロセッサ装置のコアプロセッサ１３のステータスを表すデータを格納して、前段のプロセッサ装置に出力する。この結果、ＩＣＥ１０は、プロセッサ装置１−１が実行状態であり、プロセッサ装置１−２〜１−Ｎの各コアプロセッサ１３がブレーク状態であることを示す応答信号を受信する。そして、ＩＣＥ１０は、受信した応答信号に基づいて、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置１−２〜１−Ｎがあることを検出すると、全てのプロセッサ装置１−１〜１−Ｎを表すＩＤを含む対象ＩＤ設定コマンドを出力した後に、ブレークコマンドを出力する。これに応答して、実行状態にあるプロセッサ装置１−１のコアプロセッサ１３によるプログラムの実行はブレークし、全てのプロセッサ装置１−１〜１−Ｎのコアプロセッサ１３によるプログラムの実行はブレークする。
【００３９】
従来技術に係るＩＣＥは、各プロセッサ装置１−１〜１−Ｎ毎に、ステータス要求コマンドを出力していたため、全てのプロセッサ装置１−１〜１−Ｎのコアプロセッサ１３のステータスを検出するためには、ステータス要求コマンドをＮ回だけ出力する必要があった。一方、本実施形態によれば、ＩＣＥ１０は、全てのプロセッサ装置１−１〜１−Ｎを表すＩＤを含む対象ＩＤ設定コマンドを出力した後に、１回だけステータス要求コマンドを出力することにより、全てのプロセッサ装置１−１〜１−Ｎの各ステータスを検出できる。また、各プロセッサ装置１−１〜１−Ｎのコマンド変更部１１８３は、図７のコマンド変更処理を実行するので、図８に示すように、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置よりも下流のプロセッサ装置のコアプロセッサ１３を、ＩＣＥ１０からブレークコマンドを出力することなく、ブレーク状態にすることができる。従って、従来技術に比較して、ＩＣＥ１０及びプロセッサ装置１−１〜１−Ｎ間の通信のための信号線ＴＸ０〜ＴＸＮ及びＲＸ０〜ＲＸＮに新たに信号線を追加することなく、ＩＣＥ１０からコマンドを出力する回数を削減して、効率的にプロセッサ装置１−１〜１−Ｎの各コアプロセッサ１３をブレーク状態にすることができる。
【００４０】
なお、本実施形態において、図５のコマンド変更部１１８３は、ステータス要求コマンドをブレーク及びステータス要求コマンドに変更したが、本発明はこれに限らず、ステータス要求コマンド以外の所定のコマンドをブレーク及びステータス要求コマンドに変更してもよい。また、ステータス要求コマンドをブレークコマンドに変更してもよい。
【００４１】
第２の実施形態．
図９は、本発明の第２の実施形態に係るプロセッサ装置１Ａ−ｎの構成を示すブロック図であり、図１０は、図９の応答制御部１１６Ａの構成を示すブロック図である。本実施形態に係るプロセッサ装置１Ａ−ｎ（ｎ＝１，２，…，Ｎ）は、第１の実施形態に係るプロセッサ装置１−ｎに比較して、デバッグ回路１４に代えてデバッグ回路１４Ａを備える。さらに、デバッグ回路１４Ａは、デバッグ回路１４に比較して、通信部１１に代えて通信部１１Ａを備え、制御部１２に代えて制御部１２Ａを備える。また、制御部１２Ａは、制御部１２に比較して、コア制御部１２２に代えてコア制御部１２２Ａを備える。さらに、通信部１１Ａは、通信部１１に比較して、応答制御部１１６に代えて応答制御部１１６Ａを備える。
【００４２】
本実施形態に係るデバッグ回路１４Ａは、通信部１１Ａが、後段のプロセッサ装置から、後段の各プロセッサ装置のコアプロセッサ１３の各ステータスを含む、ステータス要求コマンドに対する応答を受信し、当該受信した応答に基づいて、後段の各プロセッサ装置のコアプロセッサ１３のうち少なくとも１つのコアプロセッサ１３のステータスがブレーク状態であることを検出したとき、ブレーク要求信号を発生して制御部１２Ａに送信し、制御部１２Ａが、ブレーク要求信号に応答して、コアプロセッサ１３を、プログラムの実行をブレークするように制御することを特徴としている。さらに、通信部１１Ａは、ステータス要求コマンド、又はブレーク及びステータス要求コマンドに対する、後段のプロセッサ装置から受信した応答に、コアプロセッサ１３のステータスを挿入して前段のプロセッサ装置に送信することを特徴としている。
【００４３】
図１０において、応答制御部１１６Ａは、図６の応答制御部１１６にブレークデバイス判定部１１６４を追加した構成を有する。ブレークデバイス判定部１１６４は、後段のプロセッサ装置１Ａ−ｎ＋１から応答受信部１１３を介して受信した入力応答信号に基づいて、プロセッサ装置１Ａ−ｎ＋１〜１Ａ−Ｎの各コアプロセッサ１３のうちの少なくとも１つのステータスがブレーク状態であるか否かを判断し、ＹＥＳのときはブレーク要求信号を発生してコア制御部１２２Ａに出力する一方、ＮＯのときはブレーク要求信号を発生しない。図９において、コア制御部１２２Ａは、ブレークデバイス判定部１１６４からのブレーク要求信号に応答して、コアプロセッサ１３によるプログラムの実行をブレークさせる。また、コアプロセッサ１３がブレークするので、ステータス管理部１２１は、コアプロセッサ１３のステータスがブレーク状態であることを示す応答情報信号を図１０の応答情報出力部１１６３に出力する。従って、応答中継部１１６１は、応答受信部１１３からの入力応答信号に、プロセッサ装置１Ａ−ｎのコアプロセッサ１３のステータス（ブレーク状態）を表すデータを書き込み、遅延出力設定部１１７４によって上述したように設定された遅延時間だけ遅延させて、出力応答信号として応答送信部１１４を介して前段のプロセッサ装置１Ａ−ｎ−１に出力する。
【００４４】
図１１は、図９のプロセッサ装置１Ａ−Ｎのコアプロセッサ１３のステータスのみがブレーク状態であり、他のプロセッサ装置１Ａ−１〜１Ａ−Ｎ−１の各コアプロセッサ１３のステータスが実行状態であるときに、プロセッサ装置１Ａ−１の通信部１１Ａにより発生されるブレーク要求信号を示すブロック図である。図１１において、プロセッサ装置１Ａ−Ｎのコアプロセッサ１３のステータスのみがブレーク状態であり、他のプロセッサ装置１Ａ−１〜１Ａ−Ｎ−１の各コアプロセッサ１３のステータスが実行状態であるときに、コマンド発行部１０ｃが、全てのプロセッサ装置１Ａ−１〜１−Ｎを示すＩＤを含む対象ＩＤ設定コマンドに続いて、ステータス要求コマンドをプロセッサ装置１Ａ−１に出力すると、ステータス要求コマンドは、プロセッサ装置１Ａ−１からプロセッサ装置１Ａ−Ｎまで、順次、中継される。さらに、プロセッサ装置１Ａ−Ｎのコアプロセッサ１３のステータスはブレーク状態であるので、プロセッサ装置１Ａ−Ｎの応答中継部１１６１（図１０参照。）は、入力されるステータス要求コマンドに対する応答を含む応答信号に、プロセッサ装置１Ａ−Ｎのコアプロセッサ１３のステータス（ブレーク状態）を表すデータを書き込み、遅延出力設定部１１７４（図４参照。）により設定された遅延時間だけ遅延させて、出力応答信号として応答送信部１１４を介して前段のプロセッサ装置１Ａ−Ｎ−１に出力する。
【００４５】
次に、図１１において、プロセッサ装置１Ａ−Ｎ−１のブレークデバイス判定部１１６４（図１０参照。）は、後段のプロセッサ装置１Ａ−Ｎからの入力応答信号に基づいて、後段のプロセッサ装置１Ａ−Ｎのコアプロセッサ１３のステータスがブレーク状態であることを検出し、ブレーク要求信号を発生してコア制御部１２２Ａに出力する。これに応答して、コア制御部１２２Ａは、プロセッサ装置１Ａ−Ｎ−１のコアプロセッサ１３によるプログラムの実行をブレークさせる。また、プロセッサ装置１Ａ−Ｎ−１の応答中継部１１６１は、後段のプロセッサ装置１Ａ−Ｎからの入力応答信号に、プロセッサ装置１Ａ−Ｎ−１のコアプロセッサ１３のステータス（ブレーク状態）を表すデータを書き込み、遅延出力設定部１１７４（図４参照。）により設定された遅延時間だけ遅延させて、出力応答信号として応答送信部１１４を介して前段のプロセッサ装置１Ａ−Ｎ−２に出力する。以下、同様にプロセッサ装置１Ａ−１〜１Ａ−Ｎ−２の各コアプロセッサ１３はブレークする。
【００４６】
第１の実施形態に係るプロセッサ装置１−１〜１−Ｎによれば、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置よりも後段のプロセッサ装置をブレーク状態にすることができるが、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置よりも前段のプロセッサ装置をブレーク状態にすることはできない。これに対して、本実施形態に係るプロセッサ装置１Ａ−１〜１Ａ−Ｎによれば、後段のプロセッサ装置のコアプロセッサ１３によるプログラムの実行がブレークしているときに自プロセッサ装置のコアプロセッサ１３によるプログラムの実行をブレークさせるためのブレーク要求信号を発生するブレークデバイス判定部１１６４（図１０）を備えたので、ブレーク状態にあるプロセッサ装置よりも前段のプロセッサ装置のコアプロセッサ１３をブレーク状態にすることができる。従って、本実施形態によれば、少なくとも１つのプロセッサ装置がブレーク状態にあるとき、ＩＣＥ１０からステータス要求コマンドを１回出力するだけで、ブレークコマンドを出力することなく、全てのプロセッサ装置１Ａ−１〜１Ａ−Ｎの各コアプロセッサ１３によるプログラムの実行をブレークさせることができ、第１の実施形態に比較してさらに効率的に全てのプロセッサ装置１Ａ−１〜１Ａ−Ｎの各コアプロセッサ１３によるプログラムの実行をブレークさせることができる。また、ＩＣＥ１０及びプロセッサ装置１Ａ−１〜１Ａ−Ｎ間の通信のための信号線ＴＸ０〜ＴＸＮ及びＲＸ０〜ＲＸＮに新たに信号線を追加する必要がない。
【００４７】
第３の実施形態．
図１２は、本発明の第３の実施形態に係るプロセッサ装置１Ｂ−ｎの構成を示すブロック図であり、図１３は、図１２のコマンド制御部１１８Ａの構成を示すブロック図である。本実施形態に係るプロセッサ装置１Ｂ−ｎ（ｎ＝１，２，…，Ｎ）は、第２の実施形態に係るプロセッサ装置１Ａ−ｎに比較して、デバッグ回路１４Ａに代えてデバッグ回路１４Ｂを備える。また、デバッグ回路１４Ｂは、デバッグ回路１４Ａに比較して、通信部１１Ａに代えて通信部１１Ｂを備え、制御部１２Ａに代えて制御部１２Ｂを備える。また、制御部１２Ｂは、制御部１２Ａに比較して、ステータス管理部１２１に代えてステータス管理部１２１Ａを備え、かつブレーク及びステータス要求コマンド発行指示部１２３をさらに備える。さらに、通信部１１Ｂは、通信部１１Ａに比較して、コマンド実行部１１５に代えてコマンド実行部１１５Ａを備え、コマンド制御部１１８に代えてコマンド制御部１１８Ａを備える。また、図１３において、コマンド制御部１１８Ａは、コマンド制御部１１８に比較して、コマンド発行部１１８４をさらに備えたことを特徴としている。
【００４８】
本実施形態に係るデバッグ回路１４Ｂは、制御部１２Ｂが、コアプロセッサ１３がプログラムの実行をブレークしていることを検出したとき、ブレーク及びステータス要求コマンドを後段のプロセッサ装置に送信することを指示する指示信号を通信部１１Ｂに送信し、通信部１１ｂは、指示信号に応答して、ステータス要求コマンドを受信することなく、ブレーク及びステータス要求コマンドを後段のプロセッサ装置に送信することを特徴としている。
【００４９】
図１２において、ステータス管理部１２１Ａは、コアプロセッサ１３のステータスを含む応答情報信号を、応答制御部１１６Ａの応答情報出力部１１６３（図１０参照。）及びブレーク及びステータス要求コマンド発行指示部１２３に出力する。さらに、ステータス管理部Ａ１２１は、第１及び第２の実施形態に係るステータス管理部１２１と同様に、コアプロセッサ１３のステータスがブレーク状態であるときは、ブレーク通知信号を発生して、コマンド制御部１１８Ａのコマンド変更部１１８３（図１３参照。）に出力する。ブレーク及びステータス要求コマンド発行指示部１２３は、ステータス管理部１２１Ａからの応答情報信号に基づいて、コアプロセッサ１３がブレーク状態になったことを検出すると、ブレーク及びステータス要求コマンドを発生することを指示するためのブレーク及びステータス要求コマンド発行指示信号を発生して、コマンド制御部１１８Ａのコマンド発行部１１８４に出力する。
【００５０】
また、図１３において、コマンド発行部１１８４は、ブレーク及びステータス要求コマンド発行指示部１２３からのブレーク及びステータス要求コマンド発行指示信号に応答して、ブレーク及びステータス要求コマンドを含む出力コマンド信号を発生して、コマンド送信部１１２を介して、後段のプロセッサ装置１Ｂ−ｎ＋１に出力する。さらに、図１２において、コマンド実行部１１５Ａは、コマンド受信部２２２からの入力コマンド信号に含まれるコマンドがブレーク及びステータス要求コマンドであるとき、ＩＤ管理部１１７からＩＤ一致通知信号を受信しているか否かに関係なく、ブレーク及びステータス要求コマンドを実行する。
【００５１】
図１４は、図１２のプロセッサ装置１Ｂ−２のコアプロセッサ１３がブレークを開始したときに発生されるブレーク及びステータス要求コマンド発行指示信号と、伝送されるブレーク及びステータス要求コマンドと、ブレーク及びステータス要求コマンドに対する応答を示すブロック図である。図１４において、プロセッサ装置１Ｂ−２のコアプロセッサ１３がブレークを開始すると、プロセッサ装置１Ｂ−２のブレーク及びステータス要求コマンド発行指示部１２３は、ブレーク及びステータス要求コマンド発行指示信号を発生して、コマンド発行部１１８４（図１３参照。）に出力する。これに応答して、コマンド発行部１１８４は、ブレーク及びステータス要求コマンドを含む出力コマンド信号を発生して、コマンド送信部１１２を介して、後段のプロセッサ装置１Ｂ−３に出力する。プロセッサ装置１Ｂ−３のコマンド実行部１１５Ａ（図１２参照。）は、前段のプロセッサ装置１Ｂ−２からのブレーク及びステータス要求コマンドを実行して、プロセッサ装置１Ｂ−３のコアプロセッサ１３によるプログラムの実行をブレークさせる。さらに、プロセッサ装置１Ｂ−３のコマンド中継部１１８１（図１３参照。）は、プロセッサ装置１Ｂ−２からのブレーク及びステータス要求コマンドを含む入力コマンド信号を、出力コマンド信号として、後段のプロセッサ装置１Ｂ−４に出力する。以下、同様に、ブレーク及びステータス要求コマンドはプロセッサ装置１Ｂ−４〜１Ｂ−Ｎに出力され、各プロセッサ装置１Ｂ−４〜１Ｂ−Ｎの各コアプロセッサ１３はブレークする。従って、プロセッサ装置１Ｂ−２より後段の全てのプロセッサ装置１Ｂ−３〜１Ｂ−Ｎの各コアプロセッサ１３はブレークする。さらに、図１４において、プロセッサ装置１Ｂ−３〜１Ｂ−Ｎはそれぞれ、ブレーク及びステータス要求コマンドに対する応答を含む応答信号を、前段のプロセッサ装置１Ｂ−２〜１Ｂ−Ｎ−１に出力する。
【００５２】
第１の実施形態に係るプロセッサ装置１−１〜１−Ｎによれば、ＩＣＥ１０がステータス要求コマンドを出力しなければ、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置の後段のプロセッサ装置の各コアプロセッサ１３を、ブレーク及びステータス要求コマンドを用いてブレーク状態にすることはできない。しかしながら本実施形態に係るプロセッサ装置１Ｂ−１〜１Ｂ−Ｎによれば、コアプロセッサ１３がブレーク状態になったことを検出したときにブレーク及びステータス要求コマンド発行指示信号を発生するブレーク及びステータス要求コマンド発行指示部１２３と、ブレーク及びステータス要求コマンド発行指示信号に応答してブレーク及びステータス要求コマンドを発生して後段のプロセッサ装置に出力するコマンド発行部１１８４とをさらに備えたので、ＩＣＥ１０がステータス要求コマンドを出力しなくても、ブレーク状態になったコアプロセッサ１３を備えたプロセッサ装置の後段のプロセッサ装置の各コアプロセッサ１３をブレーク状態にすることができる。また、ＩＣＥ１０及びプロセッサ装置１Ｂ−１〜１Ｂ−Ｎ間の通信のための信号線ＴＸ０〜ＴＸＮ及びＲＸ０〜ＲＸＮに新たに信号線を追加する必要がない。
【００５３】
第４の実施形態．
図１５は、本発明の第４の実施形態に係るプロセッサ装置１Ｃ−ｎの構成を示すブロック図である、図１６は、図１５の応答制御部１１６Ｂの構成を示すブロック図である。図１５において、本実施形態に係るプロセッサ装置１Ｃ−ｎ（ｎ＝１，２，…，Ｎ）は、第３の実施形態に係るプロセッサ装置１Ｂ−ｎに比較して、デバッグ回路１４Ｂに代えてデバッグ回路１４Ｃを備える。また、デバッグ回路１４Ｃは、デバッグ回路１４Ｂに比較して、通信部１１Ｂに代えて通信部１１Ｃを備える。また、通信部１１Ｃは、通信部１１Ｂに比較して、応答制御部１１６Ａに代えて応答制御部１１６Ｂを備える。図１６において、応答制御部１１６Ｂは、応答制御部１１６Ａに比較して、応答遅延出力管理部１１６２に代えて応答遅延出力管理部１１６２Ａを備え、応答検出部１１６５をさらに備えたことを特徴としている。
【００５４】
本実施形態に係るデバッグ回路１４Ｃは、通信部１１Ｃが、後段のプロセッサ装置から、後段の各プロセッサ装置のコアプロセッサ１３の各ステータスを含む、ブレーク及びステータス要求コマンドに対する応答を受信し、当該受信した応答に基づいて、後段の各プロセッサ装置のコアプロセッサ１３のうち少なくとも１つのコアプロセッサのステータスがブレーク状態であることを検出したとき、ブレーク要求信号を発生して制御部１２Ｂに送信することを特徴としている。さらに、通信部１１Ｃが、ブレーク及びステータス要求コマンドに対する応答に、コアプロセッサ１３のステータスを挿入して前段のプロセッサ装置に送信することを特徴としている。
【００５５】
本実施形態において、入力応答信号に含まれる応答の先頭のビットデータは０である。図１６において、応答検出部１１６５は、応答受信部１１３からの入力応答信号に含まれるビットデータがゼロであることを検出すると、入力応答信号が応答を含むことを示す検出信号Ｓ１１６５を発生して応答遅延出力管理部１１６２Ａに出力する。
【００５６】
図１７は、図１６の応答遅延出力管理部１１６２Ａによって実行される応答遅延出力管理処理を示すフローチャートである。図１７のステップＳ１１において、応答遅延出力管理部１１６２Ａは、応答検出部１１６５から検出信号Ｓ１１６５を受信したか否かを判断することにより、後段のプロセッサ装置１Ｃ−ｎ＋１から応答を含む入力応答信号を受信したか否かを判断し、ＹＥＳのときはステップＳ１２に進む一方、ＮＯのときはステップＳ１１の処理を繰り返して実行する。そして、ステップＳ１２において、応答遅延出力管理部１１６２Ａは、遅延出力設定部１１７４からの遅延出力設定信号がアクティブか否かを判断することにより、受信された入力応答信号に含まれる応答に対応するコマンドを受信したか否かを判断し、ＹＥＳのときはステップＳ１３に進む一方、ＮＯのときはステップＳ１４に進む。ステップＳ１３において、応答遅延出力管理部１１６２Ａは、遅延時間を、遅延出力設定信号に含まれる遅延時間に設定してステップＳ１５に進む。また、ステップＳ１４において、応答遅延出力管理部１１６２Ａは、遅延時間をゼロに設定してステップＳ１５に進む。そして、ステップＳ１５において、応答遅延出力管理部１１６２Ａは、設定された遅延時間を応答情報出力部１１６３に出力してステップＳ１１に戻る。
【００５７】
図１６に戻り参照すると、応答情報出力部１１６３は、ステータス管理部１２１Ａからの応答情報信号に含まれるコアプロセッサ１３のステータスのデータと、応答出力遅延管理部１１６２Ａからの遅延時間のデータとを、応答中継部１１６１に出力する。そして、応答中継部１１６１は、応答受信部１１３からの入力応答信号に、プロセッサ装置１Ｃ−ｎのコアプロセッサ１３のステータスを表すデータを書き込み、応答情報出力部１１６３から入力される遅延時間だけ遅延させて、出力応答信号として応答送信部１１４に出力する。
【００５８】
図１８は、図１５のプロセッサ装置１Ｃ−Ｎのコアプロセッサの状態がブレーク状態であるときに伝送される応答と、プロセッサ装置１Ｃ−２において発生されるブレーク要求信号及びブレーク指示信号とを示すブロック図である。図１８において、プロセッサ装置１Ｃ−２のコアプロセッサ１３がブレークすると、第３の実施形態と同様に、コマンド発行部１１８４（図１３参照。）はブレーク及びステータス要求コマンドを発生して、コマンド送信部１１２と信号線ＴＸＮ＋１を介して終端器２に出力する。これに応答して、終端器２とプロセッサ装置１Ｃ−Ｎとの間の信号線ＲＸＮ＋１の電圧レベルはローレベルになる。このとき、遅延出力設定部１１７４（図４参照。）からの遅延設定出力信号はノンアクティブであるので、応答遅延出力管理部１１６２Ａは、遅延時間をゼロに設定する（図１７の応答遅延出力管理処理のステップＳ１３参照。）。そして、プロセッサ装置１Ｃ−Ｎの応答中継部１１６１は、プロセッサ装置１Ｃ−Ｎのコアプロセッサ１３のステータス（ブレーク状態）を含む出力応答信号を、前段のプロセッサ装置１Ｃ−Ｎ−１に出力する。これに応答して、プロセッサ装置１Ｃ−Ｎ−１のブレークデバイス判定部１１６４（図１６参照。）は、ブレーク要求信号を発生してコア制御部１２２Ａに出力し、コア制御部１２２Ａはプロセッサ装置１Ｃ−Ｎ−１のコアプロセッサ１３によるプログラムの実行をブレークさせる。さらに、プロセッサ装置１Ｃ−Ｎ−１の応答中継部１１６１は、プロセッサ装置１Ｃ−Ｎ−１及び１Ｃ−Ｎの各コアプロセッサ１３のステータスを含む出力応答信号を発生して、応答送信部１１４を介して前段のプロセッサ装置１Ｃ−Ｎ−２に出力する。以下、同様に、プロセッサ装置１Ｃ−１及びＩＥＣ１０まで、応答が順次出力され、全てのプロセッサ装置１Ｃ−１〜１Ｃ−Ｎの各コアプロセッサ１３はブレークする。
【００５９】
第３の実施形態に係るプロセッサ装置１Ｂ−ｎ（ｎ＝１，２，…，Ｎ）によれば、前段のプロセッサ装置からコマンドを受信したときに応答を出力するので、最下流のプロセッサ装置１Ｂ−Ｎから、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置まで、各プロセッサ装置を介して応答を出力できるが、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置よりも前段のプロセッサ装置に応答を出力できない（図１４参照。）。しかしながら、本実施形態に係るプロセッサ装置１Ｃ−ｎによれば、後段のプロセッサ装置１Ｃ−ｎ＋１から入力応答信号を受信したとき、自プロセッサ装置１Ｃ−ｎのコアプロセッサのステータスを含む出力応答信号を発生して、前段のプロセッサ装置１Ｃ−ｎ−１に出力する応答制御部１１６Ｂを備えたので、ＩＣＥ１０がステータス要求コマンドを出力しなくても、ブレーク状態にあるコアプロセッサ１３を備えたプロセッサ装置の前段のプロセッサ装置の各コアプロセッサ１３をブレーク状態にすることができる。このため、本実施形態によれば、プロセッサ装置１Ｃ−１〜１Ｃ−Ｎのうちの１つのプロセッサ装置のコアプロセッサ１３がブレークすると、ＩＣＥ１０からのコマンドなしに、全てのプロセッサ装置１Ｃ−１〜１Ｃ−Ｎをブレーク状態にすることができる。また、ＩＣＥ１０及びプロセッサ装置１Ｃ−１〜１Ｃ−Ｎ間の通信のための信号線ＴＸ０〜ＴＸＮ及びＲＸ０〜ＲＸＮに新たに信号線を追加する必要がない。
【００６０】
なお、本実施形態において、応答検出部１１６５は、応答受信部１１３からの入力応答信号に含まれるビットデータがゼロであることを検出すると、入力応答信号が応答を含むことを示す検出信号Ｓ１１６５を発生したが、本発明はこれに限られない。応答検出部１１６５は、応答受信部１１３からの入力応答信号において応答の開始を示す所定のスタートビットを検出すると、入力応答信号が応答を含むことを示す検出信号Ｓ１１６５を発生してもよい。
【００６１】
第５の実施形態．
図１９は、本発明の第５の実施形態に係るコマンド制御部１１８Ｂの構成を示すブロック図である。本実施形態に係るコマンド制御部１１８Ｂは、第３及び第４の実施形態に係るコマンド制御部１１８Ａに比較して、コマンド中継部１１８１及びコマンド変更部１１８３に代えて、シリアル通信を行うコマンド中継部１１８１Ａ及びコマンド変更部１１８３Ａを備えたことを特徴としている。また、図２０は、信号線ＴＸ１を介して図１９のコマンド制御部１１８Ｂが受信したコマンド信号と、当該コマンド信号に含まれるコマンドをコマンド制御部１１８Ｂが変更しない場合に、コマンド制御部１１８Ｂが信号線ＴＸ２を介して出力するコマンド信号とを示すタイミングチャートである。さらに、図２１は、信号線ＴＸ１を介して図１９のコマンド制御部１１８Ｂが受信したコマンド信号と、当該コマンド信号に含まれるステータス要求コマンドを図１９のコマンド制御部１１８Ｂがブレーク及びステータス要求コマンドに変更する場合にコマンド制御部１１８Ｂが信号線ＴＸ２を介して出力するコマンド信号とを示すタイミングチャートである。
【００６２】
図１９において、コマンド受信部１１１からの入力コマンド信号は、シリアルデータ信号であって、入力コマンド信号に含まれるコマンドのタイプを、シリアルデータ信号の先頭部分に設けられたコマンドタイプ格納部（図２０参照。）に格納する。図１９のコマンド中継部１１８１Ａは、出力禁止信号Ｓ１１８２及びＳ１１８３を受信していないとき、図２０に示すように、入力コマンド信号を受信しながら、当該入力コマンド信号を、出力コマンド信号としてそのままコマンド送信部１１２に出力する。
【００６３】
また、図１９において、コマンド変更部１１８３Ａは、コマンド受信部１１１からの入力コマンド信号に含まれるコマンドがステータス要求コマンドであるか否かを、入力コマンド信号の先頭部分のコマンドタイプ格納部に格納されたデータに基づいて判断する。さらに、入力コマンド信号に含まれるコマンドがステータス要求コマンドであるときは、ステータス管理部１２１Ａから、コアプロセッサ１３のステータスがブレーク状態であることを通知するブレーク通知信号を受信しているか否かを判断し、ブレーク通知信号を受信しているときは、出力コマンド信号を出力することを禁止する出力禁止信号Ｓ１１８３をコマンド中継部１１８１出力し、かつ、入力コマンド信号の末尾に格納されたデータＤ１４及びＤ１５を書き換えることにより（図２１参照。）、ブレーク及びステータス要求コマンドを発生し、当該コマンドを含む出力コマンド信号をコマンド送信部１１２に出力する。
【００６４】
本実施形態によれば、図１９のコマンド変更部１１８３Ａは、コマンド受信部１１１からの入力コマンド信号を受信中に、当該入力コマンド信号に含まれるコマンドがステータス要求コマンドであるか否かを、入力コマンド信号の先頭部分のコマンドタイプ格納部に格納されたデータに基づいて判断し、入力コマンド信号の末尾のデータを変更するすることによりステータス要求コマンドをブレーク及びステータス要求コマンドに変更する。従って、コマンド変更部１１８３Ａは、入力コマンド信号全体を受信し終わる前に、入力コマンド信号を受信しながら、出力コマンド信号を出力できる。従って、コマンド信号がシリアル通信で伝送される場合、上記各実施形態に比較して、各プロセッサ装置で入力コマンド信号の受信を開始してから、出力コマンド信号の送信を終了するまでの遅延時間を最小限にできる。このため、上記各実施形態に比較して、各プロセッサ装置のコアプロセッサ１３によるプログラムの実行を、短時間でブレークさせることができる。
【００６５】
第６の実施形態．
図２２は、本発明の第６の実施形態に係る応答制御部１１６Ｃの構成を示すブロック図である。また、図２３は、信号線ＲＸ２を介して図２２の応答中継部１１６１Ａが受信した応答信号と、当該応答信号に含まれるステータスデータＤ８を図２２の応答中継部１１６１Ａが書き換えた場合に応答制御部１１６Ｃが信号線ＲＸ１を介して出力する応答信号とを示すタイミングチャートである。さらに、図２４は、本発明の第６の実施形態において、信号線ＴＸ０〜ＴＸＮを介して伝送されるコマンド信号及び信号線ＲＸ０〜ＲＸＮを介して伝送される応答信号の伝送タイミングを示すタイミングチャートである。
【００６６】
図２３において、各応答信号はシリアルデータ信号であって、プロセッサ装置１Ｃ−１〜１Ｃ−Ｎにそれぞれ割り当てられたビット位置に、プロセッサ装置１Ｃ−１〜１Ｃ−Ｎの各コアプロセッサ１３のステータスを表すビットデータを格納する。図２２において、応答制御部１１６Ｃは、図１６の応答制御部１１６Ｂに比較して、応答情報出力部１１６３に代えて応答情報出力部１１６３Ａを備えたことを特徴としている。応答情報出力部１１６３Ａは、入力応答信号を応答受信部１１３から受信したタイミングから、出力応答信号を応答送信部１１４に送信するタイミングまでの遅延時間を最小にするように、応答中継部１１６１に出力する遅延時間を設定する。具体的には、応答中継部１１６１が入力応答信号を受信しながら、当該入力応答信号の対応するビットデータ（図２３の場合、データＤ８である。）を、コアプロセッサ１３のステータスを表すデータに書き換えて出力応答信号として出力できるように、遅延時間を設定する。
【００６７】
本実施形態によれば、図２４に示すように、応答中継部１１６１は、入力応答信号の受信中に、入力応答信号の所定のビット位置のデータを変更することにより、コアプロセッサ１３のステータスを含む出力応答信号を出力できる。従って、応答信号がシリアル通信で伝送される場合、上記各実施形態に比較して、各プロセッサ装置で入力応答信号の受信を開始してから、出力応答信号の送信を終了するまでの遅延時間を最小限にできる。このため、上記各実施形態に比較して、各プロセッサ装置のコアプロセッサ１３によるプログラムの実行を、短時間でブレークさせることができる。
【００６８】
上記各実施形態において、通信部１１，１１Ａ，１１Ｂ，１１Ｃは、ブレーク及びステータス要求コマンドを後段のプロセッサ装置に送信してから、遅延出力設定部１１７４（図４参照。）によって設定された遅延時間だけ経過した後に、コアプロセッサ１３がプログラムの実行をブレークしていることを示す出力応答信号を、前段のプロセッサ装置に送信したが、本発明はこれに限られない。通信部１１，１１Ａ，１１Ｂ，１１Ｃは、ブレーク及びステータス要求コマンドを後段のプロセッサ装置に送信すると同時に、コアプロセッサ１３がプログラムの実行をブレークしていることを示す出力応答信号を、前段のプロセッサ装置に送信してもよい。
【産業上の利用可能性】
【００６９】
以上説明したように、本発明に係るデバッグ回路、プロセッサ装置及びデバッグシステムによれば、制御手段は、コアプロセッサがプログラムの実行をブレークしていることを検出したとき、ブレーク通知信号を発生して通信手段に送信する。通信手段は、前段の通信装置から所定の第１のコマンドを受信したとき、制御手段からブレーク通知信号を受信したときは、受信した第１のコマンドに代えて、コアプロセッサによるプログラムの実行をブレークさせるための第２のコマンドを後段の通信装置に送信する一方、ブレーク通知信号を受信しなかったときは、受信した第１のコマンドを後段の通信装置に送信する。さらに、通信手段は、前段の通信装置から第２のコマンドを受信したとき、制御手段を、コアプロセッサによるプログラムの実行をブレークするように制御する。従って、ブレーク状態にあるコアプロセッサを備えたプロセッサ装置よりも後段のプロセッサ装置を、ホスト装置からブレークコマンドを出力することなく、従来技術に比較して短時間でブレーク状態にできるので、従来技術に比較して効率的なデバッグ環境を提供できる。
【符号の説明】
【００７０】
１−１〜１−Ｎ，１Ａ−１〜１Ａ−Ｎ，１Ｂ−１〜１Ｂ−Ｎ，１Ｃ−１〜１Ｃ−Ｎ…プロセッサ装置、
１０…ＩＣＥ、
１０ｃ…コマンド発行部、
１１，１１Ａ，１１Ｂ，１１Ｃ…通信部、
１２，１２Ａ，１２Ｂ…制御部、
１３…コアプロセッサ、
１４，１４Ａ，１４Ｂ，１４Ｃ…デバッグ回路、
１１１…コマンド受信部、
１１２…コマンド送信部、
１１３…応答受信部、
１１４…応答送信部、
１１５，１１５Ａ…コマンド実行部、
１１６，１１６Ａ，１１６Ｂ，１１６Ｃ…応答制御部、
１１７…ＩＤ管理部、
１１８，１１８Ａ，１１８Ｂ…コマンド制御部、
１２１，１２１Ａ…ステータス管理部、
１２２，１２２Ａ…コア制御部、
１２３…ブレーク及びステータス要求コマンド発行指示部、
１３１…メモリ、
１１６１…応答中継部、
１１６２，１１６２Ａ…応答出力遅延管理部、
１１６３，１１６３Ａ…応答情報出力部、
１１６４…ブレークデバイス判定部、
１１６５…応答検出部、
１１７１…ＩＤ設定部、
１１７２…対象ＩＤ記憶部、
１１７３…ＩＤ比較部、
１１７４…遅延出力設定部、
１１７５…応答コマンド検出部、
１１８１，１１８１Ａ…コマンド中継部、
１１８２…設定ＩＤ加算部、
１１８３，１１８３Ａ…コマンド変更部、
１１８４…コマンド発行部。
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特開２０１０−５７１６４号公報。
【特許文献２】特許第４２０４２２６号公報。
【特許文献３】特開平９−２００２１０号公報。
【特許文献４】特表２００９−５３１７４６号公報。
【特許文献５】特開２００１−３１０２８１号公報。
【図１】
0005716458.tif 000002
【図２】
0005716458.tif 000003
【図３】
0005716458.tif 000004
【図４】
0005716458.tif 000005
【図５】
0005716458.tif 000006
【図６】
0005716458.tif 000007
【図７】
0005716458.tif 000008
【図８】
0005716458.tif 000009
【図９】
0005716458.tif 000010
【図１０】
0005716458.tif 000011
【図１１】
0005716458.tif 000012
【図１２】
0005716458.tif 000013
【図１３】
0005716458.tif 000014
【図１４】
0005716458.tif 000015
【図１５】
0005716458.tif 000016
【図１６】
0005716458.tif 000017
【図１７】
0005716458.tif 000018
【図１８】
0005716458.tif 000019
【図１９】
0005716458.tif 000020
【図２０】
0005716458.tif 000021
【図２１】
0005716458.tif 000022
【図２２】
0005716458.tif 000023
【図２３】
0005716458.tif 000024
【図２４】
0005716458.tif 000025