(57)【要約】【課題】コストの低減を図りつつ、複数のプロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムを得る。【解決手段】チップ１は、ＣＰＵ７０，７１と、デバッグ実行部８０，８１と、ＴＡＰコントローラ９０，９１と、選択回路１０と、端子２〜６を含む一組の端子群とを備えている。ＣＰＵ７０のみのデバッグを実行する場合、ＴＡＰコントローラ１００は、信号Ｓ１１が「Ｈ」、信号Ｓ１２が「Ｌ」になるように、レジスタ１０１を設定する。ＣＰＵ７１のみのデバッグを実行する場合、ＴＡＰコントローラ１００は、信号Ｓ１１が「Ｌ」、信号Ｓ１２が「Ｈ」になるように、レジスタ１０１を設定する。ＣＰＵ７０，７１の双方のデバッグを実行する場合、ＴＡＰコントローラ１００は、信号Ｓ１１，Ｓ１２がともに「Ｈ」になるように、レジスタ１０１を設定する。【選択図】        図１
2004164367.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサと、
前記複数のプロセッサのデバッグを実行する、少なくとも一つのデバッグ実行部と、
前記デバッグ実行部を制御する、少なくとも一つのコントローラと、
外部のデバッグ装置に接続される、一組の端子群と、
前記複数のプロセッサの中から、デバックを実行すべき少なくとも一つ又は全部のプロセッサを選択する選択回路と
を備える、マルチプロセッサシステム。
【請求項２】
前記複数のプロセッサは、第１及び第２のプロセッサを含み、
前記デバッグ実行部は、前記第１のプロセッサに接続された第１のデバッグ実行部と、前記第２のプロセッサに接続された第２のデバッグ実行部とを含み、
前記コントローラは、前記第１のデバッグ実行部に接続された第１のコントローラと、前記第２のデバッグ実行部に接続された第２のコントローラとを含み、
前記選択回路は、前記第１及び第２のコントローラと前記端子群との間に接続されており、
前記選択回路は、前記デバッグ装置から前記端子群を介して入力されてきたデバッグ用の信号を、前記第１及び第２のコントローラのうちの一方又は双方に入力する、請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記複数のプロセッサは、第１及び第２のプロセッサを含み、
前記デバッグ実行部は、前記第１のプロセッサに接続された第１のデバッグ実行部と、前記第２のプロセッサに接続された第２のデバッグ実行部とを含み、
前記選択回路は、前記第１及び第２のデバッグ実行部と前記コントローラとの間に接続されており、
前記コントローラは、前記端子群に接続されており、
前記選択回路は、前記コントローラから出力されたデバッグ用の信号を、前記第１及び第２のデバッグ実行部のうちの一方又は双方に入力する、請求項１に記載のマルチプロセッサシステム。
【請求項４】
前記複数のプロセッサは、第１及び第２のプロセッサを含み、
前記選択回路は、前記第１及び第２のプロセッサと前記デバッグ実行部との間に接続されており、
前記デバッグ実行部は前記コントローラに接続されており、
前記コントローラは前記端子群に接続されており、
前記選択回路は、前記デバッグ実行部から出力されたデバッグ用の信号を、前記第１及び第２のプロセッサのうちの一方又は双方に入力する、請求項１に記載のマルチプロセッサシステム。
【請求項５】
前記選択回路は、所定のレジスタの設定に基づいて、デバックを実行すべき前記プロセッサを選択する、請求項１〜４のいずれか一つに記載のマルチプロセッサシステム。
【請求項６】
前記選択回路は、外部から所定の端子に入力される選択信号に基づいて、デバッグを実行すべき前記プロセッサを選択する、請求項１〜４のいずれか一つに記載のマルチプロセッサシステム。
【請求項７】
第１及び第２のプロセッサと、
前記第１のプロセッサに接続された第１のデバッグ実行部、及び前記第２のプロセッサに接続された第２のデバッグ実行部と、
前記第１のデバッグ実行部に接続された第１のコントローラ、及び前記第２のデバッグ実行部に接続された第２のコントローラと、
前記第１のコントローラに選択的に接続された第１の端子群、及び前記第２のコントローラに選択的に接続された第２の端子群と、
前記第１の端子群と前記第１及び第２のコントローラとの間に接続された選択回路と
を備え、
前記第１及び第２の端子群の双方にデバッグ装置がそれぞれ接続される第１モードにおいて、前記選択回路は、前記第１のコントローラと前記第１の端子群とを接続するとともに、前記第２のコントローラと前記第２の端子群とを接続し、
前記第１の端子群のみに前記デバッグ装置が接続される第２モードにおいて、前記選択回路は、前記デバッグ装置から前記第１の端子群を介して入力されてきたデバッグ用の信号を、前記第１及び第２のコントローラのうちの一方又は双方に入力する、マルチプロセッサシステム。
【請求項８】
前記第１モードと前記第２モードとの切り替えは、外部から所定の端子に入力される選択信号に基づいて行われる、請求項７に記載のマルチプロセッサシステム。
【請求項９】
前記第１モードと前記第２モードとの切り替えは、所定のレジスタの設定に基づいて行われる、請求項７に記載のマルチプロセッサシステム。
【請求項１０】
前記第２の端子群に前記デバッグ装置が接続されているか否かを検出する検出回路をさらに備え、
前記第１モードと前記第２モードとの切り替えは、前記検出回路の検出結果に基づいて行われる、請求項７に記載のマルチプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はマルチプロセッサシステムに関し、特に、プロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムに関するものである。
【０００２】
【従来の技術】
従来の第１のマルチプロセッサシステムでは、搭載されているプロセッサの個数と同数のデバッグ用端子群が設けられている。そして、各端子群にデバッグ装置をそれぞれ接続することにより、各デバッグ装置を用いて各プロセッサのデバッグが独立に行われている。
【０００３】
従来の第２のマルチプロセッサシステムでは、一組のデバッグ用端子群が設けられている。そして、各プロセッサに接続されている各ＴＡＰコントローラをシリアルに接続することにより、１台のデバッグ装置を用いて全てのプロセッサに関するデバッグが行われている。
【０００４】
なお、プロセッサのデバッグに関する技術が、下記の特許文献１，２に記載されている。
【０００５】
【特許文献１】
特開２０００−７３３６３号公報
【特許文献２】
特開２０００−２４２０１号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の第１のマルチプロセッサシステムによると、搭載されているプロセッサの個数が増えると、それに応じてデバッグ用端子群及びデバッグ装置を追加する必要があるため、コストの上昇を招くという問題がある。
【０００７】
また、従来の第２のマルチプロセッサシステムによると、常に全てのＴＡＰコントローラを経由して全てのプロセッサに関するデバッグが行われるため、デバッグの所要時間が長くなるという問題がある。
【０００８】
本発明はかかる問題を解決するために成されたものであり、コストの低減を図りつつ、複数のプロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムを得ることを目的とする。
【０００９】
【課題を解決するための手段】
第１の発明に係るマルチプロセッサシステムは、複数のプロセッサと、複数のプロセッサのデバッグを実行する、少なくとも一つのデバッグ実行部と、デバッグ実行部を制御する、少なくとも一つのコントローラと、外部のデバッグ装置に接続される、一組の端子群と、複数のプロセッサの中から、デバックを実行すべき少なくとも一つ又は全部のプロセッサを選択する選択回路とを備える。
【００１０】
第２の発明に係るマルチプロセッサシステムは、第１及び第２のプロセッサと、第１のプロセッサに接続された第１のデバッグ実行部、及び第２のプロセッサに接続された第２のデバッグ実行部と、第１のデバッグ実行部に接続された第１のコントローラ、及び第２のデバッグ実行部に接続された第２のコントローラと、第１のコントローラに選択的に接続された第１の端子群、及び第２のコントローラに選択的に接続された第２の端子群と、第１の端子群と第１及び第２のコントローラとの間に接続された選択回路とを備え、第１及び第２の端子群の双方にデバッグ装置がそれぞれ接続される第１モードにおいて、選択回路は、第１のコントローラと第１の端子群とを接続するとともに、第２のコントローラと第２の端子群とを接続し、第１の端子群のみにデバッグ装置が接続される第２モードにおいて、選択回路は、デバッグ装置から第１の端子群を介して入力されてきたデバッグ用の信号を、第１及び第２のコントローラのうちの一方又は双方に入力する。
【００１１】
【発明の実施の形態】
以下、説明の簡略化のため２個のＣＰＵを備えるマルチプロセッサシステムを例にとり、本発明の実施の形態について具体的に説明する。但し、ＣＰＵの数は２個に限定されるものではなく、３個以上のＣＰＵを備えるマルチプロセッサに対しても、本発明は適用可能である。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１に係るマルチプロセッサシステムの構成を示すブロック図である。チップ１は、複数のＣＰＵ７０，７１と、ＣＰＵ７０，７１のデバッグを実行するデバッグ実行部８０，８１と、デバッグ実行部８０，８１を制御するＴＡＰコントローラ９０，９１と、ＣＰＵ７０，７１の中から、デバックを実行すべき少なくとも一つのＣＰＵを選択する選択回路１０と、端子２〜６を含む一組の端子群とを備えている。ＣＰＵ７０，７１は、それぞれデバッグ実行部８０，８１に接続されており、デバッグ実行部８０，８１は、それぞれＴＡＰコントローラ９０，９１に接続されている。選択回路１０は、ＴＡＰコントローラ９０，９１と端子２〜６との間に接続されている。端子２〜６には、ＪＴＡＧ規格に準拠したＩＣＥ等のデバッグ装置（図示しない）が接続される。
【００１３】
選択回路１０は、ＴＡＰコントローラ１００、レジスタ１０１、ＡＮＤ回路１０２〜１０５、及びセレクタ１０６，１０７を備えている。ＡＮＤ回路１０２の一方の入力端子は端子４に、他方の入力端子はレジスタ１０１に、出力端子はＴＡＰコントローラ９０のＴＭＳ端子に、それぞれ接続されている。ＡＮＤ回路１０３の一方の入力端子は端子５に、他方の入力端子はレジスタ１０１に、出力端子はＴＡＰコントローラ９０のＴＤＩ端子に、それぞれ接続されている。ＡＮＤ回路１０４の一方の入力端子は端子４に、他方の入力端子はレジスタ１０１に、出力端子はＴＡＰコントローラ９１のＴＭＳ端子に、それぞれ接続されている。ＡＮＤ回路１０５の一方の入力端子は端子５に、他方の入力端子はレジスタ１０１に、出力端子はＴＡＰコントローラ９１のＴＤＩ端子に、それぞれ接続されている。セレクタ１０６の一方の入力端子はＴＡＰコントローラ９０のＴＤＯ端子に、他方の入力端子はＴＡＰコントローラ９１のＴＤＯ端子に、出力端子はセレクタ１０７を介して端子６に、それぞれ接続されている。
【００１４】
次に、本実施の形態１に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきＣＰＵを選択するために、デバッグ装置又はＣＰＵ７０，７１からＴＡＰコントローラ１００にアクセスする。ＣＰＵ７０のみのデバッグを実行する場合、ＴＡＰコントローラ１００は、信号Ｓ１１が「Ｈ（ｈｉｇｈ）」、信号Ｓ１２が「Ｌ（Ｌｏｗ）」、信号Ｓ１０が「Ｌ」になるように、レジスタ１０１を設定する。ＣＰＵ７１のみのデバッグを実行する場合、ＴＡＰコントローラ１００は、信号Ｓ１１が「Ｌ」、信号Ｓ１２が「Ｈ」、信号Ｓ１０が「Ｈ」になるように、レジスタ１０１を設定する。ＣＰＵ７０，７１の双方のデバッグを実行する場合、ＴＡＰコントローラ１００は、信号Ｓ１１，Ｓ１２がともに「Ｈ」になるように、レジスタ１０１を設定する。また、この場合、信号Ｓ１０が順次に「Ｌ」「Ｈ」となるように、レジスタ１０１が設定される。
【００１５】
信号Ｓ１１は、ＡＮＤ回路１０２，１０３の各他方の入力端子にそれぞれ入力される。信号Ｓ１２は、ＡＮＤ回路１０４，１０５の各他方の入力端子にそれぞれ入力される。信号Ｓ１０は、セレクタ１０６の選択端子に入力される。
【００１６】
次に、デバッグ装置から端子４を介して、ＡＮＤ回路１０２，１０４の各一方の入力端子に、ＴＭＳ信号がそれぞれ入力される。また、デバッグ装置から端子５を介して、ＡＮＤ回路１０３，１０５の各一方の入力端子に、ＴＤＩ信号がそれぞれ入力される。ＴＡＰコントローラ９０，９１の各ＴＣＫ端子には、デバッグ装置から端子２を介してＴＣＫ信号がそれぞれ入力され、ＴＡＰコントローラ９０，９１の各ＴＲＳＴ端子には、デバッグ装置から端子３を介してＴＲＳＴ信号がそれぞれ入力される。
【００１７】
上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ１１は「Ｈ」、信号Ｓ１２は「Ｌ」である。従って、ＴＭＳ信号及びＴＤＩ信号は、ＡＮＤ回路１０２，１０３の各出力端子から、ＴＡＰコントローラ９０のＴＭＳ端子及びＴＤＩ端子に、それぞれ入力される。一方、ＴＡＰコントローラ９１のＴＭＳ端子及びＴＤＩ端子には、ＴＭＳ信号及びＴＤＩ信号は入力されない。
【００１８】
ＴＡＰコントローラ９０は、所定のコマンドを生成してデバッグ実行部８０に入力する。デバッグ実行部８０は、ＣＰＵ７０にブレーク要求、スタート要求、命令コードを入力し、ＣＰＵ７０のデバッグが実行される。デバッグの結果に関するデータは、ＣＰＵ７０からデバッグ実行部８０を介してＴＡＰコントローラ９０に入力される。上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ１０は「Ｌ」である。また、セレクタ１０７は、通常はセレクタ１０６側に設定されている。従って、データは、ＴＡＰコントローラ９０のＴＤＯ端子から、セレクタ１０６，１０７及び端子６を介して、外部に出力される。
【００１９】
また、上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ１１は「Ｌ」、信号Ｓ１２は「Ｈ」である。従って、ＴＭＳ信号及びＴＤＩ信号は、ＡＮＤ回路１０４，１０５の各出力端子から、ＴＡＰコントローラ９１のＴＭＳ端子及びＴＤＩ端子に、それぞれ入力される。一方、ＴＡＰコントローラ９０のＴＭＳ端子及びＴＤＩ端子には、ＴＭＳ信号及びＴＤＩ信号は入力されない。
【００２０】
ＴＡＰコントローラ９１は、所定のコマンドを生成してデバッグ実行部８１に入力する。デバッグ実行部８１は、ＣＰＵ７１にブレーク要求、スタート要求、命令コードを入力し、ＣＰＵ７１のデバッグが実行される。デバッグの結果に関するデータは、ＣＰＵ７１からデバッグ実行部８１を介してＴＡＰコントローラ９１に入力される。上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ１０は「Ｈ」である。また、セレクタ１０７は、通常はセレクタ１０６側に設定されている。従って、データは、ＴＡＰコントローラ９１のＴＤＯ端子から、セレクタ１０６，１０７及び端子６を介して、外部に出力される。
【００２１】
さらに、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ１１，Ｓ１２はともに「Ｈ」である。従って、ＴＭＳ信号は、ＡＮＤ回路１０２，１０４の各出力端子から、ＴＡＰコントローラ９０，９１の各ＴＭＳ端子に、それぞれ入力される。また、ＴＤＩ信号は、ＡＮＤ回路１０３，１０５の各出力端子から、ＴＡＰコントローラ９０，９１の各ＴＤＩ端子に、それぞれ入力される。その結果、上記と同様にしてＣＰＵ７０，７１のデバッグが実行される。
【００２２】
上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ１０は順次に「Ｌ」「Ｈ」となる。従って、端子６からは、ＣＰＵ７０のデバッグの結果に関するデータ、及びＣＰＵ７１のデバッグの結果に関するデータが、この順に出力される。
【００２３】
このように本実施の形態１に係るマルチプロセッサシステムは、端子２〜６を含む一組の端子群のみを備える。そして、選択回路１０によって、複数のＣＰＵ７０，７１の中から、デバックを実行すべき少なくとも一つのＣＰＵが選択される。従って、チップ１に搭載されているＣＰＵの個数が増えたとしても、それに応じて端子２〜６を追加する必要がない。その結果、一台のデバッグ装置のみを用いて複数のＣＰＵ７０，７１のデバッグを実行できるため、コストの低減を図ることができる。
【００２４】
また、選択回路１０によって全てのＣＰＵ７０，７１が選択された場合は、全てのＣＰＵ７０，７１に関して同時にデバッグが行われる。そのため、複数のＣＰＵ７０，７１を備えるマルチプロセッサシステムにおいて、ＣＰＵ７０，７１のデバッグを効率的に実行することができる。
【００２５】
さらに、レジスタ１０１を用いた簡単な構成によって選択回路１０が実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【００２６】
実施の形態２．
図２は、本発明の実施の形態２に係るマルチプロセッサシステムの構成を示すブロック図である。チップ１は、ＣＰＵ７０，７１と、デバッグ実行部８０，８１と、ＴＡＰコントローラ９０，９１と、ＣＰＵ７０，７１の中から、デバックを実行すべき少なくとも一つのＣＰＵを選択する選択回路２０と、端子２〜６と、端子２１〜２３とを備えている。
【００２７】
選択回路２０は、ＡＮＤ回路２００〜２０３及びセレクタ２０４を備えている。ＡＮＤ回路２００の一方の入力端子は端子４に、他方の入力端子は端子２１に、出力端子はＴＡＰコントローラ９０のＴＭＳ端子に、それぞれ接続されている。ＡＮＤ回路２０１の一方の入力端子は端子５に、他方の入力端子は端子２１に、出力端子はＴＡＰコントローラ９０のＴＤＩ端子に、それぞれ接続されている。ＡＮＤ回路２０２の一方の入力端子は端子４に、他方の入力端子は端子２３に、出力端子はＴＡＰコントローラ９１のＴＭＳ端子に、それぞれ接続されている。ＡＮＤ回路２０３の一方の入力端子は端子５に、他方の入力端子は端子２３に、出力端子はＴＡＰコントローラ９１のＴＤＩ端子に、それぞれ接続されている。セレクタ２０４の一方の入力端子はＴＡＰコントローラ９０のＴＤＯ端子に、他方の入力端子はＴＡＰコントローラ９１のＴＤＯ端子に、出力端子は端子６に、それぞれ接続されている。
【００２８】
次に、本実施の形態２に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきＣＰＵを選択するために、チップ１の外部から端子２１，２２，２３に、それぞれ信号Ｓ２１，Ｓ２０，Ｓ２２を入力する。ＣＰＵ７０のみのデバッグを実行する場合は、「Ｈ」の信号Ｓ２１、「Ｌ」の信号Ｓ２２、「Ｌ」の信号Ｓ２０が入力される。ＣＰＵ７１のみのデバッグを実行する場合は、「Ｌ」の信号Ｓ２１、「Ｈ」の信号Ｓ２２、「Ｈ」の信号Ｓ２０が入力される。ＣＰＵ７０，７１の双方のデバッグを実行する場合は、いずれも「Ｈ」の信号Ｓ２１，Ｓ２２が入力される。また、この場合は、「Ｌ」「Ｈ」の信号Ｓ２０が順次に入力される。
【００２９】
信号Ｓ２１は、ＡＮＤ回路２００，２０１の各他方の入力端子にそれぞれ入力される。信号Ｓ２２は、ＡＮＤ回路２０２，２０３の各他方の入力端子にそれぞれ入力される。信号Ｓ２０は、セレクタ２０４の選択端子に入力される。
【００３０】
次に、デバッグ装置から端子４を介して、ＡＮＤ回路２００，２０２の各一方の入力端子に、ＴＭＳ信号がそれぞれ入力される。また、デバッグ装置から端子５を介して、ＡＮＤ回路２０１，２０３の各一方の入力端子に、ＴＤＩ信号がそれぞれ入力される。
【００３１】
上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ２１は「Ｈ」、信号Ｓ２２は「Ｌ」である。従って、ＴＭＳ信号及びＴＤＩ信号は、ＡＮＤ回路２００，２０１の各出力端子から、ＴＡＰコントローラ９０のＴＭＳ端子及びＴＤＩ端子に、それぞれ入力される。一方、ＴＡＰコントローラ９１のＴＭＳ端子及びＴＤＩ端子には、ＴＭＳ信号及びＴＤＩ信号は入力されない。その結果、上記実施の形態１と同様にして、ＣＰＵ７０のみのデバッグが実行される。また、上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ２０は「Ｌ」である。従って、ＣＰＵ７０のデバッグの結果に関するデータは、ＴＡＰコントローラ９０のＴＤＯ端子から、セレクタ２０４及び端子６を介して、外部に出力される。
【００３２】
また、上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ２１は「Ｌ」、信号Ｓ２２は「Ｈ」である。従って、ＴＭＳ信号及びＴＤＩ信号は、ＡＮＤ回路２０２，２０３の各出力端子から、ＴＡＰコントローラ９１のＴＭＳ端子及びＴＤＩ端子に、それぞれ入力される。一方、ＴＡＰコントローラ９０のＴＭＳ端子及びＴＤＩ端子には、ＴＭＳ信号及びＴＤＩ信号は入力されない。その結果、上記実施の形態１と同様にして、ＣＰＵ７１のみのデバッグが実行される。また、上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ２０は「Ｈ」である。従って、ＣＰＵ７１のデバッグの結果に関するデータは、ＴＡＰコントローラ９１のＴＤＯ端子から、セレクタ２０４及び端子６を介して、外部に出力される。
【００３３】
さらに、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ２１，Ｓ２２はともに「Ｈ」である。従って、ＴＭＳ信号は、ＡＮＤ回路２００，２０２の各出力端子から、ＴＡＰコントローラ９０，９１の各ＴＭＳ端子に、それぞれ入力される。また、ＴＤＩ信号は、ＡＮＤ回路２０１，２０３の各出力端子から、ＴＡＰコントローラ９０，９１の各ＴＤＩ端子に、それぞれ入力される。その結果、ＣＰＵ７０，７１のデバッグが実行される。また、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ２０は順次に「Ｌ」「Ｈ」となる。従って、端子６からは、ＣＰＵ７０のデバッグの結果に関するデータ、及びＣＰＵ７１のデバッグの結果に関するデータが、この順に出力される。
【００３４】
このように本実施の形態２に係るマルチプロセッサシステムは、端子２〜６を含む一組の端子群のみを備える。そして、選択回路２０によって、複数のＣＰＵ７０，７１の中から、デバックを実行すべき少なくとも一つのＣＰＵが選択される。従って、チップ１に搭載されているＣＰＵの個数が増えたとしても、それに応じて端子２〜６を追加する必要がない。その結果、一台のデバッグ装置のみを用いて複数のＣＰＵ７０，７１のデバッグを実行できるため、コストの低減を図ることができる。
【００３５】
また、選択回路２０によって全てのＣＰＵ７０，７１が選択された場合は、全てのＣＰＵ７０，７１に関して同時にデバッグが行われる。そのため、複数のＣＰＵ７０，７１を備えるマルチプロセッサシステムにおいて、ＣＰＵ７０，７１のデバッグを効率的に実行することができる。
【００３６】
さらに、端子２１〜２３を用いた簡単な構成によって選択回路２０が実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【００３７】
実施の形態３．
図３は、本発明の実施の形態３に係るマルチプロセッサシステムの構成を示すブロック図である。チップ１は、複数のＣＰＵ７０，７１と、デバッグ実行部８０，８１と、デバッグ実行部８０，８１を制御するＴＡＰコントローラ９と、ＣＰＵ７０，７１の中から、デバックを実行すべき少なくとも一つのＣＰＵを選択する選択回路３０と、端子２〜６を含む一組の端子群とを備えている。ＣＰＵ７０，７１は、それぞれデバッグ実行部８０，８１に接続されており、ＴＡＰコントローラ９は、端子２〜６に接続されている。選択回路３０は、デバッグ実行部８０，８１とＴＡＰコントローラ９との間に接続されている。
【００３８】
選択回路３０は、レジスタ３００、ＡＮＤ回路３０１，３０２、及びセレクタ３０３を備えている。ＡＮＤ回路３０１の一方の入力端子はＴＡＰコントローラ９に、他方の入力端子はレジスタ３００に、出力端子はデバッグ実行部８０に、それぞれ接続されている。ＡＮＤ回路３０２の一方の入力端子はＴＡＰコントローラ９に、他方の入力端子はレジスタ３００に、出力端子はデバッグ実行部８１に、それぞれ接続されている。セレクタ３０３の一方の入力端子はデバッグ実行部８０に、他方の入力端子はデバッグ実行部８１に、出力端子はＴＡＰコントローラ９に、それぞれ接続されている。
【００３９】
次に、本実施の形態３に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきＣＰＵを選択するために、デバッグ装置又はＣＰＵ７０，７１によってレジスタ３００がアクセスされる。ＣＰＵ７０のみのデバッグを実行する場合は、信号Ｓ３１が「Ｈ」、信号Ｓ３２が「Ｌ」、信号Ｓ３０が「Ｌ」になるように、レジスタ３００が設定される。ＣＰＵ７１のみのデバッグを実行する場合は、信号Ｓ３１が「Ｌ」、信号Ｓ３２が「Ｈ」、信号Ｓ３０が「Ｈ」になるように、レジスタ３００が設定される。ＣＰＵ７０，７１の双方のデバッグを実行する場合は、信号Ｓ３１，Ｓ３２がともに「Ｈ」になるように、レジスタ３００が設定される。また、この場合は、信号Ｓ３０が順次に「Ｌ」「Ｈ」となるように、レジスタ３００が設定される。
【００４０】
信号Ｓ３１は、ＡＮＤ回路３０１の他方の入力端子に入力される。信号Ｓ３２は、ＡＮＤ回路３０２の他方の入力端子に入力される。信号Ｓ３０は、セレクタ３００の選択端子に入力される。
【００４１】
次に、デバッグ装置から端子２〜６を介して、ＴＡＰコントローラ９のＴＣＫ端子、ＴＲＳＴ端子、ＴＭＳ端子、ＴＤＩ端子に、ＴＣＫ信号、ＴＲＳＴ信号、ＴＭＳ信号、ＴＤＩ信号がそれぞれ入力される。そして、ＴＡＰコントローラ９は、所定のコマンドを生成して出力する。
【００４２】
上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ３１は「Ｈ」、信号Ｓ３２は「Ｌ」である。従って、ＴＡＰコントローラ９から出力されたコマンドは、ＡＮＤ回路３０１の出力端子から出力されて、デバッグ実行部８０に入力される。一方、デバッグ実行部８１にはコマンドは入力されない。
【００４３】
デバッグ実行部８０は、ＣＰＵ７０にブレーク要求、スタート要求、命令コードを入力し、ＣＰＵ７０のデバッグが実行される。デバッグの結果に関するデータは、ＣＰＵ７０からデバッグ実行部８０に入力される。上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ３０は「Ｌ」である。従って、データは、デバッグ実行部８０から、セレクタ３０３、ＴＡＰコントローラ９、及び端子６を介して、外部に出力される。
【００４４】
また、上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ３１は「Ｌ」、信号Ｓ３２は「Ｈ」である。従って、ＴＡＰコントローラ９から出力されたコマンドは、ＡＮＤ回路３０２の出力端子から出力されて、デバッグ実行部８１に入力される。一方、デバッグ実行部８０にはコマンドは入力されない。
【００４５】
デバッグ実行部８１は、ＣＰＵ７１にブレーク要求、スタート要求、命令コードを入力し、ＣＰＵ７１のデバッグが実行される。デバッグの結果に関するデータは、ＣＰＵ７１からデバッグ実行部８１に入力される。上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ３０は「Ｈ」である。従って、データは、デバッグ実行部８１から、セレクタ３０３、ＴＡＰコントローラ９、及び端子６を介して、外部に出力される。
【００４６】
さらに、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ３１，Ｓ３２はともに「Ｈ」である。従って、ＴＡＰコントローラ９から出力されたコマンドは、ＡＮＤ回路３０１，３０２の各出力端子から出力されて、デバッグ実行部８０，８１にそれぞれ入力される。その結果、上記と同様にしてＣＰＵ７０，７１のデバッグが実行される。また、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ３０は順次に「Ｌ」「Ｈ」となる。従って、端子６からは、ＣＰＵ７０のデバッグの結果に関するデータ、及びＣＰＵ７１のデバッグの結果に関するデータが、この順に出力される。
【００４７】
なお、以上の説明では、選択回路３０は、デバックを実行すべきＣＰＵ７０，７１を、レジスタ３００の設定に基づいて選択したが、上記実施の形態２のように、外部から所定の端子２１〜２３に入力される選択信号に基づいて選択するよう構成してもよい。
【００４８】
このように本実施の形態３に係るマルチプロセッサシステムによれば、選択回路３０は、デバッグ実行部８０，８１とＴＡＰコントローラ９との間に接続されている。従って、各ＣＰＵ７０，７１に対応してＴＡＰコントローラ９０，９１を個別に設ける必要がないため、上記実施の形態１，２と比較して、システム構成の簡略化を図ることができる。
【００４９】
実施の形態４．
図４は、本発明の実施の形態４に係るマルチプロセッサシステムの構成を示すブロック図である。チップ１は、複数のＣＰＵ７０，７１と、デバッグ実行部８と、デバッグ実行部８を制御するＴＡＰコントローラ９と、ＣＰＵ７０，７１の中から、デバックを実行すべき少なくとも一つのＣＰＵを選択する選択回路４０と、端子２〜６を含む一組の端子群とを備えている。ＴＡＰコントローラ９は端子２〜６に接続されており、デバッグ実行部８はＴＡＰコントローラ９に接続されている。選択回路４０は、ＣＰＵ７０，７１とデバッグ実行部８との間に接続されている。
【００５０】
選択回路４０は、レジスタ４００、ＡＮＤ回路４０２，４０３、及びセレクタ４０１を備えている。ＡＮＤ回路４０２の一方の入力端子はデバッグ実行部８に、他方の入力端子はレジスタ４００に、出力端子はＣＰＵ７０に、それぞれ接続されている。ＡＮＤ回路４０３の一方の入力端子はデバッグ実行部８に、他方の入力端子はレジスタ４００に、出力端子はＣＰＵ７１に、それぞれ接続されている。セレクタ４０１の一方の入力端子はＣＰＵ７０に、他方の入力端子はＣＰＵ７１に、出力端子はデバッグ実行部８に、それぞれ接続されている。
【００５１】
次に、本実施の形態４に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきＣＰＵを選択するために、デバッグ装置又はＣＰＵ７０，７１によってレジスタ４００がアクセスされる。ＣＰＵ７０のみのデバッグを実行する場合は、信号Ｓ４１が「Ｈ」、信号Ｓ４２が「Ｌ」、信号Ｓ４０が「Ｌ」になるように、レジスタ４００が設定される。ＣＰＵ７１のみのデバッグを実行する場合は、信号Ｓ４１が「Ｌ」、信号Ｓ４２が「Ｈ」、信号Ｓ４０が「Ｈ」になるように、レジスタ４００が設定される。ＣＰＵ７０，７１の双方のデバッグを実行する場合は、信号Ｓ４１，Ｓ４２がともに「Ｈ」になるように、レジスタ４００が設定される。また、この場合は、信号Ｓ４０が順次に「Ｌ」「Ｈ」となるように、レジスタ４００が設定される。
【００５２】
信号Ｓ４１は、ＡＮＤ回路４０２の他方の入力端子に入力される。信号Ｓ４２は、ＡＮＤ回路４０３の他方の入力端子に入力される。信号Ｓ４０は、セレクタ４００の選択端子に入力される。
【００５３】
次に、デバッグ装置から端子２〜６を介して、ＴＡＰコントローラ９のＴＣＫ端子、ＴＲＳＴ端子、ＴＭＳ端子、ＴＤＩ端子に、ＴＣＫ信号、ＴＲＳＴ信号、ＴＭＳ信号、ＴＤＩ信号がそれぞれ入力される。そして、ＴＡＰコントローラ９は、所定のコマンドを生成して出力する。ＴＡＰコントローラ９から出力されたコマンドは、デバッグ実行部８に入力される。デバッグ実行部８は、ブレーク要求、スタート要求、命令コードを生成して出力する。
【００５４】
上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ４１は「Ｈ」、信号Ｓ４２は「Ｌ」である。従って、デバッグ実行部８から出力された命令コード等は、ＡＮＤ回路４０２の出力端子から出力されて、ＣＰＵ７０に入力される。これにより、ＣＰＵ７０のデバッグが実行される。一方、ＣＰＵ７１には命令コード等は入力されない。また、上記の通り、ＣＰＵ７０のみのデバッグを実行する場合、信号Ｓ４０は「Ｌ」である。従って、ＣＰＵ７０のデバッグの結果に関するデータは、ＣＰＵ７０から、セレクタ４０１、デバッグ実行部８、ＴＡＰコントローラ９、及び端子６を介して、外部に出力される。
【００５５】
また、上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ４１は「Ｌ」、信号Ｓ４２は「Ｈ」である。従って、デバッグ実行部８から出力された命令コード等は、ＡＮＤ回路４０３の出力端子から出力されて、ＣＰＵ７１に入力される。これにより、ＣＰＵ７１のデバッグが実行される。一方、ＣＰＵ７０には命令コード等は入力されない。また、上記の通り、ＣＰＵ７１のみのデバッグを実行する場合、信号Ｓ４０は「Ｈ」である。従って、ＣＰＵ７１のデバッグの結果に関するデータは、ＣＰＵ７１から、セレクタ４０１、デバッグ実行部８、ＴＡＰコントローラ９、及び端子６を介して、外部に出力される。
【００５６】
さらに、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ４１，Ｓ４２はともに「Ｈ」である。従って、デバッグ実行部８から出力された命令コード等は、ＡＮＤ回路４０２，４０３の各出力端子から出力されて、ＣＰＵ７０，７１にそれぞれ入力される。その結果、上記と同様にしてＣＰＵ７０，７１のデバッグが実行される。また、上記の通り、ＣＰＵ７０，７１の双方のデバッグを実行する場合、信号Ｓ４０は順次に「Ｌ」「Ｈ」となる。従って、端子６からは、ＣＰＵ７０のデバッグの結果に関するデータ、及びＣＰＵ７１のデバッグの結果に関するデータが、この順に出力される。
【００５７】
なお、以上の説明では、選択回路４０は、デバックを実行すべきＣＰＵ７０，７１を、レジスタ４００の設定に基づいて選択したが、上記実施の形態２のように、外部から所定の端子２１〜２３に入力される選択信号に基づいて選択するよう構成してもよい。
【００５８】
このように本実施の形態４に係るマルチプロセッサシステムによれば、選択回路４０は、ＣＰＵ７０，７１とデバッグ実行部８との間に接続されている。従って、各ＣＰＵ７０，７１に対応してデバッグ実行部８０，８１及びＴＡＰコントローラ９０，９１をそれぞれ個別に設ける必要がないため、上記実施の形態１，２と比較して、システム構成の簡略化を図ることができる。
【００５９】
実施の形態５．
図５は、本発明の実施の形態５に係るマルチプロセッサシステムの構成を示すブロック図である。チップ１は、複数のＣＰＵ７０，７１と、ＣＰＵ７０，７１のデバッグを実行するデバッグ実行部８０，８１と、デバッグ実行部８０，８１を制御するＴＡＰコントローラ９０，９１と、端子２０〜６０を含む第１の端子群と、端子２１〜６１を含む第２の端子群とを備えている。
【００６０】
本実施の形態５に係るマルチプロセッサシステムは、第１及び第２の端子群の双方に第１及び第２のデバッグ装置がそれぞれ接続される第１モードと、第１の端子群のみに第１のデバッグ装置が接続される第２モードとを切り替えて、使用することが可能である。第１モードと第２モードとの切り替えは、端子５６及びスイッチ５１０〜５４０，５１１〜５４１，５５によって実現されている。
【００６１】
また、本実施の形態５に係るマルチプロセッサシステムは、第２モードにおいて、第１のデバッグ装置から第１の端子群を介して入力されてきたデバッグ用の信号を、ＴＡＰコントローラ９０，９１のうちの一方又は双方に選択的に入力するための、選択回路５０をさらに備えている。選択回路５０は、上記実施の形態１，２に係る選択回路１０，２０と同様にして構成することができる。
【００６２】
ＣＰＵ７０，７１は、それぞれデバッグ実行部８０，８１に接続されており、デバッグ実行部８０，８１は、それぞれＴＡＰコントローラ９０，９１に接続されている。ＴＡＰコントローラ９０のＴＣＫ端子、ＴＲＳＴ端子、ＴＭＳ端子、ＴＤＩ端子は、スイッチ５１０〜５４０を介して、端子２０〜５０及び選択回路５０のＴＣＫ０端子、ＴＲＳＴ０端子、ＴＭＳ０端子、ＴＤＩ０端子にそれぞれ接続されている。また、ＴＡＰコントローラ９０のＴＤＯ端子は、選択回路５０のＴＤＯ０端子に接続されるとともに、スイッチ５５を介して端子６０に接続されている。同様に、ＴＡＰコントローラ９１のＴＣＫ端子、ＴＲＳＴ端子、ＴＭＳ端子、ＴＤＩ端子は、スイッチ５１１〜５４１を介して、端子２１〜５１及び選択回路５０のＴＣＫ１端子、ＴＲＳＴ１端子、ＴＭＳ１端子、ＴＤＩ１端子にそれぞれ接続されている。また、ＴＡＰコントローラ９１のＴＤＯ端子は、選択回路５０のＴＤＯ１端子及び端子６１に接続されている。
【００６３】
選択回路５０のＴＤＯＰ端子は、スイッチ５５を介して端子６０に接続されている。また、選択回路５０のＴＣＫＰ端子、ＴＲＳＴＰ端子、ＴＭＳＰ端子、ＴＤＩＰ端子は、それぞれ端子２０〜５０に接続されている。
【００６４】
スイッチ５１０〜５４０，５１１〜５４１，５５の切り替え（即ち第１モードと第２モードとの切り替え）は、外部から端子５６に入力される信号Ｓ５６に基づいて行われる。
【００６５】
次に、本実施の形態５に係るマルチプロセッサシステムの動作について説明する。まず、第１モードの動作について説明する。第１モードにおいて、スイッチ５１０〜５４０はそれぞれ端子２０〜５０側に切り替えられ、スイッチ５１１〜５４１はそれぞれ端子２１〜５１側に切り替えられ、スイッチ５５はＴＡＰコントローラ９０のＴＤＯ端子側に切り替えられる。これにより、ＴＡＰコントローラ９０は端子２０〜６０に直接的に接続されるとともに、ＴＡＰコントローラ９１は端子２１〜６１に直接的に接続される。そして、端子２０〜６０に接続された第１のデバッグ装置を用いてＣＰＵ７０のデバッグが実行されるとともに、端子２１〜６１に接続された第２のデバッグ装置を用いてＣＰＵ７１のデバッグが実行される。
【００６６】
次に、第２モードの動作について説明する。図５に示すように、第２モードにおいて、スイッチ５１０〜５４０，５１１〜５４１，５５は、それぞれ選択回路５０側に切り替えられる。これにより、ＴＡＰコントローラ９０，９１は、選択回路５０を介して端子２０〜６０に接続される。そして、上記実施の形態１，２と同様に、デバックを実行すべき少なくとも一つのＣＰＵ７０，７１が、選択回路５０によって選択される。その後、端子２０〜６０に接続された第１のデバッグ装置を用いて、デバッグが実行される。
【００６７】
このように本実施の形態５に係るマルチプロセッサシステムによれば、チップ１に搭載されているＣＰＵ７０，７１の個数と同数のデバッグ装置を用意できる場合には、第１モードに切り替えることにより、複数のデバッグ装置を用いて各ＣＰＵ７０，７１のデバッグを独立に実行することができる。一方、１台のデバッグ装置しか用意できない場合には、第２モードに切り替えることにより、選択回路５０の選択によってＣＰＵ７０，７１のデバッグを実行することができる。
【００６８】
また、端子５６を用いた簡単な構成によって第１モードと第２モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【００６９】
実施の形態６．
図６は、本発明の実施の形態６に係るマルチプロセッサシステムの構成を示すブロック図である。上記実施の形態５では、第１モードと第２モードとの切り替えは、外部から端子５６に入力される信号Ｓ５６に基づいて行われた。これに対し、本実施の形態６において、第１モードと第２モードとの切り替えは、チップ１に配設された所定のレジスタ６０の設定に基づいて行われる。
【００７０】
図６を参照して、スイッチ５１０〜５４０，５１１〜５４１，５５の切り替えは、レジスタ６０から出力される信号Ｓ６０に基づいて行われる。具体的には、上記実施の形態５と同様に、第１モードにおいて、スイッチ５１０〜５４０はそれぞれ端子２０〜５０側に切り替えられ、スイッチ５１１〜５４１はそれぞれ端子２１〜５１側に切り替えられ、スイッチ５５はＴＡＰコントローラ９０のＴＤＯ端子側に切り替えられる。一方、第２モードにおいて、スイッチ５１０〜５４０，５１１〜５４１，５５は、それぞれ選択回路５０側に切り替えられる。その他の構成・動作は上記実施の形態５と同様であるため、説明は省略する。
【００７１】
このように本実施の形態６に係るマルチプロセッサシステムによれば、レジスタ６０を用いた簡単な構成によって第１モードと第２モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【００７２】
実施の形態７．
図７は、本発明の実施の形態７に係るマルチプロセッサシステムの構成を示すブロック図である。上記実施の形態５では、第１モードと第２モードとの切り替えは、外部から端子５６に入力される信号Ｓ５６に基づいて行われた。これに対し、本実施の形態７に係るマルチプロセッサシステムは、第２の端子群に第２のデバッグ装置が接続されているか否かを検出するクロック検出回路７０をさらに備え、第１モードと第２モードとの切り替えは、クロック検出回路７０の検出結果である信号Ｓ７０に基づいて行われる。
【００７３】
図７を参照して、クロック検出回路７０は、端子２１に接続されている。第２の端子群に第２のデバッグ装置が接続されていれば、第２のデバッグ装置から端子２１を介してクロック検出回路７０にクロックが入力される。クロック検出回路７０は、クロックが入力されていることを検出すると、スイッチ５１０〜５４０をそれぞれ端子２０〜５０側に切り替え、スイッチ５１１〜５４１をそれぞれ端子２１〜５１側に切り替え、スイッチ５５をＴＡＰコントローラ９０のＴＤＯ端子側に切り替える。一方、第２の端子群に第２のデバッグ装置が接続されていなければ、クロック検出回路７０にはクロックが入力されない。クロック検出回路７０は、クロックが入力されていないことを検出すると、スイッチ５１０〜５４０，５１１〜５４１，５５を、それぞれ選択回路５０側に切り替える。その他の構成・動作は上記実施の形態５と同様であるため、説明は省略する。
【００７４】
このように本実施の形態７に係るマルチプロセッサシステムによれば、クロック検出回路７０を用いた簡単な構成によって第１モードと第２モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【００７５】
【発明の効果】
第１の発明に係るマルチプロセッサシステムによれば、一台のデバッグ装置のみを用いて所望のプロセッサのデバッグを実行できるため、コストの低減を図ることができる。
【００７６】
第２の発明に係るマルチプロセッサシステムによれば、用意できるデバッグ装置の台数に応じて第１モードと第２モードとを切り替えることにより、第１及び第２のプロセッサのデバッグを適切に実行することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るマルチプロセッサシステムの構成を示すブロック図である。
【図２】本発明の実施の形態２に係るマルチプロセッサシステムの構成を示すブロック図である。
【図３】本発明の実施の形態３に係るマルチプロセッサシステムの構成を示すブロック図である。
【図４】本発明の実施の形態４に係るマルチプロセッサシステムの構成を示すブロック図である。
【図５】本発明の実施の形態５に係るマルチプロセッサシステムの構成を示すブロック図である。
【図６】本発明の実施の形態６に係るマルチプロセッサシステムの構成を示すブロック図である。
【図７】本発明の実施の形態７に係るマルチプロセッサシステムの構成を示すブロック図である。
【符号の説明】
１  チップ、２〜６，２０〜６０，２１〜６１，２１〜２３  端子、７０，７１  ＣＰＵ、８，８０，８１  デバッグ実行部、９，９０，９１  ＴＡＰコントローラ、１０，２０，３０，４０，５０  選択回路、６０，１０１，３００，４００  レジスタ、７０  クロック検出回路。
【図１】
2004164367.tif 000003
【図２】
2004164367.tif 000004
【図３】
2004164367.tif 000005
【図４】
2004164367.tif 000006
【図５】
2004164367.tif 000007
【図６】
2004164367.tif 000008
【図７】
2004164367.tif 000009