JP2004164367A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステム Download PDFInfo
- Publication number
- JP2004164367A JP2004164367A JP2002330310A JP2002330310A JP2004164367A JP 2004164367 A JP2004164367 A JP 2004164367A JP 2002330310 A JP2002330310 A JP 2002330310A JP 2002330310 A JP2002330310 A JP 2002330310A JP 2004164367 A JP2004164367 A JP 2004164367A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- execution unit
- signal
- debugging
- debug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
【課題】コストの低減を図りつつ、複数のプロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムを得る。
【解決手段】チップ1は、CPU70,71と、デバッグ実行部80,81と、TAPコントローラ90,91と、選択回路10と、端子2〜6を含む一組の端子群とを備えている。CPU70のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「H」、信号S12が「L」になるように、レジスタ101を設定する。CPU71のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「L」、信号S12が「H」になるように、レジスタ101を設定する。CPU70,71の双方のデバッグを実行する場合、TAPコントローラ100は、信号S11,S12がともに「H」になるように、レジスタ101を設定する。
【選択図】 図1
【解決手段】チップ1は、CPU70,71と、デバッグ実行部80,81と、TAPコントローラ90,91と、選択回路10と、端子2〜6を含む一組の端子群とを備えている。CPU70のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「H」、信号S12が「L」になるように、レジスタ101を設定する。CPU71のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「L」、信号S12が「H」になるように、レジスタ101を設定する。CPU70,71の双方のデバッグを実行する場合、TAPコントローラ100は、信号S11,S12がともに「H」になるように、レジスタ101を設定する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明はマルチプロセッサシステムに関し、特に、プロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムに関するものである。
【0002】
【従来の技術】
従来の第1のマルチプロセッサシステムでは、搭載されているプロセッサの個数と同数のデバッグ用端子群が設けられている。そして、各端子群にデバッグ装置をそれぞれ接続することにより、各デバッグ装置を用いて各プロセッサのデバッグが独立に行われている。
【0003】
従来の第2のマルチプロセッサシステムでは、一組のデバッグ用端子群が設けられている。そして、各プロセッサに接続されている各TAPコントローラをシリアルに接続することにより、1台のデバッグ装置を用いて全てのプロセッサに関するデバッグが行われている。
【0004】
なお、プロセッサのデバッグに関する技術が、下記の特許文献1,2に記載されている。
【0005】
【特許文献1】
特開2000−73363号公報
【特許文献2】
特開2000−24201号公報
【0006】
【発明が解決しようとする課題】
しかしながら、従来の第1のマルチプロセッサシステムによると、搭載されているプロセッサの個数が増えると、それに応じてデバッグ用端子群及びデバッグ装置を追加する必要があるため、コストの上昇を招くという問題がある。
【0007】
また、従来の第2のマルチプロセッサシステムによると、常に全てのTAPコントローラを経由して全てのプロセッサに関するデバッグが行われるため、デバッグの所要時間が長くなるという問題がある。
【0008】
本発明はかかる問題を解決するために成されたものであり、コストの低減を図りつつ、複数のプロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムを得ることを目的とする。
【0009】
【課題を解決するための手段】
第1の発明に係るマルチプロセッサシステムは、複数のプロセッサと、複数のプロセッサのデバッグを実行する、少なくとも一つのデバッグ実行部と、デバッグ実行部を制御する、少なくとも一つのコントローラと、外部のデバッグ装置に接続される、一組の端子群と、複数のプロセッサの中から、デバックを実行すべき少なくとも一つ又は全部のプロセッサを選択する選択回路とを備える。
【0010】
第2の発明に係るマルチプロセッサシステムは、第1及び第2のプロセッサと、第1のプロセッサに接続された第1のデバッグ実行部、及び第2のプロセッサに接続された第2のデバッグ実行部と、第1のデバッグ実行部に接続された第1のコントローラ、及び第2のデバッグ実行部に接続された第2のコントローラと、第1のコントローラに選択的に接続された第1の端子群、及び第2のコントローラに選択的に接続された第2の端子群と、第1の端子群と第1及び第2のコントローラとの間に接続された選択回路とを備え、第1及び第2の端子群の双方にデバッグ装置がそれぞれ接続される第1モードにおいて、選択回路は、第1のコントローラと第1の端子群とを接続するとともに、第2のコントローラと第2の端子群とを接続し、第1の端子群のみにデバッグ装置が接続される第2モードにおいて、選択回路は、デバッグ装置から第1の端子群を介して入力されてきたデバッグ用の信号を、第1及び第2のコントローラのうちの一方又は双方に入力する。
【0011】
【発明の実施の形態】
以下、説明の簡略化のため2個のCPUを備えるマルチプロセッサシステムを例にとり、本発明の実施の形態について具体的に説明する。但し、CPUの数は2個に限定されるものではなく、3個以上のCPUを備えるマルチプロセッサに対しても、本発明は適用可能である。
【0012】
実施の形態1.
図1は、本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、CPU70,71のデバッグを実行するデバッグ実行部80,81と、デバッグ実行部80,81を制御するTAPコントローラ90,91と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路10と、端子2〜6を含む一組の端子群とを備えている。CPU70,71は、それぞれデバッグ実行部80,81に接続されており、デバッグ実行部80,81は、それぞれTAPコントローラ90,91に接続されている。選択回路10は、TAPコントローラ90,91と端子2〜6との間に接続されている。端子2〜6には、JTAG規格に準拠したICE等のデバッグ装置(図示しない)が接続される。
【0013】
選択回路10は、TAPコントローラ100、レジスタ101、AND回路102〜105、及びセレクタ106,107を備えている。AND回路102の一方の入力端子は端子4に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ90のTMS端子に、それぞれ接続されている。AND回路103の一方の入力端子は端子5に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ90のTDI端子に、それぞれ接続されている。AND回路104の一方の入力端子は端子4に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ91のTMS端子に、それぞれ接続されている。AND回路105の一方の入力端子は端子5に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ91のTDI端子に、それぞれ接続されている。セレクタ106の一方の入力端子はTAPコントローラ90のTDO端子に、他方の入力端子はTAPコントローラ91のTDO端子に、出力端子はセレクタ107を介して端子6に、それぞれ接続されている。
【0014】
次に、本実施の形態1に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、デバッグ装置又はCPU70,71からTAPコントローラ100にアクセスする。CPU70のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「H(high)」、信号S12が「L(Low)」、信号S10が「L」になるように、レジスタ101を設定する。CPU71のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「L」、信号S12が「H」、信号S10が「H」になるように、レジスタ101を設定する。CPU70,71の双方のデバッグを実行する場合、TAPコントローラ100は、信号S11,S12がともに「H」になるように、レジスタ101を設定する。また、この場合、信号S10が順次に「L」「H」となるように、レジスタ101が設定される。
【0015】
信号S11は、AND回路102,103の各他方の入力端子にそれぞれ入力される。信号S12は、AND回路104,105の各他方の入力端子にそれぞれ入力される。信号S10は、セレクタ106の選択端子に入力される。
【0016】
次に、デバッグ装置から端子4を介して、AND回路102,104の各一方の入力端子に、TMS信号がそれぞれ入力される。また、デバッグ装置から端子5を介して、AND回路103,105の各一方の入力端子に、TDI信号がそれぞれ入力される。TAPコントローラ90,91の各TCK端子には、デバッグ装置から端子2を介してTCK信号がそれぞれ入力され、TAPコントローラ90,91の各TRST端子には、デバッグ装置から端子3を介してTRST信号がそれぞれ入力される。
【0017】
上記の通り、CPU70のみのデバッグを実行する場合、信号S11は「H」、信号S12は「L」である。従って、TMS信号及びTDI信号は、AND回路102,103の各出力端子から、TAPコントローラ90のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ91のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。
【0018】
TAPコントローラ90は、所定のコマンドを生成してデバッグ実行部80に入力する。デバッグ実行部80は、CPU70にブレーク要求、スタート要求、命令コードを入力し、CPU70のデバッグが実行される。デバッグの結果に関するデータは、CPU70からデバッグ実行部80を介してTAPコントローラ90に入力される。上記の通り、CPU70のみのデバッグを実行する場合、信号S10は「L」である。また、セレクタ107は、通常はセレクタ106側に設定されている。従って、データは、TAPコントローラ90のTDO端子から、セレクタ106,107及び端子6を介して、外部に出力される。
【0019】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S11は「L」、信号S12は「H」である。従って、TMS信号及びTDI信号は、AND回路104,105の各出力端子から、TAPコントローラ91のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ90のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。
【0020】
TAPコントローラ91は、所定のコマンドを生成してデバッグ実行部81に入力する。デバッグ実行部81は、CPU71にブレーク要求、スタート要求、命令コードを入力し、CPU71のデバッグが実行される。デバッグの結果に関するデータは、CPU71からデバッグ実行部81を介してTAPコントローラ91に入力される。上記の通り、CPU71のみのデバッグを実行する場合、信号S10は「H」である。また、セレクタ107は、通常はセレクタ106側に設定されている。従って、データは、TAPコントローラ91のTDO端子から、セレクタ106,107及び端子6を介して、外部に出力される。
【0021】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S11,S12はともに「H」である。従って、TMS信号は、AND回路102,104の各出力端子から、TAPコントローラ90,91の各TMS端子に、それぞれ入力される。また、TDI信号は、AND回路103,105の各出力端子から、TAPコントローラ90,91の各TDI端子に、それぞれ入力される。その結果、上記と同様にしてCPU70,71のデバッグが実行される。
【0022】
上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S10は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0023】
このように本実施の形態1に係るマルチプロセッサシステムは、端子2〜6を含む一組の端子群のみを備える。そして、選択回路10によって、複数のCPU70,71の中から、デバックを実行すべき少なくとも一つのCPUが選択される。従って、チップ1に搭載されているCPUの個数が増えたとしても、それに応じて端子2〜6を追加する必要がない。その結果、一台のデバッグ装置のみを用いて複数のCPU70,71のデバッグを実行できるため、コストの低減を図ることができる。
【0024】
また、選択回路10によって全てのCPU70,71が選択された場合は、全てのCPU70,71に関して同時にデバッグが行われる。そのため、複数のCPU70,71を備えるマルチプロセッサシステムにおいて、CPU70,71のデバッグを効率的に実行することができる。
【0025】
さらに、レジスタ101を用いた簡単な構成によって選択回路10が実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0026】
実施の形態2.
図2は、本発明の実施の形態2に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、CPU70,71と、デバッグ実行部80,81と、TAPコントローラ90,91と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路20と、端子2〜6と、端子21〜23とを備えている。
【0027】
選択回路20は、AND回路200〜203及びセレクタ204を備えている。AND回路200の一方の入力端子は端子4に、他方の入力端子は端子21に、出力端子はTAPコントローラ90のTMS端子に、それぞれ接続されている。AND回路201の一方の入力端子は端子5に、他方の入力端子は端子21に、出力端子はTAPコントローラ90のTDI端子に、それぞれ接続されている。AND回路202の一方の入力端子は端子4に、他方の入力端子は端子23に、出力端子はTAPコントローラ91のTMS端子に、それぞれ接続されている。AND回路203の一方の入力端子は端子5に、他方の入力端子は端子23に、出力端子はTAPコントローラ91のTDI端子に、それぞれ接続されている。セレクタ204の一方の入力端子はTAPコントローラ90のTDO端子に、他方の入力端子はTAPコントローラ91のTDO端子に、出力端子は端子6に、それぞれ接続されている。
【0028】
次に、本実施の形態2に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、チップ1の外部から端子21,22,23に、それぞれ信号S21,S20,S22を入力する。CPU70のみのデバッグを実行する場合は、「H」の信号S21、「L」の信号S22、「L」の信号S20が入力される。CPU71のみのデバッグを実行する場合は、「L」の信号S21、「H」の信号S22、「H」の信号S20が入力される。CPU70,71の双方のデバッグを実行する場合は、いずれも「H」の信号S21,S22が入力される。また、この場合は、「L」「H」の信号S20が順次に入力される。
【0029】
信号S21は、AND回路200,201の各他方の入力端子にそれぞれ入力される。信号S22は、AND回路202,203の各他方の入力端子にそれぞれ入力される。信号S20は、セレクタ204の選択端子に入力される。
【0030】
次に、デバッグ装置から端子4を介して、AND回路200,202の各一方の入力端子に、TMS信号がそれぞれ入力される。また、デバッグ装置から端子5を介して、AND回路201,203の各一方の入力端子に、TDI信号がそれぞれ入力される。
【0031】
上記の通り、CPU70のみのデバッグを実行する場合、信号S21は「H」、信号S22は「L」である。従って、TMS信号及びTDI信号は、AND回路200,201の各出力端子から、TAPコントローラ90のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ91のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。その結果、上記実施の形態1と同様にして、CPU70のみのデバッグが実行される。また、上記の通り、CPU70のみのデバッグを実行する場合、信号S20は「L」である。従って、CPU70のデバッグの結果に関するデータは、TAPコントローラ90のTDO端子から、セレクタ204及び端子6を介して、外部に出力される。
【0032】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S21は「L」、信号S22は「H」である。従って、TMS信号及びTDI信号は、AND回路202,203の各出力端子から、TAPコントローラ91のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ90のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。その結果、上記実施の形態1と同様にして、CPU71のみのデバッグが実行される。また、上記の通り、CPU71のみのデバッグを実行する場合、信号S20は「H」である。従って、CPU71のデバッグの結果に関するデータは、TAPコントローラ91のTDO端子から、セレクタ204及び端子6を介して、外部に出力される。
【0033】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S21,S22はともに「H」である。従って、TMS信号は、AND回路200,202の各出力端子から、TAPコントローラ90,91の各TMS端子に、それぞれ入力される。また、TDI信号は、AND回路201,203の各出力端子から、TAPコントローラ90,91の各TDI端子に、それぞれ入力される。その結果、CPU70,71のデバッグが実行される。また、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S20は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0034】
このように本実施の形態2に係るマルチプロセッサシステムは、端子2〜6を含む一組の端子群のみを備える。そして、選択回路20によって、複数のCPU70,71の中から、デバックを実行すべき少なくとも一つのCPUが選択される。従って、チップ1に搭載されているCPUの個数が増えたとしても、それに応じて端子2〜6を追加する必要がない。その結果、一台のデバッグ装置のみを用いて複数のCPU70,71のデバッグを実行できるため、コストの低減を図ることができる。
【0035】
また、選択回路20によって全てのCPU70,71が選択された場合は、全てのCPU70,71に関して同時にデバッグが行われる。そのため、複数のCPU70,71を備えるマルチプロセッサシステムにおいて、CPU70,71のデバッグを効率的に実行することができる。
【0036】
さらに、端子21〜23を用いた簡単な構成によって選択回路20が実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0037】
実施の形態3.
図3は、本発明の実施の形態3に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、デバッグ実行部80,81と、デバッグ実行部80,81を制御するTAPコントローラ9と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路30と、端子2〜6を含む一組の端子群とを備えている。CPU70,71は、それぞれデバッグ実行部80,81に接続されており、TAPコントローラ9は、端子2〜6に接続されている。選択回路30は、デバッグ実行部80,81とTAPコントローラ9との間に接続されている。
【0038】
選択回路30は、レジスタ300、AND回路301,302、及びセレクタ303を備えている。AND回路301の一方の入力端子はTAPコントローラ9に、他方の入力端子はレジスタ300に、出力端子はデバッグ実行部80に、それぞれ接続されている。AND回路302の一方の入力端子はTAPコントローラ9に、他方の入力端子はレジスタ300に、出力端子はデバッグ実行部81に、それぞれ接続されている。セレクタ303の一方の入力端子はデバッグ実行部80に、他方の入力端子はデバッグ実行部81に、出力端子はTAPコントローラ9に、それぞれ接続されている。
【0039】
次に、本実施の形態3に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、デバッグ装置又はCPU70,71によってレジスタ300がアクセスされる。CPU70のみのデバッグを実行する場合は、信号S31が「H」、信号S32が「L」、信号S30が「L」になるように、レジスタ300が設定される。CPU71のみのデバッグを実行する場合は、信号S31が「L」、信号S32が「H」、信号S30が「H」になるように、レジスタ300が設定される。CPU70,71の双方のデバッグを実行する場合は、信号S31,S32がともに「H」になるように、レジスタ300が設定される。また、この場合は、信号S30が順次に「L」「H」となるように、レジスタ300が設定される。
【0040】
信号S31は、AND回路301の他方の入力端子に入力される。信号S32は、AND回路302の他方の入力端子に入力される。信号S30は、セレクタ300の選択端子に入力される。
【0041】
次に、デバッグ装置から端子2〜6を介して、TAPコントローラ9のTCK端子、TRST端子、TMS端子、TDI端子に、TCK信号、TRST信号、TMS信号、TDI信号がそれぞれ入力される。そして、TAPコントローラ9は、所定のコマンドを生成して出力する。
【0042】
上記の通り、CPU70のみのデバッグを実行する場合、信号S31は「H」、信号S32は「L」である。従って、TAPコントローラ9から出力されたコマンドは、AND回路301の出力端子から出力されて、デバッグ実行部80に入力される。一方、デバッグ実行部81にはコマンドは入力されない。
【0043】
デバッグ実行部80は、CPU70にブレーク要求、スタート要求、命令コードを入力し、CPU70のデバッグが実行される。デバッグの結果に関するデータは、CPU70からデバッグ実行部80に入力される。上記の通り、CPU70のみのデバッグを実行する場合、信号S30は「L」である。従って、データは、デバッグ実行部80から、セレクタ303、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0044】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S31は「L」、信号S32は「H」である。従って、TAPコントローラ9から出力されたコマンドは、AND回路302の出力端子から出力されて、デバッグ実行部81に入力される。一方、デバッグ実行部80にはコマンドは入力されない。
【0045】
デバッグ実行部81は、CPU71にブレーク要求、スタート要求、命令コードを入力し、CPU71のデバッグが実行される。デバッグの結果に関するデータは、CPU71からデバッグ実行部81に入力される。上記の通り、CPU71のみのデバッグを実行する場合、信号S30は「H」である。従って、データは、デバッグ実行部81から、セレクタ303、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0046】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S31,S32はともに「H」である。従って、TAPコントローラ9から出力されたコマンドは、AND回路301,302の各出力端子から出力されて、デバッグ実行部80,81にそれぞれ入力される。その結果、上記と同様にしてCPU70,71のデバッグが実行される。また、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S30は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0047】
なお、以上の説明では、選択回路30は、デバックを実行すべきCPU70,71を、レジスタ300の設定に基づいて選択したが、上記実施の形態2のように、外部から所定の端子21〜23に入力される選択信号に基づいて選択するよう構成してもよい。
【0048】
このように本実施の形態3に係るマルチプロセッサシステムによれば、選択回路30は、デバッグ実行部80,81とTAPコントローラ9との間に接続されている。従って、各CPU70,71に対応してTAPコントローラ90,91を個別に設ける必要がないため、上記実施の形態1,2と比較して、システム構成の簡略化を図ることができる。
【0049】
実施の形態4.
図4は、本発明の実施の形態4に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、デバッグ実行部8と、デバッグ実行部8を制御するTAPコントローラ9と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路40と、端子2〜6を含む一組の端子群とを備えている。TAPコントローラ9は端子2〜6に接続されており、デバッグ実行部8はTAPコントローラ9に接続されている。選択回路40は、CPU70,71とデバッグ実行部8との間に接続されている。
【0050】
選択回路40は、レジスタ400、AND回路402,403、及びセレクタ401を備えている。AND回路402の一方の入力端子はデバッグ実行部8に、他方の入力端子はレジスタ400に、出力端子はCPU70に、それぞれ接続されている。AND回路403の一方の入力端子はデバッグ実行部8に、他方の入力端子はレジスタ400に、出力端子はCPU71に、それぞれ接続されている。セレクタ401の一方の入力端子はCPU70に、他方の入力端子はCPU71に、出力端子はデバッグ実行部8に、それぞれ接続されている。
【0051】
次に、本実施の形態4に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、デバッグ装置又はCPU70,71によってレジスタ400がアクセスされる。CPU70のみのデバッグを実行する場合は、信号S41が「H」、信号S42が「L」、信号S40が「L」になるように、レジスタ400が設定される。CPU71のみのデバッグを実行する場合は、信号S41が「L」、信号S42が「H」、信号S40が「H」になるように、レジスタ400が設定される。CPU70,71の双方のデバッグを実行する場合は、信号S41,S42がともに「H」になるように、レジスタ400が設定される。また、この場合は、信号S40が順次に「L」「H」となるように、レジスタ400が設定される。
【0052】
信号S41は、AND回路402の他方の入力端子に入力される。信号S42は、AND回路403の他方の入力端子に入力される。信号S40は、セレクタ400の選択端子に入力される。
【0053】
次に、デバッグ装置から端子2〜6を介して、TAPコントローラ9のTCK端子、TRST端子、TMS端子、TDI端子に、TCK信号、TRST信号、TMS信号、TDI信号がそれぞれ入力される。そして、TAPコントローラ9は、所定のコマンドを生成して出力する。TAPコントローラ9から出力されたコマンドは、デバッグ実行部8に入力される。デバッグ実行部8は、ブレーク要求、スタート要求、命令コードを生成して出力する。
【0054】
上記の通り、CPU70のみのデバッグを実行する場合、信号S41は「H」、信号S42は「L」である。従って、デバッグ実行部8から出力された命令コード等は、AND回路402の出力端子から出力されて、CPU70に入力される。これにより、CPU70のデバッグが実行される。一方、CPU71には命令コード等は入力されない。また、上記の通り、CPU70のみのデバッグを実行する場合、信号S40は「L」である。従って、CPU70のデバッグの結果に関するデータは、CPU70から、セレクタ401、デバッグ実行部8、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0055】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S41は「L」、信号S42は「H」である。従って、デバッグ実行部8から出力された命令コード等は、AND回路403の出力端子から出力されて、CPU71に入力される。これにより、CPU71のデバッグが実行される。一方、CPU70には命令コード等は入力されない。また、上記の通り、CPU71のみのデバッグを実行する場合、信号S40は「H」である。従って、CPU71のデバッグの結果に関するデータは、CPU71から、セレクタ401、デバッグ実行部8、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0056】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S41,S42はともに「H」である。従って、デバッグ実行部8から出力された命令コード等は、AND回路402,403の各出力端子から出力されて、CPU70,71にそれぞれ入力される。その結果、上記と同様にしてCPU70,71のデバッグが実行される。また、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S40は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0057】
なお、以上の説明では、選択回路40は、デバックを実行すべきCPU70,71を、レジスタ400の設定に基づいて選択したが、上記実施の形態2のように、外部から所定の端子21〜23に入力される選択信号に基づいて選択するよう構成してもよい。
【0058】
このように本実施の形態4に係るマルチプロセッサシステムによれば、選択回路40は、CPU70,71とデバッグ実行部8との間に接続されている。従って、各CPU70,71に対応してデバッグ実行部80,81及びTAPコントローラ90,91をそれぞれ個別に設ける必要がないため、上記実施の形態1,2と比較して、システム構成の簡略化を図ることができる。
【0059】
実施の形態5.
図5は、本発明の実施の形態5に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、CPU70,71のデバッグを実行するデバッグ実行部80,81と、デバッグ実行部80,81を制御するTAPコントローラ90,91と、端子20〜60を含む第1の端子群と、端子21〜61を含む第2の端子群とを備えている。
【0060】
本実施の形態5に係るマルチプロセッサシステムは、第1及び第2の端子群の双方に第1及び第2のデバッグ装置がそれぞれ接続される第1モードと、第1の端子群のみに第1のデバッグ装置が接続される第2モードとを切り替えて、使用することが可能である。第1モードと第2モードとの切り替えは、端子56及びスイッチ510〜540,511〜541,55によって実現されている。
【0061】
また、本実施の形態5に係るマルチプロセッサシステムは、第2モードにおいて、第1のデバッグ装置から第1の端子群を介して入力されてきたデバッグ用の信号を、TAPコントローラ90,91のうちの一方又は双方に選択的に入力するための、選択回路50をさらに備えている。選択回路50は、上記実施の形態1,2に係る選択回路10,20と同様にして構成することができる。
【0062】
CPU70,71は、それぞれデバッグ実行部80,81に接続されており、デバッグ実行部80,81は、それぞれTAPコントローラ90,91に接続されている。TAPコントローラ90のTCK端子、TRST端子、TMS端子、TDI端子は、スイッチ510〜540を介して、端子20〜50及び選択回路50のTCK0端子、TRST0端子、TMS0端子、TDI0端子にそれぞれ接続されている。また、TAPコントローラ90のTDO端子は、選択回路50のTDO0端子に接続されるとともに、スイッチ55を介して端子60に接続されている。同様に、TAPコントローラ91のTCK端子、TRST端子、TMS端子、TDI端子は、スイッチ511〜541を介して、端子21〜51及び選択回路50のTCK1端子、TRST1端子、TMS1端子、TDI1端子にそれぞれ接続されている。また、TAPコントローラ91のTDO端子は、選択回路50のTDO1端子及び端子61に接続されている。
【0063】
選択回路50のTDOP端子は、スイッチ55を介して端子60に接続されている。また、選択回路50のTCKP端子、TRSTP端子、TMSP端子、TDIP端子は、それぞれ端子20〜50に接続されている。
【0064】
スイッチ510〜540,511〜541,55の切り替え(即ち第1モードと第2モードとの切り替え)は、外部から端子56に入力される信号S56に基づいて行われる。
【0065】
次に、本実施の形態5に係るマルチプロセッサシステムの動作について説明する。まず、第1モードの動作について説明する。第1モードにおいて、スイッチ510〜540はそれぞれ端子20〜50側に切り替えられ、スイッチ511〜541はそれぞれ端子21〜51側に切り替えられ、スイッチ55はTAPコントローラ90のTDO端子側に切り替えられる。これにより、TAPコントローラ90は端子20〜60に直接的に接続されるとともに、TAPコントローラ91は端子21〜61に直接的に接続される。そして、端子20〜60に接続された第1のデバッグ装置を用いてCPU70のデバッグが実行されるとともに、端子21〜61に接続された第2のデバッグ装置を用いてCPU71のデバッグが実行される。
【0066】
次に、第2モードの動作について説明する。図5に示すように、第2モードにおいて、スイッチ510〜540,511〜541,55は、それぞれ選択回路50側に切り替えられる。これにより、TAPコントローラ90,91は、選択回路50を介して端子20〜60に接続される。そして、上記実施の形態1,2と同様に、デバックを実行すべき少なくとも一つのCPU70,71が、選択回路50によって選択される。その後、端子20〜60に接続された第1のデバッグ装置を用いて、デバッグが実行される。
【0067】
このように本実施の形態5に係るマルチプロセッサシステムによれば、チップ1に搭載されているCPU70,71の個数と同数のデバッグ装置を用意できる場合には、第1モードに切り替えることにより、複数のデバッグ装置を用いて各CPU70,71のデバッグを独立に実行することができる。一方、1台のデバッグ装置しか用意できない場合には、第2モードに切り替えることにより、選択回路50の選択によってCPU70,71のデバッグを実行することができる。
【0068】
また、端子56を用いた簡単な構成によって第1モードと第2モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0069】
実施の形態6.
図6は、本発明の実施の形態6に係るマルチプロセッサシステムの構成を示すブロック図である。上記実施の形態5では、第1モードと第2モードとの切り替えは、外部から端子56に入力される信号S56に基づいて行われた。これに対し、本実施の形態6において、第1モードと第2モードとの切り替えは、チップ1に配設された所定のレジスタ60の設定に基づいて行われる。
【0070】
図6を参照して、スイッチ510〜540,511〜541,55の切り替えは、レジスタ60から出力される信号S60に基づいて行われる。具体的には、上記実施の形態5と同様に、第1モードにおいて、スイッチ510〜540はそれぞれ端子20〜50側に切り替えられ、スイッチ511〜541はそれぞれ端子21〜51側に切り替えられ、スイッチ55はTAPコントローラ90のTDO端子側に切り替えられる。一方、第2モードにおいて、スイッチ510〜540,511〜541,55は、それぞれ選択回路50側に切り替えられる。その他の構成・動作は上記実施の形態5と同様であるため、説明は省略する。
【0071】
このように本実施の形態6に係るマルチプロセッサシステムによれば、レジスタ60を用いた簡単な構成によって第1モードと第2モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0072】
実施の形態7.
図7は、本発明の実施の形態7に係るマルチプロセッサシステムの構成を示すブロック図である。上記実施の形態5では、第1モードと第2モードとの切り替えは、外部から端子56に入力される信号S56に基づいて行われた。これに対し、本実施の形態7に係るマルチプロセッサシステムは、第2の端子群に第2のデバッグ装置が接続されているか否かを検出するクロック検出回路70をさらに備え、第1モードと第2モードとの切り替えは、クロック検出回路70の検出結果である信号S70に基づいて行われる。
【0073】
図7を参照して、クロック検出回路70は、端子21に接続されている。第2の端子群に第2のデバッグ装置が接続されていれば、第2のデバッグ装置から端子21を介してクロック検出回路70にクロックが入力される。クロック検出回路70は、クロックが入力されていることを検出すると、スイッチ510〜540をそれぞれ端子20〜50側に切り替え、スイッチ511〜541をそれぞれ端子21〜51側に切り替え、スイッチ55をTAPコントローラ90のTDO端子側に切り替える。一方、第2の端子群に第2のデバッグ装置が接続されていなければ、クロック検出回路70にはクロックが入力されない。クロック検出回路70は、クロックが入力されていないことを検出すると、スイッチ510〜540,511〜541,55を、それぞれ選択回路50側に切り替える。その他の構成・動作は上記実施の形態5と同様であるため、説明は省略する。
【0074】
このように本実施の形態7に係るマルチプロセッサシステムによれば、クロック検出回路70を用いた簡単な構成によって第1モードと第2モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0075】
【発明の効果】
第1の発明に係るマルチプロセッサシステムによれば、一台のデバッグ装置のみを用いて所望のプロセッサのデバッグを実行できるため、コストの低減を図ることができる。
【0076】
第2の発明に係るマルチプロセッサシステムによれば、用意できるデバッグ装置の台数に応じて第1モードと第2モードとを切り替えることにより、第1及び第2のプロセッサのデバッグを適切に実行することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の実施の形態2に係るマルチプロセッサシステムの構成を示すブロック図である。
【図3】本発明の実施の形態3に係るマルチプロセッサシステムの構成を示すブロック図である。
【図4】本発明の実施の形態4に係るマルチプロセッサシステムの構成を示すブロック図である。
【図5】本発明の実施の形態5に係るマルチプロセッサシステムの構成を示すブロック図である。
【図6】本発明の実施の形態6に係るマルチプロセッサシステムの構成を示すブロック図である。
【図7】本発明の実施の形態7に係るマルチプロセッサシステムの構成を示すブロック図である。
【符号の説明】
1 チップ、2〜6,20〜60,21〜61,21〜23 端子、70,71 CPU、8,80,81 デバッグ実行部、9,90,91 TAPコントローラ、10,20,30,40,50 選択回路、60,101,300,400 レジスタ、70 クロック検出回路。
【発明の属する技術分野】
この発明はマルチプロセッサシステムに関し、特に、プロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムに関するものである。
【0002】
【従来の技術】
従来の第1のマルチプロセッサシステムでは、搭載されているプロセッサの個数と同数のデバッグ用端子群が設けられている。そして、各端子群にデバッグ装置をそれぞれ接続することにより、各デバッグ装置を用いて各プロセッサのデバッグが独立に行われている。
【0003】
従来の第2のマルチプロセッサシステムでは、一組のデバッグ用端子群が設けられている。そして、各プロセッサに接続されている各TAPコントローラをシリアルに接続することにより、1台のデバッグ装置を用いて全てのプロセッサに関するデバッグが行われている。
【0004】
なお、プロセッサのデバッグに関する技術が、下記の特許文献1,2に記載されている。
【0005】
【特許文献1】
特開2000−73363号公報
【特許文献2】
特開2000−24201号公報
【0006】
【発明が解決しようとする課題】
しかしながら、従来の第1のマルチプロセッサシステムによると、搭載されているプロセッサの個数が増えると、それに応じてデバッグ用端子群及びデバッグ装置を追加する必要があるため、コストの上昇を招くという問題がある。
【0007】
また、従来の第2のマルチプロセッサシステムによると、常に全てのTAPコントローラを経由して全てのプロセッサに関するデバッグが行われるため、デバッグの所要時間が長くなるという問題がある。
【0008】
本発明はかかる問題を解決するために成されたものであり、コストの低減を図りつつ、複数のプロセッサのデバッグを効率的に実行することが可能なマルチプロセッサシステムを得ることを目的とする。
【0009】
【課題を解決するための手段】
第1の発明に係るマルチプロセッサシステムは、複数のプロセッサと、複数のプロセッサのデバッグを実行する、少なくとも一つのデバッグ実行部と、デバッグ実行部を制御する、少なくとも一つのコントローラと、外部のデバッグ装置に接続される、一組の端子群と、複数のプロセッサの中から、デバックを実行すべき少なくとも一つ又は全部のプロセッサを選択する選択回路とを備える。
【0010】
第2の発明に係るマルチプロセッサシステムは、第1及び第2のプロセッサと、第1のプロセッサに接続された第1のデバッグ実行部、及び第2のプロセッサに接続された第2のデバッグ実行部と、第1のデバッグ実行部に接続された第1のコントローラ、及び第2のデバッグ実行部に接続された第2のコントローラと、第1のコントローラに選択的に接続された第1の端子群、及び第2のコントローラに選択的に接続された第2の端子群と、第1の端子群と第1及び第2のコントローラとの間に接続された選択回路とを備え、第1及び第2の端子群の双方にデバッグ装置がそれぞれ接続される第1モードにおいて、選択回路は、第1のコントローラと第1の端子群とを接続するとともに、第2のコントローラと第2の端子群とを接続し、第1の端子群のみにデバッグ装置が接続される第2モードにおいて、選択回路は、デバッグ装置から第1の端子群を介して入力されてきたデバッグ用の信号を、第1及び第2のコントローラのうちの一方又は双方に入力する。
【0011】
【発明の実施の形態】
以下、説明の簡略化のため2個のCPUを備えるマルチプロセッサシステムを例にとり、本発明の実施の形態について具体的に説明する。但し、CPUの数は2個に限定されるものではなく、3個以上のCPUを備えるマルチプロセッサに対しても、本発明は適用可能である。
【0012】
実施の形態1.
図1は、本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、CPU70,71のデバッグを実行するデバッグ実行部80,81と、デバッグ実行部80,81を制御するTAPコントローラ90,91と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路10と、端子2〜6を含む一組の端子群とを備えている。CPU70,71は、それぞれデバッグ実行部80,81に接続されており、デバッグ実行部80,81は、それぞれTAPコントローラ90,91に接続されている。選択回路10は、TAPコントローラ90,91と端子2〜6との間に接続されている。端子2〜6には、JTAG規格に準拠したICE等のデバッグ装置(図示しない)が接続される。
【0013】
選択回路10は、TAPコントローラ100、レジスタ101、AND回路102〜105、及びセレクタ106,107を備えている。AND回路102の一方の入力端子は端子4に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ90のTMS端子に、それぞれ接続されている。AND回路103の一方の入力端子は端子5に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ90のTDI端子に、それぞれ接続されている。AND回路104の一方の入力端子は端子4に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ91のTMS端子に、それぞれ接続されている。AND回路105の一方の入力端子は端子5に、他方の入力端子はレジスタ101に、出力端子はTAPコントローラ91のTDI端子に、それぞれ接続されている。セレクタ106の一方の入力端子はTAPコントローラ90のTDO端子に、他方の入力端子はTAPコントローラ91のTDO端子に、出力端子はセレクタ107を介して端子6に、それぞれ接続されている。
【0014】
次に、本実施の形態1に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、デバッグ装置又はCPU70,71からTAPコントローラ100にアクセスする。CPU70のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「H(high)」、信号S12が「L(Low)」、信号S10が「L」になるように、レジスタ101を設定する。CPU71のみのデバッグを実行する場合、TAPコントローラ100は、信号S11が「L」、信号S12が「H」、信号S10が「H」になるように、レジスタ101を設定する。CPU70,71の双方のデバッグを実行する場合、TAPコントローラ100は、信号S11,S12がともに「H」になるように、レジスタ101を設定する。また、この場合、信号S10が順次に「L」「H」となるように、レジスタ101が設定される。
【0015】
信号S11は、AND回路102,103の各他方の入力端子にそれぞれ入力される。信号S12は、AND回路104,105の各他方の入力端子にそれぞれ入力される。信号S10は、セレクタ106の選択端子に入力される。
【0016】
次に、デバッグ装置から端子4を介して、AND回路102,104の各一方の入力端子に、TMS信号がそれぞれ入力される。また、デバッグ装置から端子5を介して、AND回路103,105の各一方の入力端子に、TDI信号がそれぞれ入力される。TAPコントローラ90,91の各TCK端子には、デバッグ装置から端子2を介してTCK信号がそれぞれ入力され、TAPコントローラ90,91の各TRST端子には、デバッグ装置から端子3を介してTRST信号がそれぞれ入力される。
【0017】
上記の通り、CPU70のみのデバッグを実行する場合、信号S11は「H」、信号S12は「L」である。従って、TMS信号及びTDI信号は、AND回路102,103の各出力端子から、TAPコントローラ90のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ91のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。
【0018】
TAPコントローラ90は、所定のコマンドを生成してデバッグ実行部80に入力する。デバッグ実行部80は、CPU70にブレーク要求、スタート要求、命令コードを入力し、CPU70のデバッグが実行される。デバッグの結果に関するデータは、CPU70からデバッグ実行部80を介してTAPコントローラ90に入力される。上記の通り、CPU70のみのデバッグを実行する場合、信号S10は「L」である。また、セレクタ107は、通常はセレクタ106側に設定されている。従って、データは、TAPコントローラ90のTDO端子から、セレクタ106,107及び端子6を介して、外部に出力される。
【0019】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S11は「L」、信号S12は「H」である。従って、TMS信号及びTDI信号は、AND回路104,105の各出力端子から、TAPコントローラ91のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ90のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。
【0020】
TAPコントローラ91は、所定のコマンドを生成してデバッグ実行部81に入力する。デバッグ実行部81は、CPU71にブレーク要求、スタート要求、命令コードを入力し、CPU71のデバッグが実行される。デバッグの結果に関するデータは、CPU71からデバッグ実行部81を介してTAPコントローラ91に入力される。上記の通り、CPU71のみのデバッグを実行する場合、信号S10は「H」である。また、セレクタ107は、通常はセレクタ106側に設定されている。従って、データは、TAPコントローラ91のTDO端子から、セレクタ106,107及び端子6を介して、外部に出力される。
【0021】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S11,S12はともに「H」である。従って、TMS信号は、AND回路102,104の各出力端子から、TAPコントローラ90,91の各TMS端子に、それぞれ入力される。また、TDI信号は、AND回路103,105の各出力端子から、TAPコントローラ90,91の各TDI端子に、それぞれ入力される。その結果、上記と同様にしてCPU70,71のデバッグが実行される。
【0022】
上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S10は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0023】
このように本実施の形態1に係るマルチプロセッサシステムは、端子2〜6を含む一組の端子群のみを備える。そして、選択回路10によって、複数のCPU70,71の中から、デバックを実行すべき少なくとも一つのCPUが選択される。従って、チップ1に搭載されているCPUの個数が増えたとしても、それに応じて端子2〜6を追加する必要がない。その結果、一台のデバッグ装置のみを用いて複数のCPU70,71のデバッグを実行できるため、コストの低減を図ることができる。
【0024】
また、選択回路10によって全てのCPU70,71が選択された場合は、全てのCPU70,71に関して同時にデバッグが行われる。そのため、複数のCPU70,71を備えるマルチプロセッサシステムにおいて、CPU70,71のデバッグを効率的に実行することができる。
【0025】
さらに、レジスタ101を用いた簡単な構成によって選択回路10が実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0026】
実施の形態2.
図2は、本発明の実施の形態2に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、CPU70,71と、デバッグ実行部80,81と、TAPコントローラ90,91と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路20と、端子2〜6と、端子21〜23とを備えている。
【0027】
選択回路20は、AND回路200〜203及びセレクタ204を備えている。AND回路200の一方の入力端子は端子4に、他方の入力端子は端子21に、出力端子はTAPコントローラ90のTMS端子に、それぞれ接続されている。AND回路201の一方の入力端子は端子5に、他方の入力端子は端子21に、出力端子はTAPコントローラ90のTDI端子に、それぞれ接続されている。AND回路202の一方の入力端子は端子4に、他方の入力端子は端子23に、出力端子はTAPコントローラ91のTMS端子に、それぞれ接続されている。AND回路203の一方の入力端子は端子5に、他方の入力端子は端子23に、出力端子はTAPコントローラ91のTDI端子に、それぞれ接続されている。セレクタ204の一方の入力端子はTAPコントローラ90のTDO端子に、他方の入力端子はTAPコントローラ91のTDO端子に、出力端子は端子6に、それぞれ接続されている。
【0028】
次に、本実施の形態2に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、チップ1の外部から端子21,22,23に、それぞれ信号S21,S20,S22を入力する。CPU70のみのデバッグを実行する場合は、「H」の信号S21、「L」の信号S22、「L」の信号S20が入力される。CPU71のみのデバッグを実行する場合は、「L」の信号S21、「H」の信号S22、「H」の信号S20が入力される。CPU70,71の双方のデバッグを実行する場合は、いずれも「H」の信号S21,S22が入力される。また、この場合は、「L」「H」の信号S20が順次に入力される。
【0029】
信号S21は、AND回路200,201の各他方の入力端子にそれぞれ入力される。信号S22は、AND回路202,203の各他方の入力端子にそれぞれ入力される。信号S20は、セレクタ204の選択端子に入力される。
【0030】
次に、デバッグ装置から端子4を介して、AND回路200,202の各一方の入力端子に、TMS信号がそれぞれ入力される。また、デバッグ装置から端子5を介して、AND回路201,203の各一方の入力端子に、TDI信号がそれぞれ入力される。
【0031】
上記の通り、CPU70のみのデバッグを実行する場合、信号S21は「H」、信号S22は「L」である。従って、TMS信号及びTDI信号は、AND回路200,201の各出力端子から、TAPコントローラ90のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ91のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。その結果、上記実施の形態1と同様にして、CPU70のみのデバッグが実行される。また、上記の通り、CPU70のみのデバッグを実行する場合、信号S20は「L」である。従って、CPU70のデバッグの結果に関するデータは、TAPコントローラ90のTDO端子から、セレクタ204及び端子6を介して、外部に出力される。
【0032】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S21は「L」、信号S22は「H」である。従って、TMS信号及びTDI信号は、AND回路202,203の各出力端子から、TAPコントローラ91のTMS端子及びTDI端子に、それぞれ入力される。一方、TAPコントローラ90のTMS端子及びTDI端子には、TMS信号及びTDI信号は入力されない。その結果、上記実施の形態1と同様にして、CPU71のみのデバッグが実行される。また、上記の通り、CPU71のみのデバッグを実行する場合、信号S20は「H」である。従って、CPU71のデバッグの結果に関するデータは、TAPコントローラ91のTDO端子から、セレクタ204及び端子6を介して、外部に出力される。
【0033】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S21,S22はともに「H」である。従って、TMS信号は、AND回路200,202の各出力端子から、TAPコントローラ90,91の各TMS端子に、それぞれ入力される。また、TDI信号は、AND回路201,203の各出力端子から、TAPコントローラ90,91の各TDI端子に、それぞれ入力される。その結果、CPU70,71のデバッグが実行される。また、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S20は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0034】
このように本実施の形態2に係るマルチプロセッサシステムは、端子2〜6を含む一組の端子群のみを備える。そして、選択回路20によって、複数のCPU70,71の中から、デバックを実行すべき少なくとも一つのCPUが選択される。従って、チップ1に搭載されているCPUの個数が増えたとしても、それに応じて端子2〜6を追加する必要がない。その結果、一台のデバッグ装置のみを用いて複数のCPU70,71のデバッグを実行できるため、コストの低減を図ることができる。
【0035】
また、選択回路20によって全てのCPU70,71が選択された場合は、全てのCPU70,71に関して同時にデバッグが行われる。そのため、複数のCPU70,71を備えるマルチプロセッサシステムにおいて、CPU70,71のデバッグを効率的に実行することができる。
【0036】
さらに、端子21〜23を用いた簡単な構成によって選択回路20が実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0037】
実施の形態3.
図3は、本発明の実施の形態3に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、デバッグ実行部80,81と、デバッグ実行部80,81を制御するTAPコントローラ9と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路30と、端子2〜6を含む一組の端子群とを備えている。CPU70,71は、それぞれデバッグ実行部80,81に接続されており、TAPコントローラ9は、端子2〜6に接続されている。選択回路30は、デバッグ実行部80,81とTAPコントローラ9との間に接続されている。
【0038】
選択回路30は、レジスタ300、AND回路301,302、及びセレクタ303を備えている。AND回路301の一方の入力端子はTAPコントローラ9に、他方の入力端子はレジスタ300に、出力端子はデバッグ実行部80に、それぞれ接続されている。AND回路302の一方の入力端子はTAPコントローラ9に、他方の入力端子はレジスタ300に、出力端子はデバッグ実行部81に、それぞれ接続されている。セレクタ303の一方の入力端子はデバッグ実行部80に、他方の入力端子はデバッグ実行部81に、出力端子はTAPコントローラ9に、それぞれ接続されている。
【0039】
次に、本実施の形態3に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、デバッグ装置又はCPU70,71によってレジスタ300がアクセスされる。CPU70のみのデバッグを実行する場合は、信号S31が「H」、信号S32が「L」、信号S30が「L」になるように、レジスタ300が設定される。CPU71のみのデバッグを実行する場合は、信号S31が「L」、信号S32が「H」、信号S30が「H」になるように、レジスタ300が設定される。CPU70,71の双方のデバッグを実行する場合は、信号S31,S32がともに「H」になるように、レジスタ300が設定される。また、この場合は、信号S30が順次に「L」「H」となるように、レジスタ300が設定される。
【0040】
信号S31は、AND回路301の他方の入力端子に入力される。信号S32は、AND回路302の他方の入力端子に入力される。信号S30は、セレクタ300の選択端子に入力される。
【0041】
次に、デバッグ装置から端子2〜6を介して、TAPコントローラ9のTCK端子、TRST端子、TMS端子、TDI端子に、TCK信号、TRST信号、TMS信号、TDI信号がそれぞれ入力される。そして、TAPコントローラ9は、所定のコマンドを生成して出力する。
【0042】
上記の通り、CPU70のみのデバッグを実行する場合、信号S31は「H」、信号S32は「L」である。従って、TAPコントローラ9から出力されたコマンドは、AND回路301の出力端子から出力されて、デバッグ実行部80に入力される。一方、デバッグ実行部81にはコマンドは入力されない。
【0043】
デバッグ実行部80は、CPU70にブレーク要求、スタート要求、命令コードを入力し、CPU70のデバッグが実行される。デバッグの結果に関するデータは、CPU70からデバッグ実行部80に入力される。上記の通り、CPU70のみのデバッグを実行する場合、信号S30は「L」である。従って、データは、デバッグ実行部80から、セレクタ303、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0044】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S31は「L」、信号S32は「H」である。従って、TAPコントローラ9から出力されたコマンドは、AND回路302の出力端子から出力されて、デバッグ実行部81に入力される。一方、デバッグ実行部80にはコマンドは入力されない。
【0045】
デバッグ実行部81は、CPU71にブレーク要求、スタート要求、命令コードを入力し、CPU71のデバッグが実行される。デバッグの結果に関するデータは、CPU71からデバッグ実行部81に入力される。上記の通り、CPU71のみのデバッグを実行する場合、信号S30は「H」である。従って、データは、デバッグ実行部81から、セレクタ303、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0046】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S31,S32はともに「H」である。従って、TAPコントローラ9から出力されたコマンドは、AND回路301,302の各出力端子から出力されて、デバッグ実行部80,81にそれぞれ入力される。その結果、上記と同様にしてCPU70,71のデバッグが実行される。また、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S30は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0047】
なお、以上の説明では、選択回路30は、デバックを実行すべきCPU70,71を、レジスタ300の設定に基づいて選択したが、上記実施の形態2のように、外部から所定の端子21〜23に入力される選択信号に基づいて選択するよう構成してもよい。
【0048】
このように本実施の形態3に係るマルチプロセッサシステムによれば、選択回路30は、デバッグ実行部80,81とTAPコントローラ9との間に接続されている。従って、各CPU70,71に対応してTAPコントローラ90,91を個別に設ける必要がないため、上記実施の形態1,2と比較して、システム構成の簡略化を図ることができる。
【0049】
実施の形態4.
図4は、本発明の実施の形態4に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、デバッグ実行部8と、デバッグ実行部8を制御するTAPコントローラ9と、CPU70,71の中から、デバックを実行すべき少なくとも一つのCPUを選択する選択回路40と、端子2〜6を含む一組の端子群とを備えている。TAPコントローラ9は端子2〜6に接続されており、デバッグ実行部8はTAPコントローラ9に接続されている。選択回路40は、CPU70,71とデバッグ実行部8との間に接続されている。
【0050】
選択回路40は、レジスタ400、AND回路402,403、及びセレクタ401を備えている。AND回路402の一方の入力端子はデバッグ実行部8に、他方の入力端子はレジスタ400に、出力端子はCPU70に、それぞれ接続されている。AND回路403の一方の入力端子はデバッグ実行部8に、他方の入力端子はレジスタ400に、出力端子はCPU71に、それぞれ接続されている。セレクタ401の一方の入力端子はCPU70に、他方の入力端子はCPU71に、出力端子はデバッグ実行部8に、それぞれ接続されている。
【0051】
次に、本実施の形態4に係るマルチプロセッサシステムの動作について説明する。まず、デバッグを実行すべきCPUを選択するために、デバッグ装置又はCPU70,71によってレジスタ400がアクセスされる。CPU70のみのデバッグを実行する場合は、信号S41が「H」、信号S42が「L」、信号S40が「L」になるように、レジスタ400が設定される。CPU71のみのデバッグを実行する場合は、信号S41が「L」、信号S42が「H」、信号S40が「H」になるように、レジスタ400が設定される。CPU70,71の双方のデバッグを実行する場合は、信号S41,S42がともに「H」になるように、レジスタ400が設定される。また、この場合は、信号S40が順次に「L」「H」となるように、レジスタ400が設定される。
【0052】
信号S41は、AND回路402の他方の入力端子に入力される。信号S42は、AND回路403の他方の入力端子に入力される。信号S40は、セレクタ400の選択端子に入力される。
【0053】
次に、デバッグ装置から端子2〜6を介して、TAPコントローラ9のTCK端子、TRST端子、TMS端子、TDI端子に、TCK信号、TRST信号、TMS信号、TDI信号がそれぞれ入力される。そして、TAPコントローラ9は、所定のコマンドを生成して出力する。TAPコントローラ9から出力されたコマンドは、デバッグ実行部8に入力される。デバッグ実行部8は、ブレーク要求、スタート要求、命令コードを生成して出力する。
【0054】
上記の通り、CPU70のみのデバッグを実行する場合、信号S41は「H」、信号S42は「L」である。従って、デバッグ実行部8から出力された命令コード等は、AND回路402の出力端子から出力されて、CPU70に入力される。これにより、CPU70のデバッグが実行される。一方、CPU71には命令コード等は入力されない。また、上記の通り、CPU70のみのデバッグを実行する場合、信号S40は「L」である。従って、CPU70のデバッグの結果に関するデータは、CPU70から、セレクタ401、デバッグ実行部8、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0055】
また、上記の通り、CPU71のみのデバッグを実行する場合、信号S41は「L」、信号S42は「H」である。従って、デバッグ実行部8から出力された命令コード等は、AND回路403の出力端子から出力されて、CPU71に入力される。これにより、CPU71のデバッグが実行される。一方、CPU70には命令コード等は入力されない。また、上記の通り、CPU71のみのデバッグを実行する場合、信号S40は「H」である。従って、CPU71のデバッグの結果に関するデータは、CPU71から、セレクタ401、デバッグ実行部8、TAPコントローラ9、及び端子6を介して、外部に出力される。
【0056】
さらに、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S41,S42はともに「H」である。従って、デバッグ実行部8から出力された命令コード等は、AND回路402,403の各出力端子から出力されて、CPU70,71にそれぞれ入力される。その結果、上記と同様にしてCPU70,71のデバッグが実行される。また、上記の通り、CPU70,71の双方のデバッグを実行する場合、信号S40は順次に「L」「H」となる。従って、端子6からは、CPU70のデバッグの結果に関するデータ、及びCPU71のデバッグの結果に関するデータが、この順に出力される。
【0057】
なお、以上の説明では、選択回路40は、デバックを実行すべきCPU70,71を、レジスタ400の設定に基づいて選択したが、上記実施の形態2のように、外部から所定の端子21〜23に入力される選択信号に基づいて選択するよう構成してもよい。
【0058】
このように本実施の形態4に係るマルチプロセッサシステムによれば、選択回路40は、CPU70,71とデバッグ実行部8との間に接続されている。従って、各CPU70,71に対応してデバッグ実行部80,81及びTAPコントローラ90,91をそれぞれ個別に設ける必要がないため、上記実施の形態1,2と比較して、システム構成の簡略化を図ることができる。
【0059】
実施の形態5.
図5は、本発明の実施の形態5に係るマルチプロセッサシステムの構成を示すブロック図である。チップ1は、複数のCPU70,71と、CPU70,71のデバッグを実行するデバッグ実行部80,81と、デバッグ実行部80,81を制御するTAPコントローラ90,91と、端子20〜60を含む第1の端子群と、端子21〜61を含む第2の端子群とを備えている。
【0060】
本実施の形態5に係るマルチプロセッサシステムは、第1及び第2の端子群の双方に第1及び第2のデバッグ装置がそれぞれ接続される第1モードと、第1の端子群のみに第1のデバッグ装置が接続される第2モードとを切り替えて、使用することが可能である。第1モードと第2モードとの切り替えは、端子56及びスイッチ510〜540,511〜541,55によって実現されている。
【0061】
また、本実施の形態5に係るマルチプロセッサシステムは、第2モードにおいて、第1のデバッグ装置から第1の端子群を介して入力されてきたデバッグ用の信号を、TAPコントローラ90,91のうちの一方又は双方に選択的に入力するための、選択回路50をさらに備えている。選択回路50は、上記実施の形態1,2に係る選択回路10,20と同様にして構成することができる。
【0062】
CPU70,71は、それぞれデバッグ実行部80,81に接続されており、デバッグ実行部80,81は、それぞれTAPコントローラ90,91に接続されている。TAPコントローラ90のTCK端子、TRST端子、TMS端子、TDI端子は、スイッチ510〜540を介して、端子20〜50及び選択回路50のTCK0端子、TRST0端子、TMS0端子、TDI0端子にそれぞれ接続されている。また、TAPコントローラ90のTDO端子は、選択回路50のTDO0端子に接続されるとともに、スイッチ55を介して端子60に接続されている。同様に、TAPコントローラ91のTCK端子、TRST端子、TMS端子、TDI端子は、スイッチ511〜541を介して、端子21〜51及び選択回路50のTCK1端子、TRST1端子、TMS1端子、TDI1端子にそれぞれ接続されている。また、TAPコントローラ91のTDO端子は、選択回路50のTDO1端子及び端子61に接続されている。
【0063】
選択回路50のTDOP端子は、スイッチ55を介して端子60に接続されている。また、選択回路50のTCKP端子、TRSTP端子、TMSP端子、TDIP端子は、それぞれ端子20〜50に接続されている。
【0064】
スイッチ510〜540,511〜541,55の切り替え(即ち第1モードと第2モードとの切り替え)は、外部から端子56に入力される信号S56に基づいて行われる。
【0065】
次に、本実施の形態5に係るマルチプロセッサシステムの動作について説明する。まず、第1モードの動作について説明する。第1モードにおいて、スイッチ510〜540はそれぞれ端子20〜50側に切り替えられ、スイッチ511〜541はそれぞれ端子21〜51側に切り替えられ、スイッチ55はTAPコントローラ90のTDO端子側に切り替えられる。これにより、TAPコントローラ90は端子20〜60に直接的に接続されるとともに、TAPコントローラ91は端子21〜61に直接的に接続される。そして、端子20〜60に接続された第1のデバッグ装置を用いてCPU70のデバッグが実行されるとともに、端子21〜61に接続された第2のデバッグ装置を用いてCPU71のデバッグが実行される。
【0066】
次に、第2モードの動作について説明する。図5に示すように、第2モードにおいて、スイッチ510〜540,511〜541,55は、それぞれ選択回路50側に切り替えられる。これにより、TAPコントローラ90,91は、選択回路50を介して端子20〜60に接続される。そして、上記実施の形態1,2と同様に、デバックを実行すべき少なくとも一つのCPU70,71が、選択回路50によって選択される。その後、端子20〜60に接続された第1のデバッグ装置を用いて、デバッグが実行される。
【0067】
このように本実施の形態5に係るマルチプロセッサシステムによれば、チップ1に搭載されているCPU70,71の個数と同数のデバッグ装置を用意できる場合には、第1モードに切り替えることにより、複数のデバッグ装置を用いて各CPU70,71のデバッグを独立に実行することができる。一方、1台のデバッグ装置しか用意できない場合には、第2モードに切り替えることにより、選択回路50の選択によってCPU70,71のデバッグを実行することができる。
【0068】
また、端子56を用いた簡単な構成によって第1モードと第2モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0069】
実施の形態6.
図6は、本発明の実施の形態6に係るマルチプロセッサシステムの構成を示すブロック図である。上記実施の形態5では、第1モードと第2モードとの切り替えは、外部から端子56に入力される信号S56に基づいて行われた。これに対し、本実施の形態6において、第1モードと第2モードとの切り替えは、チップ1に配設された所定のレジスタ60の設定に基づいて行われる。
【0070】
図6を参照して、スイッチ510〜540,511〜541,55の切り替えは、レジスタ60から出力される信号S60に基づいて行われる。具体的には、上記実施の形態5と同様に、第1モードにおいて、スイッチ510〜540はそれぞれ端子20〜50側に切り替えられ、スイッチ511〜541はそれぞれ端子21〜51側に切り替えられ、スイッチ55はTAPコントローラ90のTDO端子側に切り替えられる。一方、第2モードにおいて、スイッチ510〜540,511〜541,55は、それぞれ選択回路50側に切り替えられる。その他の構成・動作は上記実施の形態5と同様であるため、説明は省略する。
【0071】
このように本実施の形態6に係るマルチプロセッサシステムによれば、レジスタ60を用いた簡単な構成によって第1モードと第2モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0072】
実施の形態7.
図7は、本発明の実施の形態7に係るマルチプロセッサシステムの構成を示すブロック図である。上記実施の形態5では、第1モードと第2モードとの切り替えは、外部から端子56に入力される信号S56に基づいて行われた。これに対し、本実施の形態7に係るマルチプロセッサシステムは、第2の端子群に第2のデバッグ装置が接続されているか否かを検出するクロック検出回路70をさらに備え、第1モードと第2モードとの切り替えは、クロック検出回路70の検出結果である信号S70に基づいて行われる。
【0073】
図7を参照して、クロック検出回路70は、端子21に接続されている。第2の端子群に第2のデバッグ装置が接続されていれば、第2のデバッグ装置から端子21を介してクロック検出回路70にクロックが入力される。クロック検出回路70は、クロックが入力されていることを検出すると、スイッチ510〜540をそれぞれ端子20〜50側に切り替え、スイッチ511〜541をそれぞれ端子21〜51側に切り替え、スイッチ55をTAPコントローラ90のTDO端子側に切り替える。一方、第2の端子群に第2のデバッグ装置が接続されていなければ、クロック検出回路70にはクロックが入力されない。クロック検出回路70は、クロックが入力されていないことを検出すると、スイッチ510〜540,511〜541,55を、それぞれ選択回路50側に切り替える。その他の構成・動作は上記実施の形態5と同様であるため、説明は省略する。
【0074】
このように本実施の形態7に係るマルチプロセッサシステムによれば、クロック検出回路70を用いた簡単な構成によって第1モードと第2モードとの切り替えが実現されているため、システムが大型化・複雑化することを、最小限にとどめることができる。
【0075】
【発明の効果】
第1の発明に係るマルチプロセッサシステムによれば、一台のデバッグ装置のみを用いて所望のプロセッサのデバッグを実行できるため、コストの低減を図ることができる。
【0076】
第2の発明に係るマルチプロセッサシステムによれば、用意できるデバッグ装置の台数に応じて第1モードと第2モードとを切り替えることにより、第1及び第2のプロセッサのデバッグを適切に実行することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の実施の形態2に係るマルチプロセッサシステムの構成を示すブロック図である。
【図3】本発明の実施の形態3に係るマルチプロセッサシステムの構成を示すブロック図である。
【図4】本発明の実施の形態4に係るマルチプロセッサシステムの構成を示すブロック図である。
【図5】本発明の実施の形態5に係るマルチプロセッサシステムの構成を示すブロック図である。
【図6】本発明の実施の形態6に係るマルチプロセッサシステムの構成を示すブロック図である。
【図7】本発明の実施の形態7に係るマルチプロセッサシステムの構成を示すブロック図である。
【符号の説明】
1 チップ、2〜6,20〜60,21〜61,21〜23 端子、70,71 CPU、8,80,81 デバッグ実行部、9,90,91 TAPコントローラ、10,20,30,40,50 選択回路、60,101,300,400 レジスタ、70 クロック検出回路。
Claims (10)
- 複数のプロセッサと、
前記複数のプロセッサのデバッグを実行する、少なくとも一つのデバッグ実行部と、
前記デバッグ実行部を制御する、少なくとも一つのコントローラと、
外部のデバッグ装置に接続される、一組の端子群と、
前記複数のプロセッサの中から、デバックを実行すべき少なくとも一つ又は全部のプロセッサを選択する選択回路と
を備える、マルチプロセッサシステム。 - 前記複数のプロセッサは、第1及び第2のプロセッサを含み、
前記デバッグ実行部は、前記第1のプロセッサに接続された第1のデバッグ実行部と、前記第2のプロセッサに接続された第2のデバッグ実行部とを含み、
前記コントローラは、前記第1のデバッグ実行部に接続された第1のコントローラと、前記第2のデバッグ実行部に接続された第2のコントローラとを含み、
前記選択回路は、前記第1及び第2のコントローラと前記端子群との間に接続されており、
前記選択回路は、前記デバッグ装置から前記端子群を介して入力されてきたデバッグ用の信号を、前記第1及び第2のコントローラのうちの一方又は双方に入力する、請求項1に記載のマルチプロセッサシステム。 - 前記複数のプロセッサは、第1及び第2のプロセッサを含み、
前記デバッグ実行部は、前記第1のプロセッサに接続された第1のデバッグ実行部と、前記第2のプロセッサに接続された第2のデバッグ実行部とを含み、
前記選択回路は、前記第1及び第2のデバッグ実行部と前記コントローラとの間に接続されており、
前記コントローラは、前記端子群に接続されており、
前記選択回路は、前記コントローラから出力されたデバッグ用の信号を、前記第1及び第2のデバッグ実行部のうちの一方又は双方に入力する、請求項1に記載のマルチプロセッサシステム。 - 前記複数のプロセッサは、第1及び第2のプロセッサを含み、
前記選択回路は、前記第1及び第2のプロセッサと前記デバッグ実行部との間に接続されており、
前記デバッグ実行部は前記コントローラに接続されており、
前記コントローラは前記端子群に接続されており、
前記選択回路は、前記デバッグ実行部から出力されたデバッグ用の信号を、前記第1及び第2のプロセッサのうちの一方又は双方に入力する、請求項1に記載のマルチプロセッサシステム。 - 前記選択回路は、所定のレジスタの設定に基づいて、デバックを実行すべき前記プロセッサを選択する、請求項1〜4のいずれか一つに記載のマルチプロセッサシステム。
- 前記選択回路は、外部から所定の端子に入力される選択信号に基づいて、デバッグを実行すべき前記プロセッサを選択する、請求項1〜4のいずれか一つに記載のマルチプロセッサシステム。
- 第1及び第2のプロセッサと、
前記第1のプロセッサに接続された第1のデバッグ実行部、及び前記第2のプロセッサに接続された第2のデバッグ実行部と、
前記第1のデバッグ実行部に接続された第1のコントローラ、及び前記第2のデバッグ実行部に接続された第2のコントローラと、
前記第1のコントローラに選択的に接続された第1の端子群、及び前記第2のコントローラに選択的に接続された第2の端子群と、
前記第1の端子群と前記第1及び第2のコントローラとの間に接続された選択回路と
を備え、
前記第1及び第2の端子群の双方にデバッグ装置がそれぞれ接続される第1モードにおいて、前記選択回路は、前記第1のコントローラと前記第1の端子群とを接続するとともに、前記第2のコントローラと前記第2の端子群とを接続し、
前記第1の端子群のみに前記デバッグ装置が接続される第2モードにおいて、前記選択回路は、前記デバッグ装置から前記第1の端子群を介して入力されてきたデバッグ用の信号を、前記第1及び第2のコントローラのうちの一方又は双方に入力する、マルチプロセッサシステム。 - 前記第1モードと前記第2モードとの切り替えは、外部から所定の端子に入力される選択信号に基づいて行われる、請求項7に記載のマルチプロセッサシステム。
- 前記第1モードと前記第2モードとの切り替えは、所定のレジスタの設定に基づいて行われる、請求項7に記載のマルチプロセッサシステム。
- 前記第2の端子群に前記デバッグ装置が接続されているか否かを検出する検出回路をさらに備え、
前記第1モードと前記第2モードとの切り替えは、前記検出回路の検出結果に基づいて行われる、請求項7に記載のマルチプロセッサシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002330310A JP2004164367A (ja) | 2002-11-14 | 2002-11-14 | マルチプロセッサシステム |
US10/654,893 US20040163012A1 (en) | 2002-11-14 | 2003-09-05 | Multiprocessor system capable of efficiently debugging processors |
CNA200310114386A CN1501250A (zh) | 2002-11-14 | 2003-11-14 | 多处理器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002330310A JP2004164367A (ja) | 2002-11-14 | 2002-11-14 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164367A true JP2004164367A (ja) | 2004-06-10 |
JP2004164367A5 JP2004164367A5 (ja) | 2005-12-22 |
Family
ID=32808043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002330310A Pending JP2004164367A (ja) | 2002-11-14 | 2002-11-14 | マルチプロセッサシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040163012A1 (ja) |
JP (1) | JP2004164367A (ja) |
CN (1) | CN1501250A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006302162A (ja) * | 2005-04-25 | 2006-11-02 | Fujitsu Ltd | マルチプロセッサシステム |
JP2007010650A (ja) * | 2005-06-16 | 2007-01-18 | General Electric Co <Ge> | 超音波システムをテストするための方法及び装置 |
JP2008304986A (ja) * | 2007-06-05 | 2008-12-18 | Nec Electronics Corp | 半導体集積回路 |
JP2008310792A (ja) * | 2007-05-11 | 2008-12-25 | Nec Electronics Corp | テスト回路 |
EP2141597A1 (en) | 2008-07-03 | 2010-01-06 | NEC Electronics Corporation | Semiconductor integrated circuit |
US7743278B2 (en) | 2005-11-28 | 2010-06-22 | Renesas Technology Corp. | Test access control for plural processors of an integrated circuit |
US8015462B2 (en) | 2007-05-11 | 2011-09-06 | Renesas Electronics Corporation | Test circuit |
WO2012127955A1 (ja) | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8468402B2 (en) | 2009-01-06 | 2013-06-18 | Renesas Electronics Corporation | Test circuit including tap controller selectively outputting test signal based on mode and shift signals |
JP2021519965A (ja) * | 2018-03-21 | 2021-08-12 | シー−スカイ マイクロシステムズ カンパニー,リミテッド | マルチコアプロセッサのためのデバッギング解決手段 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805638B2 (en) * | 2003-06-18 | 2010-09-28 | Nethra Imaging, Inc. | Multi-frequency debug network for a multiprocessor array |
JP2006164185A (ja) * | 2004-12-10 | 2006-06-22 | Matsushita Electric Ind Co Ltd | デバッグ装置 |
WO2006137223A1 (ja) * | 2005-06-22 | 2006-12-28 | Nec Corporation | デバッグシステム、デバッグ方法、およびプログラム |
US7665002B1 (en) * | 2005-12-14 | 2010-02-16 | Advanced Micro Devices, Inc. | Multi-core integrated circuit with shared debug port |
TW201145016A (en) * | 2010-06-15 | 2011-12-16 | Nat Univ Chung Cheng | Non-intrusive debugging framework for parallel software based on super multi-core framework |
US20110314453A1 (en) * | 2010-06-21 | 2011-12-22 | Graphic Remedy Ltd. | Real time profiling of a computer software application running on parallel computing resources |
CN105205032B (zh) * | 2015-08-25 | 2018-06-26 | 华为技术有限公司 | Cpu互连装置、系统及其控制方法、控制装置 |
CN109406902B (zh) * | 2018-11-28 | 2021-03-19 | 中科曙光信息产业成都有限公司 | 逻辑扫描老化测试系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324662B1 (en) * | 1996-08-30 | 2001-11-27 | Texas Instruments Incorporated | TAP and linking module for scan access of multiple cores with IEEE 1149.1 test access ports |
GB9818377D0 (en) * | 1998-08-21 | 1998-10-21 | Sgs Thomson Microelectronics | An integrated circuit with multiple processing cores |
US6425101B1 (en) * | 1998-10-30 | 2002-07-23 | Infineon Technologies North America Corp. | Programmable JTAG network architecture to support proprietary debug protocol |
WO2002010994A1 (en) * | 2000-07-28 | 2002-02-07 | Delvalley Limited | A data processor |
GB0025593D0 (en) * | 2000-10-18 | 2000-12-06 | Sgs Thomson Microelectronics | On-chip emulator communication |
US6686759B1 (en) * | 2000-11-28 | 2004-02-03 | Cadence Design Systems, Inc. | Techniques for testing embedded cores in multi-core integrated circuit designs |
US7139947B2 (en) * | 2000-12-22 | 2006-11-21 | Intel Corporation | Test access port |
JP3913470B2 (ja) * | 2000-12-28 | 2007-05-09 | 株式会社東芝 | システムlsi |
US20030023793A1 (en) * | 2001-07-30 | 2003-01-30 | Mantey Paul J. | Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system |
US7010722B2 (en) * | 2002-09-27 | 2006-03-07 | Texas Instruments Incorporated | Embedded symmetric multiprocessor system debug |
-
2002
- 2002-11-14 JP JP2002330310A patent/JP2004164367A/ja active Pending
-
2003
- 2003-09-05 US US10/654,893 patent/US20040163012A1/en not_active Abandoned
- 2003-11-14 CN CNA200310114386A patent/CN1501250A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4600134B2 (ja) * | 2005-04-25 | 2010-12-15 | 富士通セミコンダクター株式会社 | マルチプロセッサシステム |
JP2006302162A (ja) * | 2005-04-25 | 2006-11-02 | Fujitsu Ltd | マルチプロセッサシステム |
JP2007010650A (ja) * | 2005-06-16 | 2007-01-18 | General Electric Co <Ge> | 超音波システムをテストするための方法及び装置 |
US7743278B2 (en) | 2005-11-28 | 2010-06-22 | Renesas Technology Corp. | Test access control for plural processors of an integrated circuit |
JP2008310792A (ja) * | 2007-05-11 | 2008-12-25 | Nec Electronics Corp | テスト回路 |
US8015462B2 (en) | 2007-05-11 | 2011-09-06 | Renesas Electronics Corporation | Test circuit |
JP2008304986A (ja) * | 2007-06-05 | 2008-12-18 | Nec Electronics Corp | 半導体集積回路 |
US7930606B2 (en) | 2007-06-05 | 2011-04-19 | Renesas Electronics Corporation | Selectively debugging processor cores through instruction codes |
EP2141597A1 (en) | 2008-07-03 | 2010-01-06 | NEC Electronics Corporation | Semiconductor integrated circuit |
US8468402B2 (en) | 2009-01-06 | 2013-06-18 | Renesas Electronics Corporation | Test circuit including tap controller selectively outputting test signal based on mode and shift signals |
WO2012127955A1 (ja) | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP5628411B2 (ja) * | 2011-03-24 | 2014-11-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2021519965A (ja) * | 2018-03-21 | 2021-08-12 | シー−スカイ マイクロシステムズ カンパニー,リミテッド | マルチコアプロセッサのためのデバッギング解決手段 |
JP7421486B2 (ja) | 2018-03-21 | 2024-01-24 | シー-スカイ マイクロシステムズ カンパニー,リミテッド | マルチコアプロセッサのためのデバッギング解決手段 |
Also Published As
Publication number | Publication date |
---|---|
CN1501250A (zh) | 2004-06-02 |
US20040163012A1 (en) | 2004-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004164367A (ja) | マルチプロセッサシステム | |
JP3913470B2 (ja) | システムlsi | |
US7853834B2 (en) | Instruction-based timer control during debug | |
KR20020039684A (ko) | 프로그램가능한 이벤트 카운터 시스템 | |
JP4450787B2 (ja) | 半導体集積回路装置 | |
JP5167904B2 (ja) | スキャン制御方法、スキャン制御回路及び装置 | |
US7676698B2 (en) | Apparatus and method for coupling a plurality of test access ports to external test and debug facility | |
US7831862B2 (en) | Selective timer control during single-step instruction execution | |
US6334198B1 (en) | Method and arrangement for controlling multiply-activated test access port control modules | |
US8666690B2 (en) | Heterogeneous multi-core integrated circuit and method for debugging same | |
JP2005527918A (ja) | 単一のtap(テストアクセスポート)を介して複数のtapにアクセスするための方法およびその装置 | |
JP4992791B2 (ja) | スキャン制御方法及び装置 | |
JP5022110B2 (ja) | 半導体集積回路 | |
JP4401039B2 (ja) | 半導体集積回路 | |
JP2008298458A (ja) | 半導体試験装置 | |
JP5336916B2 (ja) | 半導体装置 | |
EP2141597B1 (en) | Semiconductor integrated circuit | |
JP4600134B2 (ja) | マルチプロセッサシステム | |
JP2004094451A (ja) | オンチップjtagインタフェース回路およびシステムlsi | |
JP2004127169A (ja) | 半導体装置 | |
JP5329743B2 (ja) | 半導体集積回路装置 | |
JP2015088058A (ja) | 情報処理装置およびその制御方法 | |
JPH0815387A (ja) | マイクロコンピュータテスト回路 | |
JP3339574B2 (ja) | 集積回路用テスト回路 | |
JP2004206425A (ja) | トレース装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080415 |