Pixel Visual Core
PVCの典型的な画像処理プログラムは、Halide(英語版)で記述されている。現在、浮動小数点演算は行わず、メモリアクセスパターンが制限されているHalideプログラミング言語のサブセットのみをサポートしている。Halideは、ユーザーがアルゴリズムとその実行のスケジューリングを分離できるドメイン固有言語である。これにより、開発者はターゲット ハードウェア アーキテクチャに最適化されたプログラムを作成できる。
最もエネルギーコストのかかる操作の1つがDRAM アクセスであることを考慮すると、各STPにはデータの局所性を高めるための一時バッファー、つまりLBPがある。使用されるLBPは、さまざまなサイズの読み取りと書き込みに対応する2次元FIFOになっている。LBPは、シングル プロデューサー、マルチコンシューマーの行動モデルを使用する。各LBPは、8つの論理LBメモリとDMA入出力操作用に1つを持つことができる。メモリシステムは非常に複雑であるため、PVC設計者はLBPコントローラを最も困難なコンポーネントの1つとして挙げている。使用されるNoCは、エネルギーの節約とパイプライン化された計算パターンの保存のために、隣接するコアのみと通信するために使用されるリングネットワークオンチップである。