GeForce vs ATI Radeon~前編はこちら
【特集】GeForce vs ATI Radeon - アーキテクチャ解説で紐解くGPU戦争"夏の陣" (前編)

NVIDIAは6月17日にGeForce GTX 200シリーズを、そしてAMD(ATI)は6月25日にRadeon HD 4800シリーズを発表した。

シェーダコアの解説まで行った前回の"前編"に引き続き、"後編"となる今回は、テクスチャユニットやROPユニットなどのレンダリングパイプラインの後段に着眼した考察を行っていきたいと思う。

テクスチャユニットはどう進化したか

今回は、NVIDIA GeForce GTX 200シリーズとATI Radeon HD4800シリーズの両者のテクスチャシステムから見ていくこにとしよう。

GeForce GTX 200シリーズでは、命令デコーダのIU(Instruction Unit)と、汎用シェーダユニット(Streaming Processor,Shader Processor,以下SP)8基と16kBのローカルメモリ(Local Memory:LM)で命令の実行単位であるStreaming Multi-Processor(SM)を構成することは、前回で説明した。GeForce GTX 200シリーズのテクスチャユニットは、このSMが3基で共有利用される形態を取っている。

GeForce GTX 280の全体ブロックダイアグラム

SM=1IU+8SP+1LM。TPC=3SM+8TF+L1CACHE

テクスチャユニットとは本項で便宜上呼んでいる呼び名で、NVIDIAでは「テクスチャ・フィルタリング・ユニット」(Texture Filtering Unit:TF)と命名しており、一基あたりのTFはバイリニア(Bi-Linear)テクスチャフィルタリング演算を1サイクルでこなせる能力を持つ。トライリニア(Tri-Linear)はバイリニアの2倍の負荷がかかるのでスループットは2分の1になる。同様に異方性(Anisotropic)フィルタリングではスループットは4分の1になる(高品位なトライリニア型・異方性フィルタリングの場合)。

TFからのテクスチャ読み出しは最初L1 Cacheメモリをあたり、ここになければ後述するROPユニット周辺のL2 Cacheメモリをあたり、それでもなければ実際にメモリコントローラにメモリ読み出しをリクエストするという流れになる。

GeForce GTX 200シリーズでは3SM+8TF+L1 Cacheで1TPC(Thread Processor Culster)をなす事は前回説明したが、GeForce GTX 280ではこのTPCが10個、GeForce GTX 260では8個ある計算になる。つまり、TFはGeForce GTX 280全体で80基(8TF×10TPC=80TF)、GeForce GTX 260全体では64基(8TF×8TPC=64TF)実装されていることになる。

GeForce 8000/9000シリーズのTPCはIU+2SM+8TFの形態だったので、2個のSM、すなわち16基のSP(8SP×2SM)で8基のTFを共有していた(比で2SP:1TF)。これに対してGeForce GTX 200シリーズでは24基のSPで8基のTFを共有することになるので(比で3SP:1TF)、テクスチャユニットへの負荷は集中しやすいアーキテクチャとなったといえる。

GeForce 8800 GTXの全体ブロックダイアグラム