デバッグコントロールユニットを内蔵した、組み込みシステム向けのマルチコアプロセッサであって、USBデバイスインタフェースを持ち、USBデバイスコントローラによって制御されるEJTAGおよびトレースデータ収集ハードウエアを有し、これらのハードウエアにより、マルチコアプロセッサシステムのデバックを外部のパーソナルコンピュータ等でUSB経由で行える事を特徴としたマルチコアプロセッサデバイス。ターゲットアプリケーションが動作する、少なくとも3個以上のCPUと、EJTAGデバッグコントロールユニットと、EJTAGデバッグインターフェースと、マルチコアプロセッサ毎のトレースデータを一定長にパッキングする機能と、すべてのプロセッサからのトレースデータを一時的に保管するプロセッサ毎のFIFOと、それらすべてのFIFOデータを集積し、USB転送用のFIFOと、USBデバイスコントローラに依って制御されるJTAG回路と、USBデバイスコントローラを経由して、外部のパーソナルコンピュータにトレースデータを転送する機能と、メモリマネージメントユニットと、DDRSDRAMメモリーコントローラと、周辺ロジックと、フラッシュメモリコントローラと、内蔵メモリと、を有し、すべてのプロセッサの実行トレースダンプが特別な外部ハードウエア無しに可能である事を特徴とするマルチコアプロセッサ。マルチコアプロセッサのプロセッサ数増大に伴い、従来のトレースデータ処理方法では実速度かつ全プロセッサのトレースを取れなくなって来た。また、トレースの為の専用ピンを設ける事は経済性の妨げとなっている。トレースダンプデータを一時的に蓄積する大規模メモリーの代わりにインテリジェントな選択回路を備えたFIFO集合体に置き換える事で、外部のデバックツールと等価な機能を持った回路をターゲットSOCに集積する事が可能となる。図2の説明。100はマルチコアプロセッサモジュールが内蔵された、ターゲットデバイスである。マルチコアプロセッサモジュールのEJTAG端子はTAP回路に繋がれ、デバイス内のUSBデバイスコントローラに制御されるJTAGコントロール回路によって制御される。結果的にデバックは該USB端子に繋がれた外部の制御PCに依ってコントロールされる。マルチコアプロセッサモジュールから出力される5本のトレースデータはFIFOデータ集積回路に依って、USB用のFIFOに適宜転送される。USBコントローラはこれらをさらに制御PCへ転送する。このUSBデバイスは同時にターゲットデバイスの他の回路も制御できる。図3は図2に置けるFIFOデータ集積回路の実施例である。この例ではFIFO数は4本となっているが本数に制約は無い。で代表される各FIFOはデータ出力ポートとFIFO内のデータ数を示すポートがある。で代表される機能ブロックは二つある入力のうち大きい数値を出力に出力する。結果的に機能ブロックの出力は全てのFIFOの最大データ数を示す。上記の最大データ数はで代表される機能ブロックの片方の入力に繋がれる。機能ブロックは二つの入力の数値がゼロ以外で一致した時に1を出力する。の選択回路はR入力が1であるポートを優先して、DのデータをFIFOから取り込む。はUSBのパケット用FIFOで512Bのデータ毎にホストへのパケット転送を起動する。