記憶體介面與分散
記憶體介面與分散
記憶體介面與分散
如果你回憶 ATI 發表 R520 (X1900) 時,應該會記得該公司導入了環圈 (ring) 形式的新式記憶體匯流排。大多數晶片設計與甚至 ATI 的前幾代產品都採用集中化交叉開關 (crossbar),這先天就是不錯的設計。但是當設計往上延展到其可服務的用戶端數時 (確切而言是 n^2 ) 就會出現嚴重缺點。要服務這些用戶端就需要多上許多的引線,使核心失去了核心的作用。城市人口增加時的高速公路數目愈多,用戶端愈可以到處遊走。ATI 從 R520 開始轉變為部分分散式方法,這可以在環圈外圍讀取,透過交叉開關寫入。「2900 是個完全分散式設計,也就是說在用戶端數目增加的同時,也可避開 n^2 延展陷阱。」
一如先前提到,ATI 從 256 位元寬度匯流排移轉為具有 8 通道的 512 位元寬度。設計中共有 4 個環圈停止點。

ATI 針對雙向匯流排,採用堆疊式 I/O 設計,共有 4 組引線給資料讀取,4 組給資料寫入之用。
環圈上有讀取與寫入用途的資料流。上圖總共有 4 組雙引線滿這可容許雙向 1024 位元寬度,每個方向有 4 個引線。晶片四周共有逾 2,000 條引線,而資料是以全速運作。內部可使用的頻寬比外部還多,這種設計概念在於確保所有內部用戶端擁有儘量多的頻寬存取。如我們先前提到,產品的內部頻寬約為 6 TB/s。
有一個值得思考的問題是 ATI 為什麼不在前幾代產品就這麼做?答案是這種設計需要許多空間,在新設計中,ATI 可以將 I/O 路徑縮小到只有前一代產品的一半,但這些路徑都是類比裝置,無法像電晶體一般隨著技術進展縮小,這是牽涉到電容、電感與金屬電阻的類比裝置設計。況且它們也不易縮小,新的 512 位元路徑所佔的空間和前一代的 256 位元路徑差不多。
這牽涉到許多設計邏輯才能支撐所有技術的實現,這造成晶片內部佔用空間的成長,但在搭配現有記憶體的情況下,這是增加頻寬所必要。ATI 大可使用 GDDR4,而頻寬即得以增加。然而 GDDR4 仍是供應量有限的零件,消費者也必須因此付出較大價差,並承受供應斷貨的風險。雖然 ATI 的確也供應 GDDR4 版本給系統整合廠商 (boutique; 專精領域廠商),但主流市場仍會推出具備 512 位元匯流排的 GDDR3 記憶體版本。ATI 原可以享受 256 位元 GDDR4 設計的優勢,但在 GDDR3 搭配 512 位元寬匯流排的情況下,目前並不需要最尖端科技的記憶體來大幅提升頻寬。就成本/頻寬比而言,這已是一大勝利,就像以前 256 位元之於 9700。就頻寬而言,GDDR3 卡標榜 105 GB/s 頻寬,而 GDDR4 卡擁有 160 GB/s 頻寬。
另外還有一個不成文的規則就是:提高記憶體的時脈頻率,反而會變得更沒有效率。DRAM 內的分頁存取仍由物理與化學法則所決定,即使你可以提高時脈頻率,但物理法則仍不會變。
滯後 (hysteresis) 是指材料在回到其自然低能量態之前的激發狀態時,在較高時脈速度時的延遲較長的一種現象。在達成較高時脈速度時,返回低能量態的延後現象會提高較長延遲的必要性,較長的等待時間是為確保回復到低能量態。
讓記憶體跑慢一點,可以提升記憶體的效率,同時也可享受較低耗能與其他好處。環圈與記憶體的配合可讓頻寬容許約 70 個寫入用戶端與 80 個讀取用戶端。