在度過了毫無成長甚至微微走下坡的一年之後,2005 年顯然是決定 ATI 接下來能否再次翻身重現 2003 年 Radeon R300 奇蹟的時刻,不過這次顯然命運之神並沒有眷顧 ATI,甚至實際上還用力賞了 ATI 一巴掌,回首 2005 年,當時 ATI 與 NVIDIA 的時間軸是這樣子運作的:
- 2005 年 02 月-世人得知 Radeon R520 的存在 (R520 是 R500 系列的第一款產品)。
- 2005 年 04 月-ATI 最初預期 Radeon R520 的上市時間,樣品首次現身。
- 2005 年 05 月-傳出 R520 還沒進入量產,ATI 還在修改設計,宣稱七月上市。
- 2005 年 06 月-NVIDIA 正式發佈 GeForce 7 系列、媒體收到樣品。
- 2005 年 07 月-宣布受到台積電 90 奈米製程良率影響,秋天之前無法上市。
- 2005 年 09 月-ATI 持續跳票,還加碼 CrossFire 版無法同步上市。
- 2005 年 10 月-Radeon R520 終於上市。
是的,當年 ATI Radeon R500 從首次宣布上市時間到最後真正上市之間一共差了整整半年,更比對手足足慢了三個月之多,要知道在那個時代個人電腦有很多零件基本上一年就是一個世代了 (特別是顯示卡真的就是一年一改版),這使得本來就已經落後一世代的 ATI 所面臨的情況變得更加雪上加霜許多,後來這也成為 ATI 在 2006 年被 AMD 收購的主因之一,至於為什麼會延期這麼久呢?當年傳出的說法主要有二,分別是台積電的 90 奈米製程不夠成熟導致良率拉不起來與 ATI 的工程師在設計完成送給台積電準備量產之後才發現晶片設計中有一些問題導致只能使用很低的電壓與時脈穩定運作,而解決這問題花了 ATI 將近三個月的時間。
不過如同 GeForce 6 之於 NVIDIA 一般,ATI Radeon R500 基本上也是以作為自家反攻主力武器為目標設計出來的產物,因此在架構上也與前作有著許多相當巨大的改變 (應該說遲來的改變…),其實從架構圖上就可以看出 R500 與 R400、R300 有很大的差異了,不過在開始介紹 R500 之前,讓我們來複習一下 Radeon R400 的架構設計吧。
接下來這張圖就是 Radeon R500 的架構設計了,可以注意到與前作相比有著很多的不同處,首先看到的是頂點渲染器的數量,與 GeForce 7 系列一樣從原先的六組增加到了八組,宏觀上與前作的差異主要在於加入 Vertex Shader 3.0 的支援能力,因此可以支援動態流程控制與更多的暫存器、更長的程式等特性。
更貼近觀察 Radeon R500 的 Vertex Shader 會發現這次 ATI 使用的設計與 NVIDIA 和 ATI 以往慣用的設計很不一樣,ATI 並未採用與 NVIDIA 類似的 FP32 向量浮點運算單元 + FP32 純量浮點運算單元配置,在 Radeon R500 的 Vertex Shader 採用的向量浮點運算單元寬度高達 128-bit (可以拆分為四組 32-bit 向量浮點運算單元使用),最高每個時脈週期可以生成兩個頂點 (透過允許同時執行任意兩個執行由 4 個運算子所組成的向量運算或是由 3 個運算子及一個純量組成的向量純量混和運算達成),理論性能較 NVIDIA 的 4 運算子及一個純量組成向量純量混和運算的做法稍低 (但 Vertex Shader 的性能通常過剩因此不成問題)。
不過 Vertex Shader 對性能的影響終究有限,接下來的才是真正的重頭戲-Pixel Shader,在 R500 的設計當中可以很明顯發現到與以往的繪圖管線設計有很大的不同 (這埋下了之後一個很大的伏筆,2006 年在次世代 GPU 上市之前 ATI 能夠迴光返照短暫搶下 NVIDIA 王冠就是靠這點),那就是 ATI 將 Pixel Shader 原本包含的材質單元、像素著色單元、分支控制全部拆開了!