STM32MP1 – GPU
グラフィックス・プロセッシング・ユニット

0.1 版

こんにちは、STM32MP1 マイクロ・プロセッサ・ファミリに組み込まれているグラフィックス・プロセッシング・ユニット（GPU）のプレゼンテーションへようこそ。ここでは、ヒューマン・マシン・インタフェース（HMI）およびマルチメディア。コンテンツのレンダリングに広く使用されている、グラフィックス作成専用のこのプロセッサの機能について説明します。

1

GPU のアーキテクチャ

2

HMI 用のクラス最高のグラフィック高速化

ホスト I/F• GPU は、共有シェーダを備えた 3Dパイプラインを中心に構築されています。

メモリ・コントローラ• 専用の 3D レンダリング・エンジンとテクスチャ・エンジン
グラフィックパイプライン
フロントエンド

3D レンダリングエンジン

テクスチャエンジン
ピクセルエンジン• システムや外部メモリとの転送用の専用メモリ・コントローラ

ウルトラ・スレッドの共有シェーダGPU

3D パイプライン

アプリケーション側の利点• HMI アプリケーション用の 3D グラフィックス• 最先端のグラフィック効果• 標準 API のサポート（OpenGLES）

STM32MP1に搭載のGPU は、強力な 3D グラフィックス処理装置です。その 3D パイプラインは、専用の 3D レンダリング・エンジンとテクスチャ・エンジンを備えたウルトラ・スレッド共有シェーダを中心に構築されており、3D シーンを効率的にレンダリングします。
専用メモリ・コントローラにより、システムや外部メモリとの間のすべての転送が最適化されます。

2

主な機能

3

CPU の負荷を軽減する柔軟な動作モード• OpenGL ES 2.0 / 1.1 準拠、拡張機能 OpenVG 1.1 も装備• IEEE 32bit 浮動小数点パイプライン• ウルトラ・スレッドの共有型の、頂点およびフラグメント（ピクセル）シェーダ• 高データレートと低データレートの両方で低帯域幅、低い CPU 負荷• 頂点あたり最大 12 のプログラム可能な要素• 高性能のテクスチャ依存操作• アルファ・ブレンディング• 深度とステンシルの比較• 8 つのフラグメント・シェーダの同時テクスチャをサポート• 4 つの頂点シェーダの同時テクスチャをサポート• ポイント・サンプリング、バイリニア・サンプリング、トリリニア・フィルタリング、およびキュービック・テクスチャ• 8k x 8k のテクスチャ・サイズと 8k x 8k のレンダリング・ターゲット• 4 つの頂点 DMA ストリーム

STM32MP1のGPU は、OpenGL ES 1.1 および 2.0 ならびにOpenVG 1.1 標準に準拠しています。
GPU は、IEEE 準拠の 32bit 浮動小数点数を処理する強力なウルトラ・スレッド共有シェーダを中心に構築され、すべての最先端のグラフィック機能を高速化して、CPU の負荷を下げます。
各頂点は最大 12 個のプログラム可能な要素を持つことができ、GPU は 8 つのフラグメント・シェーダと 4 つの頂点シェーダの同時テクスチャをサポートします。
ポイント・サンプリング、バイリニア、トリリニア、キュービックなど、いくつかのサンプリング手法がサポートされています。
レンダリング・ターゲットとテクスチャのサイズは、8k ピクセルあたり最大 8k です。

3

GPU のアーキテクチャ
AXI または AHB

4

フラグメント・シェーダの要求に応じてテクスチャを取得

三角形と線を色属性とテクスチャ座標を持つピクセルに変換ホスト・インタフェース
メモリ・コントローラ

3D パイプライン
挿入•
高レベル・プリミティブ•コマンド

グラフィックパイプライン
フロントエンド

3D レンダリン
グ・エンジン

テクスチャエンジン

ウルトラ・スレッド共有シェーダ
シェーダあたり最大 256スレッド

アルファ・ブレンディング
ビジュアル・サーフェス
タイリング

ピクセルエンジン

頂点シェーダとフラグメント・シェーダの両方を実行する SIMD*プロセッサ
頂点シェーダ時：ジオメトリ変換とライティング計算を実行
フラグメント・シェーダ時：テクスチャ・データを適用し、各ピクセルのカラー値を計算*SIMD = シングル・インストラクション・マルチプル・データ

GPU には、クラス最高のグラフィック高速化を実現する以下の主要な専用ブロックがあります。
• グラフィック・パイプラインのフロントエンドは、高レベルのグラフィック・プリミティブとコマンドを入力として受け取ります。
• それらは、最大 256スレッドをサポートするシングル・インスト
ラクション・マルチプル・データ（SIMD）プロセッサであるウルトラ・スレッド共有シェーダに送信されます。
• 共有シェーダは、ジオメトリ変換とライティング計算の頂点シェーダとして、またはテクスチャを適用して各ピクセルの色を計算するフラグメント・シェーダとして機能します。
• 専用の 3D レンダリング・エンジンでは、三角形と線を色属性とテクスチャ座標を持つピクセルに変換します。
• テクスチャ・エンジンは、フラグメント・シェーダの要求に応じてテクスチャを確実に取得します。
• ピクセル・エンジンは、最終的なアルファ・ブレンディングとタイリングを実行します。

4

割込み
割込みイベントグローバル割込み

説明
GPUイベントにより発生

GPU にはグローバル割込みが 1 つだけあります。この割込みは、グラフィック API の実装のためにローレベルのドライバによって使用されます。

5

低電力モード
モード

説明

RUN

アクティブ。

SLEEP

アクティブ。ペリフェラル割込みによって、デバイスは SLEEP モードを終了します。

STOP + LP-Stop

停止。ペリフェラル・レジスタの内容は保たれます。

LPLV-Stop停止。ペリフェラル・レジスタの内容は保たれます。

STANDBY

パワーダウン状態です。ペリフェラルは、STANBY モード終了後に再初期化する必要があります。

GPU は RUN および SLEEP モードでアクティブです。GPU 割込みにより、デバイスは SLEEPモードを終了します。STOP モードでは、GPU は停止し、そのレジスタの内容は保持されます。
STANDBY モードでは、GPU の電源がオフになり、後で再初期化する必要があります。

。

6

アプリケーション例

7• コネクティビティやユーザ・インタフェースを含む低電力組込みアプリケーション：

BT モジュール
シリアル Flash
加速度センサUART

Quad SPI

DDR

GPU
FMC / SPI

SPI

ボタン

I/O

USB コネクタUSB

STM32MP1

I2C

I2S

外部
DDR メモリ

ディスプレイ
タッチパネル

オーディオコーデック• GPU はすべてのグラフィック・プリミティブを処理して、高度なグラフィカル・ユーザ・インタフェースのレンダリングを実行できます。

組込みアプリケーションには、高品質のユーザ・インタフェースと共に低電力管理機能が必要です。これは、GPU を使用して高度なグラフィカル・ユーザ・インタフェースをレンダリングすることで実現できます。

7

関連ペリフェラル

8• このペリフェラルに関連する下記のトレーニングを参照してください。
• RCC（CPU クロック制御、CPU 有効化／リセット）• 割込み（CPU 割込みマッピング）

詳細については、RCC ブロックと割込みに関連するトレーニング
スライドを参照してください。

8STM32 シリーズでの比較
GPUの機能STM32
L4STM32
F0STM32
F1STM32
F2STM32
F3STM32
F4STM32F
7STM32
H7STM32
MP1

インスタンスの数

00000000

1

最大速度

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

533MHzOpenGL
ES 1.1

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Y

OpenGL
ES 2.0

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Y

OpenVG
1.1

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Y

EGL 1.4

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Y

OpenGL
2.1

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

Y

GPU は、OpenGL ES 1.1 および 2.0、OpenVG 1.1、EGL 1.4、OpenGL 2.1 の API をサポートする STM32MP1 デバイスで使用できます。

9