マルチコアのデバッグとトレース

概要

最も複雑なチップでも無制限のマルチコアデバッグが可能

システムオンチップ(SoC)は、さまざまな電子システムにおけるコンピューティングと通信の頭脳である。アプリケーションが複雑化するにつれ、それを支えるSoCも複雑化している。コア数だけでなく、コアの種類も増え続けています。TRACE32®を使用することで、アプリケーション、OS、ハイパーバイザー、その他複数のコアで動作するソフトウェアを含む、最も複雑なSoCのデバッグとトレースが可能になります。要約すると、TRACE32®は組込みシステム全体に対する深い洞察を提供します。

150以上のサポートされたコア
アーキテクチャの混合をデバッグする

1つのデバッグインターフェースと1つのデバッグプローブを介して、異なるアーキテクチャのコアを同時にデバッグし、組込みシステム全体を把握することができます。

AMPによる並行デバッグと
同期デバッグの実行

AMPシステムの全コアの同期実行制御により、異なるアーキテクチャのコアを同時にデバッグできます。

複数のOSやハイパーバイザーが稼働する複雑なシステムの管理

組み込みシステム全体を把握するために、 アプリケーションだけでなく、複数のオペレーティングシステムやハイパーバイザーもデバッグする。

ヘテロジニアス・マルチチップ・
システムの探求

2つ以上のSoCで構成される複雑な組込みシステムをデバッグします。それぞれのSoCには、同一または異なるコアが複数実装されていることがあります。

メニーコアシステムの
デバッグの簡素化

独自に開発したiAMPアプローチ(Integrated Asymmetric MultiProcessing)を使用して、SMP対応CPUクラスタを1つのGUIでデバッグし、すべてのコアを同期して実行制御します。

ヘテロジニアスおよびホモジニアスのマルチコアシステムをリアルタイムでトレースする

ヘテロジニアスまたはホモジニアスプロセッサアーキテクチャのミックスを使用して、同じトレースポート上で複数のコアからのトレースを同時に記録します。

マルチコアデバッグ

あらゆるマルチコアシステムのシームレスなデバッグ

どのようなマルチコアシステムを使用していても、TRACE32®は全てをサポートします。対称型マルチプロセッシング(SMP)、非対称型マルチプロセッシング(AMP)、統合型非対称型マルチプロセッシング(iAMP)、AMP/SMPとマルチチップの混合システム、1,000コアを超えるメニーコアアーキテクチャでも問題ありません。業界をリードする機能をすべて備えた当社のPowerView ソフトウェアは、すべてのチップ、すべてのコアに対応する統一ユーザーインターフェイスであり続けます。

ヘテロジニアスマルチコアシステム

AMP システムには複数のコアがあり、それぞれが個別のタスクを実行します。当社のPowerView ソフトウェアは、Core アーキテクチャが混在していても、一貫した GUI と機能セットを提供します。1つのデバッグプローブで、最大16の同期PowerView インスタンスを持つあらゆる種類のマルチコア構成をデバッグできます。

  • ヘテロジニアスAMPシステム
    システム内では、各コアは独自の物理アドレス空間だけでなく、独自のコアアーキテクチャ、メモリモデル、オペレーティングシステム、アドレス変換、デバッグシンボルを持つことができる。
  • マルチチップAMPシステム
    組み込み制御ユニットの中には、複数の別々のマルチコアSoCを含むものがあります。デイジーチェーン(JTAG)、スター型トポロジー(cJTAG/SWD)、または2つのウィスカー(CombiProbe)を使用して、デバッグのためにそれらを組み合わせることができます。
  • 複合AMP/SMPシステム
    マルチコアSoCには、多くの場合、同一の高性能アプリケーションコアのSMPクラスタが含まれ、その周囲に専用タスク用の他のCPUアーキテクチャのコアが混在しています。

均質なマルチコアシステム

SMPシステムには、共通の目的を果たす複数のコアがあり、すべてのコアがまったく同じコア・アーキテクチャを持っています。当社のPowerView ソフトウェアは、オペレーティングシステムやハイパーバイザーの有無にかかわらず、2コアから1024コアまで、すべてのコアを1つのGUIでデバッグできます。すべてのコアを同時に起動・停止することも、1つのコアだけに集中することもできます。

  • OSリソースとしてのSMPコア
    SMPシステムでは、CPUコアをターゲットOSの実行リソースと考えることができる。デバッグの焦点は、どのコアが実際にどのタスクを実行しているかよりも、並列実行されているタスクにあります。
  • Arm® DynamIQ Shared Unit (big.LITTLE)
    DynamIQを使用したSMPシステムのデバッグを、PowerView GUIで行うことができます。DynamIQは、高性能コアと電力効率に優れたコアを組み合わせ、オペレーティング・システムが現在必要とされていないコアをパワーダウンしてエネルギーを節約できるようにします。
  • 複数のOSをオーケストレーションするハイパーバイザー
    今日のSMPマルチコアクラスターは、物理メモリをハイパーバイザーで保護しながら、同時に複数のオペレーティングシステムで使用されることが多くなっています。PowerView 、このような最も複雑なシステムでもデバッグすることができます。

メニーコアシステムズ

ハイパフォーマンスコンピューティングで知られるメニーコアシステムは、マルチコアシステムの特殊な形態であり、複数のオペレーティングシステムを実行することで代表される。我々が発明したiAMPは、同一の論理的に結合されたコアを、単一のPowerView GUIインスタンスを介して、すべてのコアの同期実行制御でデバッグすることができます。

  • シングルGUIでの大規模マルチコアデバッグ
    ハイパーバイザがなくても、PowerView 、同一のコアを論理的にマシンにグループ化し、それぞれにターゲットOSを持たせることができます。
  • SMPクラスタによるiAMPシステム
    iAMPでは、最大1024コアを最大30台の仮想マシンにグループ化できます。

 

SMP

AMP

iAMP

ホモジニアスコアのデバッグ

ヘテロジニアスコアのデバッグ

 

 

すべてのコアを1つのPowerView GUIでデバッグ

 

複数のPowerView GUI**でデバッグコア

 

 

静的に割り当てられたゲストでハイパーバイザを使用する

動的なコア割り当てでハイパーバイザーを使用する

 

 

複数のコアを管理する単一のOSを使用する

 

 

複数のOSを使う

 

同期走行

非同期実行

 

 

*:同一コア、または少なくとも同じインストラクションセットのコア

**:最大16

ニーズに合った理想的なデバッグモードを見つけよう

マルチコアシステム用にTRACE32®のセットアップを作成する場合、SMP、AMP、iAMPから選択することができます。この表は最も重要なユースケースの概要を示していますが、可能なコンフィギュレーションの詳細については上記を参照してください。

ニーズに合った理想的なデバッグモードを見つけよう

マルチコアシステム用にTRACE32®のセットアップを作成する場合、SMP、AMP、iAMPから選択することができます。この表は最も重要なユースケースの概要を示していますが、可能なコンフィギュレーションの詳細については上記を参照してください。

 

SMP

AMP

iAMP

デバッグホモジニアスコア

ヘテロジニアスコアのデバッグ

 

 

すべてのコアを1つのPowerView GUIでデバッグ

 

複数のPowerView GUI**でデバッグコア

 

 

静的に割り当てられたゲストでハイパーバイザーを使用する

動的なコア割り当てでハイパーバイザーを使用する

 

 

複数のコアを管理する単一のOSを使用する

 

 

複数のOSを使う

 

同期走行

非同期実行

 

 

*:同一コア、または少なくとも同じ命令セットのコア。

**:最大16

iAMPシステムのマルチコアデバッグ設定

メニーコアシステムの全コアに1つのデバッガで対応

メニーコア・システムはマルチコアシステムの特殊な形態であり、複数のオペレーティング・システムを実行することで代表される。このようなシステムは、以前は主にハイパフォーマンス・コンピューティングの分野で使用されていましたが、現在では組み込み設計に使用されることが多くなっています。我々が発明したiAMPは、同一の論理的に結合されたコアを、単一のPowerView GUIインスタンスを介して、すべてのコアの同期実行制御でデバッグすることができます。

マルチコアオフチップトレース

AMP、iAMP、SMPシステムでのマルチコアオフチップトレースの実行

この例では、各 SMP サブシステムと個々のコアを、PowerView GUI からトレースします。PowerView GUI は、最大 16 個まで使用できます。PowerView は、各 SMP サブシステムと個々のコアを個別に起動および停止しますが、同期させることもできます。このようなオフチップ・トレース構成は、次のような場合に最適です:

  • TRACE32®PowerTraceモジュールの大容量トレースバッファを使用し、コードカバレッジやタイミング解析、また多くのトラブルシューティングシナリオに不可欠なトレース情報を長期間収集することができます。
  • トレースを継続する前に、小さなオンチップトレースバッファのトレース情報を読み出し、それをホストPCに転送するために、定期的にターゲットを停止する必要はありません。
  • 十分なオンチップトレースバッファ(またはニーズに応じた不十分なサイズのトレースバッファ)が実装されていない。
  • トレースデータを最大帯域幅でホストPCにストリーミングしたい。
マルチコアトレース

全コアのリアルタイム挙動を同時解析

従来の Stop-Mode-Debugging では不十分な場合があります。Traceエクステンションが提供するプログラムフローデータは、テスト中のアプリケーションを妨げることなく、どの命令が実行され、その実行にどれだけの時間がかかったかを正確に示します。これは、例えば、実行時にのみ発生する見つけにくいバグを見つけたり、アプリケーションがすべてのタイミング要件を満たしていることを確認したり、あるいは認証のためのコードカバレッジレポートを作成したりするのに便利です。

当社のトレースツールを使用すると、トレースインターフェースまたはオンチップバッファを提供するマルチコアSoC上でリアルタイムトレースをキャプチャできます。使用するマルチコアシステムの種類は問いません:Symmetric Multiprocessing (SMP)、Asymmetric Multiprocessing (AMP)、Integrated Asymmetric Multiprocessing (iAMP)、またはその混合などです。最新のマルチコアSoCは、全コアのトレースデータをマージするため、全コアのオフチップ・トレースをまとめてキャプチャするトレース・プローブが1つあれば十分です。

マルチコアオフチップトレース

オフチップトレースは、次のような場合に理想的です:

  • リアルタイムでしか発生しないハイゼンバグを見つけたい。バグがたまにしか発生しない場合や複雑な原因がある場合は、長期間にわたって記録することをお勧めします。
  • コードカバレッジとタイミング解析には、長期間にわたるトレース情報の収集が必要です。TRACE32® PowerTrace モジュールに搭載された大容量トレースバッファにより、長時間の記録が保証されます。
  • トレースデータをホストPCにストリーミングしてコードカバレッジの結果をリアルタイムで確認したり、非常に長いトレースレコーディングをキャプチャして非常に包括的な分析を行いたい。
  • ターゲットを定期的に停止することは、あなたにとって選択肢ではありません。したがって、小さなオンチップトレースバッファをホストPCに転送することは問題外です。 大きなオフチップトレースバッファが必要です。
  • 十分なオンチップトレースバッファが実装されていない(または、ニーズに応えるには不十分なサイズのトレースバッファ)。

マルチコアオンチップトレース

オンチップトレースは次のような場合に理想的です:

  • リアルタイムでしか出現しないハイゼンバグを見つけたい時
  • サイズに制限のあるオンチップトレースバッファは、トラブルシューティングのシナリオに必要なトレース情報を収集するのに十分です。
  • リアルタイムトレースを長時間行う必要はない。
  • コードカバレッジやタイミング解析は必要ない。
  • チップはデバッグポートに限定されており、独立したトレースポートは実装されていない。
一般的なマルチコアSOCのデバッグとトレース

私たちのツールがすべてをカバーします

TRACE32®のデバッグ/トレースツールは、一般的なマルチコアSoCをカバーしています。このセクションでは、様々な有名チップメーカの非常に成功した複雑なSoCの7つの例と、それらを簡単かつ迅速にデバッグトレースするための理想的なTRACE32®のコンフィギュレーションを紹介します。

デバッグおよびトレース AMD Zynq™ UltraScale+™ MPSoC

幅広い組込みアプリケーションに対応するヘテロジニアス・マルチプロセッシング・プラットフォーム。

実装:

  • 4 x アプリケーション・コア Arm® Cortex®-A53
  • 2 x リアルタイムコア Arm® Cortex®-R5F.
  • 1 x プラットフォーム管理ユニット MicroBlaze Hard-IP.
  • オプションのArm® Cortex®-M3、Cortex®-M1、MicroBlazeソフトコアをFPGAロジックに搭載。

アプリケーションコアは通常、LinuxのようなリッチOSを実行するSMPクラスタとして構成され、他のコアは通常非同期で動作します。

当社の TRACE32® ツールは全てのコアを同時にデバッグすることができます。パラレルまたはシリアルOff-Chip-TraceまたはOn-Chip-Buffers経由でCortex-AおよびCortex-Rコアをトレースできます。

ZYNQに最適なTRACE32®ツールを探す

デバッグおよびトレース Infineon AURIX™ TC4x

組み込みの安全性、セキュリティ、リアルタイム制御に重点を置いた車載アプリケーション向けMCU。

実装:

  • 最大6基のTriCore™ V1.8.コア
  • オプションのジェネリック・タイマー・モジュール(GTM)。
  • ARC-EVベースの並列処理ユニット(PPU)。
  • TriCoreをベースとしたサイバーセキュリティリアルタイムモジュール(CSRM)。
  • XC800ベースのスタンバイコントローラ(SCR)。
  • プログラマブルデジタル信号処理(cDSP)。

すべてのコアは通常、AUTOSARオペレーティングシステムを実行するメインのTriCoreコアと非同期(AMP)で動作します。

TRACE32®ツールは全てのコアを同時にデバッグすることができます。AMPは全てのコアで利用可能で、SMPとiAMPはTriCoreのオプションです。主要コアは、シリアルOff-Chip-TraceまたはOn-Chip-Buffers経由でトレースできます。

AURIXに最適なTRACE32®ツールを探す

デバッグIntel® Xeon® Silver プロセッサ

Intel® Xeon® Silverプロセッサは、データセンターにおけるエントリーレベルのコンピューティング、ネットワーキング、ストレージ向けに、改良されたメモリ速度、低レイテンシ、エネルギー効率を提供します。

実装:

  • 最大12 xIntel® Sapphire Rapids x86 CPU

当社のツールは、すべてのコアを同時にデバッグできます。リアルタイムトレースはオンチップバッファでサポートされます。

Intel® Xeon® 用の最適な TRACE32® ツールをお探しください。

NVIDIA DRIVE™ Orin™ SoCのデバッグ

インテリジェントカーの中央コンピューターで、自律走行機能、自信の見解、デジタルクラスタ、AIコックピットを駆動する。

実装:

  • 12 x Arm® Cortex®-A78AE
  • 4 x Arm® Cortex®-R52

当社のツールは、すべてのコアを同時にデバッグできます。すべてのコアをAMP、SMPまたはiAMP構成でデバッグできます。リアルタイムトレースは、高速シリアルトレースまたはオンチップバッファを介してサポートされます。

最適なTRACE32®工具を探す

NXP i.MX8 QuadMax

産業用、車載用、インフォテインメント用アプリケーションプロセッサー

実装:

  • 1 x 高性能アプリケーションコア Arm® Cortex®-A72
  • 4 x 高効率アプリケーションコア Arm® Cortex®-A53
  • 2 x リアルタイムコア Arm® Cortex®-M4F
  • 1 x システム制御ユニット Arm® Cortex®-M4F
  • 1 x オーディオプロセッサー Cadence® Tensilica® HiFi 4 DSP Xtensa-LX7
  • 1 x セキュリティコントローラ(SECO) Arm® Cortex®-M0+
  • 1 x プラットフォーム管理ユニット MicroBlaze Hard-IP

アプリケーションコアは通常、AUTOSAR Adaptive、Linux、Android Automotive、QNXなどのリッチOSを実行し、コアテックス-A53コアはSMPクラスタとして動作する。リアルタイムコアは通常、AUTOSAR Classicまたはその他のリアルタイムOSを実行します。

当社のツールは、単一のデバッグインターフェース(SWJ-DP)を介してすべてのコアを同時にデバッグできます。すべてのアプリケーションコアとリアルタイムコアは、オンチップバッファまたはチップのPCIeインターフェイスを介してトレースできます。

i.MX8 QuadMaxに最適なTRACE32®ツールを探す

Qualcomm Snapdragon™ SoCのデバッグ

モバイル機器や自動車向けのプロセッサーファミリー

実装:

  • KryoまたはKrait Armv7/v8アプリケーションコア。
  • Qualcomm® Hexagon™ DSP
  • さらにサブコントローラー、GPU、DSPを搭載。

Snapdragon プロセッサーは通常、多数のCPUコアを搭載している。

アプリケーションコアだけでなく、SoCに搭載されている他の様々なコアのほとんどをサポートしています。いつものように、私たちの目標は、単一の物理インターフェースを介してすべてのコアを同時にデバッグすることです。

各Snapdragonの正確なトポロジーは非公開です。詳細についてはクアルコムにお問い合わせください。

Snapdragonに最適なTRACE32®ツールを探す

デバッグとトレース Texas Instruments AM69Ax

自律移動ロボットおよびマシンビジョン用プロセッサ

実装:

  • 8 x アプリケーションコア Arm® Cortex®-A72 を2つのクラスターに編成。
  • 2 x General Compute Real-Time Cores Arm® Cortex®-R5F.
  • 2 x デバイス管理コア Arm® Cortex®-R5F.
  • 4 x ディープラーニング・アクセラレータ TI C7x DSP。
  • 2 x セキュリティ・マネジメント・コア (SMS) Arm® Cortex®-M4.

2つのアプリケーション・クラスタは通常、LinuxのようなリッチOSで同期的に動作し、他のコアは通常非同期的に動作する。

当社のTRACE32®ツールは、最大ポートサイズ32ビットのチップのパラレルトレースポート(TPIU)を介して、全てのコアを同時にデバッグ、トレースすることができます。

AM69Axに最適なTRACE32®ツールを探す