技術関連ブログ

新しい2.5Dアクセラレータ「NeoChrom GPU」を使用した強力なハードウェア最適化によりSTM32で豊かなUIを実現

2022年5月2日

マイクロコントローラのグラフィック性能を高め続けているSTは、一部のSTM32U5に搭載される新しいグラフィック処理ユニットであるNeoChrom GPUをリリースしました。このテクノロジーは、フリップ、回転、スケーリング、ズームなどのアニメーションを最適化します。つまり、この新しいハードウェアIPを使用することでテクスチャ・マッピングとアルファ・ブレンディングが高速になるということです。これらの演算をNeoChrom GPUにオフロードすることで、1秒当たりのフレーム数を大幅に増加できます。そのため、これまで手の届かなかった複雑なインタフェースを、STM32U5などのマイクロコントローラで実行できるようになります。STの一部のお客様は、NeoChrom GPUでの製品開発に成功しています。また、STはTouchGFX 4.19.1をはじめとするNeoChrom GPU向けサポートの提供を保証しています。

Chrom-ARTからNeoChrom GPUへ

Chrom-ARTおよびNeoChrom GPUとは

STのテクノロジーをよくご存知のみなさまであれば、NeoChrom GPUがChrom-ARTの進化版だと推測できると思います。Chrom-ARTは、メモリ・アクセスを最適化して画像処理を高速化する2Dアクセラレータ(DMA2D)で、一部のSTM32マイコンに組み込まれています。Chrom-ARTは、STパートナーが提供する多くのツールや製品で使用されています。その中から3つだけ例を挙げると、Crank社のStoryboardTwilio社のMicrovisorTouchGFXを導入したPsiControl社のインタフェースがあります。これに対して、NeoChrom GPUは基になる考え方は同じですが、最適化の範囲が広がっています。この新しいテクノロジーは、バイリニア・ポイント・サンプリングを使用したテクスチャ・マッピングにより、新しい描画の高速化手法を提供し、アニメーションをサポートします。これにより、PCのGPUカードが必要だった処理をマイクロコントローラで実行可能となりました。

Chrom-ARTとNeoChromの仕様の比較

NeoChrom GPUがTouchGFX開発エコシステムにどのように組み込まれるか

Chrom-ARTは、STがグラフィックの最適化に取り組んだ際の初期の成果です。その後、STはTouchGFXを取得し、TouchGFX Designer、Simulator、およびGeneratorで総合的な開発エコシステムを構築しました。STは、TouchGFXツールに最初からNeoChrom GPUを組み込んでいます。TouchGFX Designerには、円形ディスプレイ上で60FPSを実現する高精度アニメーションのデモが搭載されています。さらには、NeoChrom GPUがオフの場合のフレーム・レートへの影響を示し、意思決定者がNeoChrom GPUの重要性を理解するのに貢献します。同様に、テクスチャ・マッピング・ウィジェットは、マイコンがサポートする場合は自動的に新しいGPUを使用します。従って、TouchGFXにこの新しいIPを直接組み込むことで、単純な機能リストではなく、まとまりのある開発エコシステムを実現できます。

NeoChrom GPUから現実世界での性能へ

グラフィック性能の課題

グラフィック性能には主な課題が2つあります。1クロック当たりの命令数の限界とメモリの問題です。1クロック当たりの命令数の限界という課題は、多くの場合、アーキテクチャのイノベーションの後で発生します。マイクロコントローラにはサイズと低消費電力に起因するALUとFPUの制約がありますが、製造プロセスの改善により、より多くのトランジスタを搭載し、より多くの演算を処理できるようになっています。NeoChrom GPUは、より多くの種類のグラフィック演算を高速化するハードウェアIPを使用することで、このトレンドを後押ししています。2つ目の課題はより注意が必要ですが、メモリは今後もずっと希少なリソースであり続けるため、非常に重要です。STM32U599には2つのフレーム・バッファを格納できる2.5MBのRAMが内蔵されていますが、多くの組込みシステムでは外付けのRAMが必要です。これが性能面での重大な不利益を伴うという問題です。

STM32U5

STM32マイコン固有の実装

この2つ目の課題を解決するために、NeoChrom GPUはSTM32マイコン固有のハードウェア最適化を行っています。たとえば、STM32U5は外付けメモリ・モジュールへの8bitのオクタル・シリアル・ペリフェラル・インタフェース(OSPI)または16bitのハイスピード・インタフェース(HSPI)を200MHzで使用して、L2キャッシュへのフェッチ動作を高速化します。同様に、L1キャッシュは内蔵RAMにある2つの832KBのフレーム・バッファに直接アクセスできます。結果として、リアルタイムで画像を描画するために必要なすべてのデータにすばやくアクセスできることでテッセレーションが大幅に高速化されます。つまり、STは、テクスチャなどのアセットへのアクセス時間の短縮に取り組み、最終的に描画を最大6倍高速化して性能を最適化しました。

今後の展望

NeoChrom GPUに関する業界の最初の反応は非常に好意的です。多くのマイコン・メーカーがグラフィック演算を高速化する同じようなIPを提供していますが、STM32マイコン固有の最適化とTouchGFX開発エコシステムにより、多くの初期テスト実行者が、競合ソリューションではなくNeoChrom GPUを採用しています。この新しいテクノロジーはすでにTouchGFX 4.19でサポートされており、一部の初期顧客は近々提供予定のSTM32U599開発キットを使用して、製品適用可能なUIの開発を行っています。STは近々提供予定の他のマイクロコントローラにもNeoChrom GPUを組み込む予定で、公開時にはSTのブログでお知らせします。

関連情報

技術関連ブログ一覧