TeraScaleは、 ATI Technologies / AMDが開発したグラフィックス処理ユニットのマイクロアーキテクチャファミリーのコードネームであり、 Xenosに続く統合シェーダーモデルを実装した2番目のマイクロアーキテクチャです。TeraScaleは、従来の固定パイプラインのマイクロアーキテクチャに取って代わり、Nvidiaの最初の統合シェーダーマイクロアーキテクチャであるTeslaと直接競合しました。[ 1 ] [ 2 ]
TeraScaleは、80nmおよび65nmプロセスで製造されたRadeon HD 2000、65nmおよび55nmプロセスで製造されたRadeon HD 3000、55nmおよび40nmプロセスで製造されたRadeon HD 4000、40nmプロセスで製造されたRadeon HD 5000およびRadeon HD 6000で使用されました。TeraScaleは、AMDの「Brazos」、「Llano」、「Trinity」、「Richland」というコードネームのアクセラレーテッド・プロセッシング・ユニットでも使用されました。TeraScaleは、後継のグラフィックカードブランドの一部にも見られます。
TeraScaleはVLIW SIMDアーキテクチャであり、TeslaはTeraScaleの後継であるGraphics Core Nextと同様にRISC SIMDアーキテクチャである。TeraScaleはHyperZを実装している。[ 3 ]
TeraScale には LLVM コードジェネレータ (つまりコンパイラバックエンド) が利用可能ですが[ 4 ]、LLVM のマトリックスには含まれていないようです[ 5 ] 。例えばMesa 3D はこれを利用しています。
TeraScaleは2007年にRadeon HD 2000シリーズとともに初めて発表され、リリースされました。 2008年12月のSIGGRAPH 08で、AMDの社員であるマイク・ヒューストンがTeraScaleマイクロアーキテクチャの詳細について説明しました。[ 6 ]
FOSDEM09では、 AMDの技術パートナーであるSUSE LinuxのMatthias Hopf氏が、R600用のオープンソースドライバのプログラミングに関するスライドを発表しました。 [ 7 ]
以前のGPUアーキテクチャでは固定パイプラインが実装されていました。つまり、シェーダーの種類ごとに個別のシェーダープロセッサがありました。TeraScaleは、さまざまなシェーダータイプを処理するようにスケジュールできる多くの柔軟なシェーダープロセッサを活用し、GPUスループットを大幅に向上させています(後述するように、アプリケーションの命令構成に依存します)。R600コアは、Direct3D 10.0シェーダーモデル4.0仕様で概説されている頂点シェーダー、ジオメトリシェーダー、ピクセルシェーダーを処理するほか、 OpenGL 3.3を完全にサポートしています。[ 8 ]
新しい統合シェーダー機能は、コアが並列に演算を実行する超長命令語(VLIW)アーキテクチャに基づいています。 [ 9 ]
シェーダークラスタは、5 つのストリーム処理ユニットに構成されています。各ストリーム処理ユニットは、クロック 1 サイクルあたり、単精度浮動小数点 MAD (または ADD または MUL) 命令、ドット積(DP、および ALU を組み合わせることで特殊なケース)、および整数 ADD を完了できます。[ 10 ] 5 番目のユニットはより複雑で、正弦や余弦などの特殊な超越関数も処理できます。[ 10 ]各シェーダークラスタは、クロック 1 サイクルあたり (ピーク時) 6 つの命令を実行でき、これは 5 つのシェーディング命令と 1 つの分岐命令で構成されます。[ 10 ]
特に、VLIWアーキテクチャには、VLIW設計に固有の古典的な課題、すなわち最適な命令フローを維持するという課題が伴います。[ 9 ]さらに、チップは、一方の命令が他方の命令の結果に依存している場合、命令を同時に発行することはできません。GPUのパフォーマンスは、アプリケーションで使用される命令の組み合わせと、ドライバ内のリアルタイムコンパイラがそれらの命令をどれだけうまく整理できるかに大きく依存します。[ 10 ]
R600コアは64個のシェーダークラスタを搭載しているのに対し、RV610コアとRV630コアはそれぞれ8個と24個のシェーダークラスタを搭載している。
TeraScaleには、テッセレーションを実行できる複数のユニットが搭載されています。これらは、Xbox 360で使用されているXenos GPUのプログラマブルユニットに類似しています。
テッセレーションは、DirectX 11 および OpenGL 4.0 から始まる主要な API で正式に規定されました。TeraScale 1 ベースの GPU (HD 2000、3000、4000 シリーズ) は Direct3D 10 および OpenGL 3.3 にのみ準拠しており、ベンダー固有の API 拡張機能を使用する別のテッセレーション原理を実装しています。[ 11 ] TeraScale 2 ベースの GPU ( Radeon HD 5000 シリーズから始まる) は、Direct3D 11 と OpenGL 4.0 の両方のテッセレーション技術に準拠した最初の GPU でした。[ 12 ] TeraScale 1 テッセレータは設計がより単純ですが、AMD はそれを後のテッセレーション標準のサブセットとして説明しています。[ 13 ]
TeraScale テッセレータ ユニットを使用すると、開発者は単純なポリゴン メッシュを取得し、曲面評価関数を使用してそれを細分化できます。Nパッチ、B スプライン、NURBSを使用したベジェ曲面など、さまざまなテッセレーション形式があり、また、通常何らかのテクスチャのディスプレイスメント マッピングを含むサーフェスの細分化手法もあります。 [ 14 ]基本的に、これにより、単純な低ポリゴン モデルのポリゴン密度をリアルタイムで劇的に増加させることができ、パフォーマンスへの影響はごくわずかです。Tech Report の Scott Wasson 氏は、AMD のデモ中に、結果として得られたモデルは数百万のポリゴンで非常に密集しており、固体のように見えると指摘しました。[ 9 ]
TeraScaleテッセレーターは、 Radeon 8500で最初に使用された初期のハードウェアテッセレーションユニットのブランド名であるATI TruFormを彷彿とさせる。[ 15 ]
ATI TruForm はソフトウェア開発者からほとんど注目されませんでした。Madden NFL 2004、 Serious Sam、 Unreal Tournament 2003および2004、非公式にはMorrowindなど、いくつかのゲームには ATI のテッセレーション技術のサポートが含まれていました。このような採用の遅さは、NVIDIA GPU と共有されていない機能であったことに関係しています。NVIDIA は Quintic-RT パッチを使用して競合するテッセレーション ソリューションを実装しており、主要なゲーム開発者からのサポートはさらに少なかったためです。 [ 16 ] Xbox 360 の GPU は ATI のアーキテクチャに基づいているため、Microsoft はハードウェア アクセラレーションされたサーフェス テッセレーションを主要な GPU 機能と見なしました。数年後、2009 年に DirectX 11 がリリースされると、テッセレーション機能は必須になりました。 [ 14 ] [ 17 ]
TeraScaleで導入されたテッセレーション原理はOpenGL 3.3やDirect3D 10.0の要件には含まれておらず、GeForce 8シリーズなどの競合製品には同様のハードウェアがなかったが、MicrosoftはDirectX 10.1の将来計画の一部としてテッセレーション機能を追加した。[ 17 ]最終的に、MicrosoftはDirectX 10.1ではなくDirectX 11でテッセレーションを必須機能として導入した。[ 18 ]
GCNジオメトリ処理は、AMD(ATIのGPU事業を買収した企業)がGPUを使用してテッセレーションを実行するための最新のソリューションである。
R600は以前の設計から大きく逸脱しているものの、前身のRadeon R520と多くの機能を共有している。[ 9 ] Ultra -Threaded Dispatch Processorは、Radeon X1000 GPUと同様に、R600コアの主要なアーキテクチャコンポーネントである。このプロセッサは、3つの異なるタイプ(頂点、ジオメトリ、ピクセルシェーダー)の多数の実行中のスレッドを管理し、必要に応じてそれらを切り替えます。[ 9 ]多数のスレッドが同時に管理されるため、スレッドの順序を再編成してシェーダーを最適に利用することが可能になります。言い換えれば、ディスパッチプロセッサはR600の他の部分に何を入れるかを評価し、処理効率を可能な限り高く保とうとします。管理の下位レベルもあります。80個のストリームプロセッサの各SIMDアレイには、独自のシーケンサとアービタがあります。アービタは次に処理するスレッドを決定し、シーケンサは各スレッド内で可能な限り最高のパフォーマンスが得られるように命令の順序を並べ替えようとします。[ 9 ]
R600コア上でのテクスチャリングと最終出力は、R580と似ている部分もありますが、異なる部分もあります。R600には、R520およびR580 GPUと同様に、シェーダーコアから分離された(独立した)4つのテクスチャユニットが搭載されています。[ 9 ] Radeon HD 2000シリーズのレンダー出力ユニット(ROP)は、Radeon X1000シリーズのようにピクセルシェーダーを使用する代わりに、最大8サンプルポイントのプログラマブルサンプルグリッドを使用してマルチサンプルアンチエイリアシング(MSAA)を実行します。また、 HDRライティングでよく使用されるFP16テクスチャをフルスピードでフィルタリングできる機能も新たに追加されました。ROPは、すべてのテクスチャフォーマットでトリリニアフィルタリングと異方性フィルタリングも実行できます。R600では、FP16テクスチャの場合、クロックあたり合計16ピクセルですが、より高精度のFP32テクスチャは半分の速度(クロックあたり8ピクセル)でフィルタリングされます。[ 9 ]
R600 のアンチエイリアシング機能は、R520 シリーズよりも強力です。R300 から R580 までの 6× MSAA から 8× MSAA に向上したことに加え、R600 には新しいカスタムフィルタアンチエイリアシング(CFAA) モードがあります。CFAA は、処理対象の特定のピクセルの周囲のピクセルを調べて最終的な色を計算し、画像をアンチエイリアス処理する非ボックスフィルタの実装を指します。[ 10 ] CFAA は ROP ではなくシェーダーで実行されます。これにより、フィルタをカスタマイズできるためプログラマビリティが大幅に向上しますが、シェーダー リソースの使用によりパフォーマンスの問題が発生する可能性もあります。R600 の発売時点では、CFAA はワイドテントフィルタとナローテントフィルタを使用しています。これらを使用すると、処理対象のピクセルの外側のサンプルは、そのピクセルの重心からの距離に基づいて線形に重み付けされ、線形関数は選択されたワイドフィルタまたはナローフィルタに基づいて調整されます。[ 10 ]
メモリコントローラは、プロセッサを囲む内部双方向リングバスを介して接続されます。Radeon HD 2900 では、1,024 ビットの双方向リングバス (512 ビットの読み出しと 512 ビットの書き込み) であり、2900 XT では 8 つの 64 ビットメモリチャネルにより合計バス幅が 512 ビットになります。[ 9 ] Radeon HD 3800 では 512 ビットのリングバスです。Radeon HD 2600 および HD 3600 では 256 ビットのリングバスです。Radeon HD 2400 および HD 3400 にはリングバスはありません。
このシリーズでは、ダイシュリンク(55 nm)バリアントのRV670、RV635、RV620による半世代アップデートが行われました。すべてのバリアントは、PCI Express 2.0、 Shader Model 4.1機能を備えたDirectX 10.1、OpenGL 3.3、すべてのモデル専用のATI Unified Video Decoder(UVD)[ 19 ]、デスクトップビデオカード用のPowerPlayテクノロジー[ 20 ]をサポートしています。
Radeon HD 3800シリーズを除き、すべてのバリアントは2つのDisplayPort出力を内蔵し、最大2,560×1,600の解像度で24ビットおよび30ビットのディスプレイをサポートしました。各出力は1、2、または4レーンで構成され、データ転送速度は レーンあたり最大2.7 Gbit/sでした。
ATIは、DirectX 10.1のサポートにより、丸め誤差の低減(許容誤差として平均誤差1.0 ULPに対し0.5 ULP)、画像の詳細と品質の向上、グローバルイルミネーション(アニメーション映画などで使用される技術で、よりリアルなゲーム体験を提供する[ 21 ])により、パフォーマンスと処理効率が向上すると主張した。
TeraScale 2 (VLIW5) was introduced with the Radeon HD 5000 series GPUs in the "Evergreen" generation in 2009.
At HPG10 Mark Fowler presented the "Evergreen" architecture and stated that e.g. 5870 (Cypress), 5770 (Juniper) and 5670 (Redwood) support max resolution of the 6 times 2560×1600 pixels, while the 5470 (Cedar) supports 4 times 2560×1600 pixels, important for AMD Eyefinitymulti-monitor support.[22]
With the release of Cypress, the Terascale graphics engine architecture has been upgraded with twice the number of stream cores, texture units and ROP units compared to the RV770. The architecture of stream cores is largely unchanged, but adds support for DirectX 11/DirectCompute 11 capabilities with new instructions[23] and full OpenGL 4.5 support.[24] Also similar to RV770, four texture units are tied to 16 stream cores (each have five processing elements, making a total of 80 processing elements). This combination of is referred to as a SIMD core.
Unlike the predecessor Radeon R700, as DirectX 11 mandates full developer control over interpolation, dedicated interpolators were removed, relying instead on the SIMD cores. The stream cores can handle the higher rounding precision fused multiply–add (FMA) instruction in both single and double precision which increases precision over multiply–add (MAD) and is compliant to IEEE 754-2008 standard.[25] The instruction sum of absolute differences (SAD) has been natively added to the processors. This instruction can be used to greatly improve the performance of some processes, such as video encoding and transcoding on the 3D engine. Each SIMD core is equipped with 32 KiB local data share and 8 kiB of L1 cache,[23] while all SIMD cores share 64 KiB global data share.
Each memory controller ties to two quad ROPs, one per 64-bit channel, and dedicated 512 KiB L2 cache.[23]
AMD PowerPlay is supported, which contains dynamic frequency scaling and several other technologies aimed at reducing power consumption.
TeraScale 3 (VLIW4) は、従来の 5 ウェイ VLIW 設計を 4 ウェイ VLIW 設計に置き換えています。新しい設計には、Direct3D 11 のパフォーマンスを向上させるための追加のテッセレーション ユニットも組み込まれています。Windows 上で、シェーダー モデル 5.0 と OpenGL 4.5 を使用した Direct3D 11 をサポートしています。[ 26 ]
TeraScale 3は、2010年にRadeon HD 6900ブランドのグラフィックカードに導入され、 TrinityおよびRichland APUにも実装されました。

AMD PowerTuneは、 GPUの動的周波数スケーリングであり、2010年12月15日にRadeon HD 6900シリーズとともに導入され、 AnandTechによるいくつかのレビューで記録されているように、継続的な開発が行われています。[ 27 ] [ 28 ] [ 29 ] [ 30 ]
2011年8月のHPG11で、 AMDの社員であるマイケル・マントール(シニアフェローアーキテクト)とマイク・ヒューストン(フェローアーキテクト)が、TeraScaleの後継となるマイクロアーキテクチャであるGraphics Core Nextを発表した。 [ 31 ]
R680 (2x RV670) や R700 (2x RV770) などの Duo チップはリストにありません。[ 96 ] [ 97 ] [ 98 ] [ 99 ]
{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)