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

概要

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

システムオンチップ(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台の仮想マシンにグループ化できます。

 

対称型マルチプロセッサ

アンプ

アイアンプ

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

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

 

 

すべてのコアを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 からトレースします。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に転送することは問題外です。 大きなオフチップトレースバッファが必要です。
  • 十分なオンチップトレースバッファが実装されていない(または、ニーズに応えるには不十分なサイズのトレース・バッファ)。

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

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® ツールは全てのコアを同時にデバッグすることができます。パラレルまたはシリアルOff-Chip-TraceまたはOn-Chip-Buffers経由でコアテックス-Aおよびコアテックス-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 オーディオプロセッサー ケイデンス® テンシリカ® 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®ツールを探す