Radeon HD 4800シリーズは、4SP+1ビッグSP+分岐ユニットをひとまとめにして「SIMDユニット」とし、このSIMDユニットを16基集めてクラスタを形成させ、これを「SIMDコア」と呼んでいることは前回解説した。

Radeon HD 4800シリーズの全体ブロックダイアグラム

4SP+1ビッグSP+分岐ユニットで1SIMDユニット

Radeon HD 4800シリーズのテクスチャユニットは、このSIMDコアあたりに1基ずつ専任のものが実装されている。この構成はRadeon HD 2000/HD 3000シリーズと同じだが、Radeon HD 4800シリーズでは、SIMDコアがRadeon HD 2000/HD 3000シリーズの4コアに対して10コアとなったので、テクスチャユニット自体も4基から10基へと増加させられている。

Radeon HD 3800シリーズの全体ブロックダイアグラム

SIMDコアあたりに専任テクスチャユニットが実装される

なお、Radeon HD 4800シリーズの1基あたりのテクスチャユニットは、1サイクルあたり4個のテクセルのバイリニアフィルタ演算をこなせる能力を持っているので、NVIDIA的なテクスチャユニット換算でいくならば、Radeon HD 4800シリーズ全体では40基相当と言うことができる。

SIMDコアあたりにテクスチャユニット4基(NVIDIA的換算)ということは、80SP(5SP×16SIMDユニット)で、わずか4基のテクスチャユニットを共有することになるので(80SP:4TEXTURE)、GeForce GTX 200シリーズ以上のテクスチャユニット不足のように見えるが、スレッドがSIMDユニット単位であることを踏まえれば「16SIMDユニットで4テクスチャユニット(NVIDIA的換算)の共有」ということになり(比で4SIMD:1TEXTURE)、比率的にはNVIDIAの3SP:1TFとそれほど大きく変わらない。とはいえ、演算リソースに対してテクスチャユニットは若干少ない印象を受ける。

Radeon HD 4800シリーズのテクスチャユニットのクローズアップ

Radeon HD 2900シリーズのテクスチャユニットのクローズアップ

しかし、ATI側はこれを弱点としては捉えていない。

確かにRadeon HD 4800シリーズのテクスチャユニットはRadeon HD 2900/HD 3800シリーズから代わり映えのない構成に見えるが、Radeon HD 4800シリーズではテクスチャユニットを取り巻くアーキテクチャに大変革がもたらされているため、ATIは「Radeon HDシリーズのテクスチャユニットの少なさ」という弱点は克服できている、と主張する。

Radeon HD 2900/HD 3800シリーズではテクスチャの32kBのL1テクスチャキャッシュ(L1 Texture Cache:L1TC)がテクスチャユニット全体で共有される設計になっていたが、これをテクスチャユニットごとに(=SIMDコアごとに)、専用のL1TCを結ぶアーキテクチャとしたのだ。Radeon HD 4800シリーズのL1TCは1SIMDコアあたり16kBで、先代と比較すると1SIMDあたりの割り当てで見た場合にも倍増した計算になる(前は等分計算で32kB÷4SIMDコア=8kB)。

SIMDコアがRadeon HD 2900/HD 3800シリーズ時の4基から10基に増加したことで、SIMDコアごとのテクスチャアクセスの局所性に独自性が高まることへの対応が、この大変革の大きな理由だろう。つまり、全体としては分散したメモリアドレスにアクセスしているように見えても、SIMDコア視点で見ると比較的集中したメモリアドレスへアクセスしている……といったようなケースに対応するためにこのような構成にしたと思われる。

いずれにせよ、このアーキテクチャ変更により、シェーダコアとテクスチャキャッシュシステムとの関係性は、結果としてGeForce系の構成とよく似てきたといえる。

なお、Radeon HD 2900/HD 3800シリーズでは頂点キャッシュ(Vertex Cache)はL1TCと共有設計となっていたが、Radeon HD 4800シリーズでは分離され独立管理化される改変を受けている。ただし、頂点キャッシュは依然と全SIMDコア(すなわちシェーダコア全体)で共有される設計のままだ。

二次キャッシュ(L2 Cache)システムも、Radeon HD 2900/HD 3800シリーズから構成に手が入れられている。

テクスチャユニットとL1、L2キャッシュシステム周りのブロックダイアグラム

Radeon HD 2900/HD 3800シリーズではテクスチャユニット全体で共有される256kBのL2 Texture Cacheが実装されていたが、Radeon HD 4800シリーズのL2キャッシュは(容量は公開されていない)、4基ある64ビットメモリコントローラにそれぞれ専属実装される。ただし、L2キャッシュとL1キャッシュはクロスバー接続されるのでL1キャッシュ側から見ると全てのL2キャッシュと全てのメモリの透過的アクセスがサポートされる。

「GPUの内部バスについては相当な自信作」(ATI関係者)とのことで、L1キャッシュのアクセス速度は480GB/sec、L1とL2キャッシュはクロスバー経由ありで384GB/secという超高速帯域が実現されているという。

こうしたキャッシュシステムのリファインと内部バスの高速化の相乗効果、さらに後述するGDDR5の広帯域メモリシステムの恩恵により、テクスチャスループットは競合に全く引けをとらないとATIは強調している。

下表は3DMark Vantageの「Texture Fill Rate Feature Test」の結果を示したもので、テクスチャユニットの数では劣るRadeon HD4800シリーズが競合NVIDIA GPUを優るスコアを示している。これは興味深い結果ではある。

ATIが示したRadeon HD 4800シリーズと競合GPUのテクスチャパフォーマンスのベンチマーク結果比較表

表の最下段はTexture Fill Rate÷(Texture Units×Clock Speed)により求めた1クロックあたりのテクセルスループット数。ただし、この3DMarkのフィルレートテストは実はテクスチャキャッシュにヒットしまくりのテスト内容であるため、GPUの本質的な実効テクスチャ・パフォーマンスは表していない。この点には留意して結果を受け止めるべきだろう。