Pixel Visual Core(PVC )は、 Googleが設計したARMベースの システムインパッケージ(SiP) 画像プロセッサシリーズです。[1] PVCは、モバイルデバイスや将来的にはIoT向けの、完全にプログラム可能な画像、ビジョン、AIマルチコアドメイン固有アーキテクチャ(DSA )です。[2] 2017年10月19日に発表されたGoogle Pixel 2および2 XL で初めて登場しました。また、 Google Pixel 3および3 XLにも搭載されています。Pixel 4以降、このチップはPixel Neural Coreに置き換えられました。
歴史
Google は以前、Google NexusおよびGoogle Pixelデバイスの画像処理にQualcomm SnapdragonのCPU、GPU、IPU、およびDSP を使用していました。計算写真技術の重要性が高まる中、Google は Pixel Visual Core (PVC) を開発しました。Google は、PVC はCPUとGPU を使用するよりも消費電力が少なく、テンソル処理ユニット(TPU)の特定用途向け集積回路(ASIC)とは異なり、完全にプログラム可能であると主張しています。確かに、従来のモバイル デバイスには、固定機能の画像処理パイプラインである画像信号プロセッサ(ISP)が搭載されています。これとは対照的に、PVC は画像処理だけに限定されない柔軟でプログラム可能な機能を備えています。
Google Pixel 2および2 XLのPVCにはSR3HX X726C502というラベルが貼られています。[3]
Google Pixel 3と3 XLのPVCにはSR3HX X739F030というラベルが貼られています。[4]
PVCのおかげで、Pixel 2とPixel 3はモバイルDxOMarkで98 [5]と101を獲得しました。[6] 後者はiPhone XRと並んで、シングルレンズのモバイルDxOMarkスコアでトップでした。[7]
Pixel Visual Core ソフトウェア

PVCの典型的な画像処理プログラムはHalideで書かれています。現在、浮動小数点演算がなく、メモリアクセスパターンが制限されたHalideプログラミング言語のサブセットのみがサポートされています。[8] Halideは、ユーザーがアルゴリズムとその実行スケジュールを切り離すことができるドメイン固有言語です。このようにして、開発者はターゲットハードウェアアーキテクチャに最適化されたプログラムを書くことができます。[2]
ピクセルビジュアルコアISA
PVC には、仮想 ISA と物理 ISA の 2 種類の命令セットアーキテクチャ (ISA)があります。まず、高級言語プログラムがRISC-V ISA [2]にヒントを得た仮想 ISA (vISA)にコンパイルされます。これは、ターゲットハードウェア世代から完全に抽象化されています。次に、vISA プログラムは、いわゆる物理 ISA (pISA)、つまりVLIW ISA にコンパイルされます。このコンパイル手順では、ターゲットハードウェアパラメータ (PE の配列サイズ、STP サイズなど) が考慮され、メモリの移動が明示的に指定されます。vISAとpISAが分離されているため、 vISAはクロスアーキテクチャで世代に依存しませんが、pISA はオフラインまたはJIT コンパイルを通じてコンパイルできます。[8]
Pixel Visual Core アーキテクチャ

Pixel Visual Core は、2 コアから 16 コアまでのスケーラブルなマルチコア エネルギー効率の高いアーキテクチャとして設計されています。[2] PVC のコアは、画像処理用にカスタマイズされたプログラム可能なユニットである画像処理ユニット(IPU) です。Pixel Visual Core アーキテクチャは、SR3HX のように独自のチップとして、またはシステム オン チップ (SOC)用のIP ブロックとして設計されています。[2]
画像処理ユニット (IPU)
IPUコアには、ステンシルプロセッサ(STP)、ラインバッファプール(LBP)、およびNoCがあります。STPは主に、ステンシル計算、つまり小さなピクセル近傍を実行できる2次元SIMDアレイの処理要素(PE)を提供します。シストリックアレイやウェーブフロント計算に似ているように見えますが、STPでは明示的にソフトウェアで制御されたデータ移動が行われます。各PEには、2つの16ビット算術論理ユニット(ALU)、1つの16ビット乗算器・累算器ユニット(MAC)、10個の16ビットレジスタ、および10個の1ビット述語レジスタが備わっています。[2]
ライン バッファー プール (LBP)
最もエネルギーコストのかかる操作の 1 つが DRAM アクセスであることを考慮すると、各 STP にはデータの局所性を高めるための一時バッファ、つまり LBP があります。使用される LBP は、さまざまなサイズの読み取りと書き込みに対応する 2-D FIFOです。LBP は、シングルプロデューサーマルチコンシューマー動作モデルを使用します。各 LBP には、8 つの論理 LB メモリとDMA入出力操作用の 1 つを含めることができます。[8] メモリ システムの非常に複雑なため、PVC 設計者は LBP コントローラを最も困難なコンポーネントの 1 つとして挙げています。[2] 使用される NoC は、エネルギー節約とパイプライン化された計算パターンの保存のために、隣接するコアとのみ通信するために使用されるリング型ネットワーク オン チップです。[2]
ステンシルプロセッサ (STP)

STP には 2 次元の PE アレイがあります。たとえば、16 x 16 のフル PE アレイと、「ハロー」と呼ばれる 4 つの簡略化された PE レーンがあります。STP には、スカラー レーン (SCL) と呼ばれるスカラー プロセッサがあり、小さな命令メモリを使用して制御命令を追加します。STP の最後のコンポーネントは、シート ジェネレータ (SHG) と呼ばれるロード ストア ユニットです。シートは PVC メモリ アクセス ユニットです。[2]
SR3HX設計概要
SR3HX PVCは、64ビットARMv8a ARM Cortex-A53 CPU、8x画像処理ユニット(IPU)コア、512 MB LPDDR4、MIPI、PCIeを搭載しています。各IPUコアには、16 x 16の2次元配列として配置された256個の処理要素(PE)で構成される512個の算術論理ユニット(ALU)があります。これらのコアは、カスタムVLIW ISAを実行します。処理要素ごとに2つの16ビットALUがあり、独立、結合、融合の3つの異なる方法で動作できます。[9] SR3HX PVCは、TSMCの28HPM HKMGプロセスを使用してSiP として製造されています。[1] Intel とのパートナーシップで4年以上にわたって設計されました。 (コードネーム: モネット・ヒル) [10] Googleは、SR3HX PVCはSnapdragon 835よりも7~16倍エネルギー効率が良いと主張している。[1]また、SR3HX PVCは1秒間に3兆回の演算を実行でき、HDR+はSnapdragon 835よりも5倍高速で、10分の1以下のエネルギーで実行できる。[11]画像処理用のHalideと機械学習用のTensorFlowを サポートしている。 [11]現在のチップは426MHzで動作し、単一のIPUで1 TeraOPS以上を実行できる。[2] [8]
参考文献
- ^ abc Cutress, Ian. 「Hot Chips 2018: The Google Pixel Visual Core Live Blog (午前 10 時 PT、午後 5 時 UTC)」。www.anandtech.com。2019年 2 月 2 日閲覧。
- ^ abcdefghij ヘネシー、ジョン、パターソン、デビッド(2017)。コンピュータアーキテクチャ:定量的アプローチ(第6版) 。モルガンカウフマン。pp.579–606。ISBN 978-0-12-811905-1。
- ^ 「Google Pixel 2 XL 分解」。iFixit。2017年10月19日。 2019年2月2日閲覧。
- ^ 「Google Pixel 3 XL 分解」。iFixit。2018年10月16日。 2019年2月2日閲覧。
- ^ 「Pixel 2 DxOMark」。
- ^ 「Pixel 3 DxOMark」。
- ^ 「iPhone XR DxOMark」.
- ^ abcd 「Pixel Visual Core: モバイル デバイス向けの Google の完全にプログラム可能な画像、ビジョン、AI プロセッサ。HotChips2018」(PDF)。
- ^ 「Pixel Visual Core (PVC) - Google - WikiChip」。en.wikichip.org 。 2019年2月2日閲覧。
- ^ 「Google、Pixel 2のPixel Visual CoreチップでIntelと提携」xda-developers . 2017-10-25 . 2019-02-02閲覧。
- ^ ab 「Pixel Visual Core: Pixel 2 の画像処理と機械学習」。Google 2017 年 10 月 17 日。2019 年2月 2 日閲覧。
