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

概要

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

システムオンチップ(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)
    1つのPowerView GUIで、DynamIQを使用したSMPシステムをデバッグできます。DynamIQは、高性能コアと電力効率に優れたコアを組み合わせることで、オペレーティング・システムが現在必要とされていないコアをパワーダウンしてエネルギーを節約できるようにします。
  • Hypervisors Orchestrating Multiple OSes
    今日の SMP マルチコアクラスターは、物理メモリをハイパーバイザーで保護しながら、一度に複数のオペレーティングシステムで使用されることがよくあります。PowerViewは、このような最も複雑なシステムでもデバッグすることができます。

メニーコア・システムズ

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

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

 

対称型マルチプロセッサ

アンプ

アイアンプ

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

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

 

 

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

 

複数のPowerView GUIでコアをデバッグする**。

 

 

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

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

 

 

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

 

 

複数のOSを使う

 

同期走行

非同期実行

 

 

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

**:最大16名。

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

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

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

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

 

対称型マルチプロセッサ

アンプ

アイアンプ

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

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

 

 

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

 

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

 

 

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

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

 

 

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

 

 

複数のOSを使う

 

同期走行

非同期実行

 

 

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

**:最大16名。

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

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

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

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

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

この例では、各 SMP サブシステムと個々のコアを独自の PowerView GUI からトレースし、最大 16 個の PowerView GUI を使用できます。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に転送することは問題外です。 大きなオフチップ・トレース・バッファが必要です。
  • 十分なオンチップ・トレース・バッファが実装されていない(または、ニーズに応えるには不十分なサイズのトレース・バッファ)。

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

On-Chip-Traceは次のような場合に理想的である:

  • リアルタイムでしか出現しないハイゼン虫を探すのだ。
  • サイズに制限のあるオンチップ・トレース・バッファは、トラブルシューティングのシナリオに必要なトレース情報を収集するのに十分です。
  • リアルタイム・トレースを長時間行う必要はない。
  • コード・カバレッジやタイミング解析は必要ない。
  • チップはデバッグ・ポートに限定されており、独立したトレース・ポートは実装されていない。
ポピュラーなマルチコア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®ツールは全てのコアを同時にデバッグすることができます。Cortex-AコアとCortex-RコアをパラレルまたはシリアルOff-Chip-TraceまたはOn-Chip-Buffers経由でトレースすることができます。

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®ツールを探す

インテル® Xeon® シルバー・プロセッサーのデバッグ

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

インプルメント:

  • 最大12 x Intel® Sapphire Rapids x86 CPU

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

インテル® 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 オーディオプロセッサー ケイデンス® テンシリカ® HiFi 4 DSP Xtensa-LX7
  • 1 x セキュリティ・コントローラ(SECO) Arm® Cortex®-M0+
  • 1 x プラットフォーム管理ユニット MicroBlaze Hard-IP

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

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

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

Qualcomm Snapdragon™ SoCのデバッグ

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

インプルメント:

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

スナップドラゴン・プロセッサーは通常、多数の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®ツールを探す