小型プロセッサーがGPU周辺の仕事を管理

現代のNvidiaのグラフィックスプロセッサーには、開発者になじみのあるCUDAコアやシェーダーユニット以外にも、数多くの計算コアがある。Nvidiaの推定では、チップによって約10~40個の内部RISC-Vプロセッサーが、主要なグラフィックスハードウェアの周囲で管理機能を担う。

これらはアプリケーション開発者に公開された汎用CPUではない。動画のエンコードとデコード、電力管理、セキュリティー、グラフィックスシステムの調整などを行う組み込み制御装置として働く。一部は暗号技術で検証されたファームウェアを実行し、GPUのファームウェアを起動してよいか判断する連鎖にも関わる。

Nvidiaは以前、こうした作業の多くに独自のFalcon制御アーキテクチャーを使っていた。FalconはG98世代のころに初めて登場し、それ以前のTensilicaベースの動画制御装置に取って代わった。2016年までには、単一チップ上の15を超えるエンジンがFalconプロセッサーを利用し得るようになっていた。その設計は小さなダイ面積とメモリー遅延への耐性を重視していたが、GPU管理が複雑になるにつれ、32ビットのアドレス空間、データキャッシュの欠如、一般的なOSを実行できない点が制約となった。

同社はライセンス供与されるアーキテクチャーや、社内設計の更新案を検討したうえで、RISC-Vの命令セットを選んだ。Nvidiaが開発した制御装置は、報道によればFalconの約3倍の性能を2倍の面積で実現し、同社固有の要件に合わせた拡張も可能にした。

各チップ内に独自のエコシステム

Nvidiaは現在、複数の内部設計を使う。32ビットと64ビットのRISC-Vコアに加え、深層学習の高速化のため幅広いベクトル演算ユニットと組み合わせた版もある。Peregrineという再利用可能なサブシステムでは、制御装置とキャッシュ、密結合メモリー、ダイレクトメモリーアクセス、暗号処理ブロックを組み合わせられる。

特に重要な採用例の一つがGPU System Processorだ。四つの64ビットコアに、メモリー分離、割り込み処理、ホストインターフェース、メールボックス、GPU全体にわたる整合性のある接続をまとめている。2018年以降、このプロセッサーは以前ホスト側のグラフィックスドライバーが担っていた制御作業の相当部分を引き継いだ。その役割をデバイス上へ移すことでGPUの自己完結性は高まり得るが、利用者は依然として管理コアを直接プログラムできない。

Nvidiaのオープンなカーネルモジュールからは、この構造の一端を公に確認できる。ドライバーソースの制御装置一覧には、旧来のFalconユニットと、システムプロセッサー、電力管理ユニット、動画デコードブロックに関係する多数のRISC-Vエンジンが含まれる。ヘッダーファイルも、後のGPU世代でRISC-Vが引き続き使われることを示している。

Nvidiaの技術幹部は2024年、同社がこれらのコアを年間10億~20億個出荷していると推定した。これは監査済みの出荷統計ではなく非公式な推定と説明されたが、組み込みでの採用が、独立したプロセッサー製品として姿を見せなくても巨大な規模に達し得ることを示す。GPU内部のRISC-Vコアは購入者にはほぼ見えないが、グラフィックスを描画し、アクセラレーテッドコンピューティングの処理を実行する、はるかに大きなエンジンを支える不可欠な制御層になっている。