テクスチャユニットの右側にある、黄色で描かれたキャッシュシステムについても触れておこう。

Radeon HD 2000シリーズのテクスチャキャッシュ(Texture Cache)は、Radeonシリーズとしては初のL1,L2による二段キャッシュシステムを採用している。ただし、L1、L2ともに、全キャッシュユニットからの共有される仕組みになっている。容量はHD 2900シリーズがL1=32KB、L2=256KB、HD 2600シリーズがL1=16KB、L2=128KB。HD 2400シリーズに限ってはL2キャッシュがなく、後述の頂点キャッシュとテクスチャキャッシュを統合したシングルキャッシュ構造となっている。

頂点シェーダやジオメトリシェーダとして起用された汎用シェーダユニットは、その処理を行う際に処理対象データとして頂点情報を読み出してくる必要がでてくるのだが、Radeon HD 2000シリーズではこの読み出しをテクスチャユニットが担当する。読み出された頂点情報は頂点キャッシュ(Vertex Cache)に格納される。テクスチャとして読み出されたデータはテクスチャキャッシュに、頂点データとして読み出されたデータは頂点キャッシュにストアされるのだが、テクスチャユニットからのメモリアクセスが発生した際には、読み出すデータがテクスチャなのか頂点なのかに関わらず、頂点キャッシュとテクスチャキャッシュの双方を当たる設計になっているとのことだ。これは、頂点情報をテクスチャにレンダリングする「頂点バッファレンダリング」のような、テクスチャと頂点バッファを再帰的に取り扱うテクニックなどにおいて、キャッシュヒット率を稼いでパフォーマンス向上を狙おうという思惑があるためだ。

Radeon HD 2000シリーズのテクスチャキャッシュ(Texture Cache)は、Radeonシリーズとしては初のL1,L2による二段キャッシュシステムを採用する