微線程
概覽
微線程透過減少列與欄存取粒度,改善 DRAM 架構資源的傳輸效率與有效使用。它透過在每象限的實體記憶體空間使用獨立的列與欄電路,允許比一般 DRAM 裝置小四倍的最小傳輸大小。每象限的獨立定址能力,也補助了現代圖形與多核心處理器的線程記憶體工作量。這個獨特的架構讓微線程維持裝備的總資料頻寬,並同時減少每個交易的耗電率。
一般 DRAM 運作
DRAM 介面傳輸量的改進,已快速地超越核心速度可比的改進。DRAM 介面的資料速率已連續幾代增加了高出幾個數量級,而 DRAM 核心頻率則保持相對一致。隨時間經過,為了迎合介面頻寬的改進,核心預取大小也隨著增加。這些更大的預取大小提高存取「粒度」﹝衡量被存取的資料量﹞,並為圖形或多核心運算應用程式提供超出需求的資料。存取額外的資料既低效率而且又浪費 DRAM 與訊號功耗。
存取粒度是記憶體架構內存取資料的一個功能。一般 DRAM 包含八個儲存記憶體庫。在此類 DRAM 內,每個記憶體庫通常進一步細分為兩個一半的記憶體庫,「A」與「B」。在具備 32 資料腳位的 DRAM 裡,每個 A 半記憶體庫將連結至 16 資料腳位,而每個 B 半記憶體庫也將連結至 16 腳位。記憶體庫位於實體晶片的相反象限,而每個象限具備其專有的列與欄電路 - 每個半記憶體庫回應列與欄指令,以平行的方式運作。

列指令在針對的記憶體庫的每個半記憶體庫選擇單一列,從而感知並鎖定被選擇的列。在存取另一個記憶體庫中的列之前,實體時序限制將實施延遲﹝即 tRR﹞。欄指令也同樣受此限制﹝即 tCC﹞。然而,列時序間隔通常是欄時序間隔的兩倍;因此可在單一列啟動所需的必要延遲發出兩個欄指令。
欄預取長度和每個交易傳送的資料量,將取決於個別欄與列時序延遲以及位元傳輸速率。即:
預取 = 時序延遲/位元傳輸速率
主流 DRAM 核心通常以高達 200MHz 的頻率運作,而高效能產業標準 DRAM 核心通常能以高達 400MHz 的頻率運作。現代產業標準 DRAM 技術很難在不犧牲生產產量或增加成本的情況下,超出 400MHz 的核心頻率。既然 DRAM 核心的每個半記憶體庫是在相同列或欄的運作下運作,因此將需要16 位元的欄預取,以讓高效能 DRAM 核心支援超出 3200 MHz 的外部資料速率。
此外:
欄粒度 =﹝欄預取﹞x﹝每個半記憶體庫的資料腳位量﹞x﹝每個存取的半記憶體庫量﹞
或:
每半記憶體庫具備 16 資料腳位的 32 位元寬 DRAM:
每存取的欄粒度 = 16 x 16 x 2 = 512 位元或 64 位元組。
除此在列時序間隔時為了維持最高頻寬,因此必須執行至少兩個欄運作。這通常描述為每個列位址選通脈衝備有兩個欄位址選通脈衝﹝每個 RAS 備有兩個 CAS﹞。這導致 128 位元組的最小列粒度。這個龐大的存取粒度轉換成適用於應用程式(如 3D 圖形)的低效率資料與功耗應用。
微線程如何提高效率?
採樣的微線程 DRAM 核心使用與上一個範例大致相同的核心資源,並備有 16 個記憶體庫,每個微線程 DRAM 中的各個記憶體庫相等於一般 DRAM 核心的半記憶體庫。偶數記憶體庫將連結至 A 資料腳位,奇數記憶體庫則連結至 B 資料腳位﹝在每個案例中都備有 16 腳位﹞。然而與一般核心不同的是,每個四記憶體庫象限能使用獨立的列與欄電路,因而能獨立運作。此外,交錯並同時存取超過一個記憶體庫將能讓系統同時存取與上一個存取相同的核心實體面的下象限。

微線程能對 DRAM 核心同時進行四個獨立的存取。雖然在存取特定記憶體庫或記憶體象限的第二列前,必須花費如同一般核心的相同時序間隔,但是在同樣的期間裡,其他象限的三個記憶體庫卻能維持在可存取狀態。雖然必須花費欄時序間隔才能存取上一個被啟動的列的第二欄,但是其他象限中的列的欄仍然能同時存取。此象限的獨立性與交錯的最終效果,就是四列﹝每個象限中的記憶體庫的一列﹞與八欄﹝每列的兩欄﹞都能在列時序間隔時被存取﹝相對於一般 DRAM 技術只能存取單一列與兩欄﹞。
這裡的時序與一般 DRAM 核心相似,但是每個欄僅在一半的欄時序間隔傳送資料。交錯欄則在另一半的間隔裡傳送資料。微線程減少最小傳輸粒度大小,並同時維持高產量與具成本效益的核心頻率。透過交錯四個不同記憶體庫的欄存取,微線程 DRAM 核心﹝特定欄預取長度與核心頻率﹞能支援比傳統 DRAM 核心高出兩倍的資料速率。相反的,欄運作的微線程讓 DRAM 核心以低成本支援指定的資料傳輸與粒度,並與傳統 DRAM 核心相比放寬高達兩倍的欄週期時序﹝tCC﹞。

隨著微線程的推出,如今欄粒度:
欄預取/2 x 16 腳位 = 16/2 x 16 = 128 位元或 16 位元組﹝上一個數值的四分之一﹞。
列粒度為 32 位元組﹝也是上一個數值的四分之一﹞。微線程更細的粒度導致許多應用程式的高效能。例如在一個備有 8 位元組微線程欄存取粒度的圖形應用程式中,自從應用此技術後,運算與電力功率提高了 29 至 67 百分比。
匯總:商業挑戰與微線程效能優點
- 延長預取長度已用於 DRAM 核心速度中,以使其跟得上介面頻寬。然而這也因此使 DRAM 核心在傳輸有用的資料時越來越低效率。
- 微線程提供另一個提高傳輸效率,使用大致相同 DRAM 核心但卻有更小的存取粒度的方式。
- 微線程維持高支援資料頻寬並同時降低耗電率。
- 微線程支援比傳統技術高達兩倍的 DRAM 核心資料速率。
- 微線程為未來資料頻寬的增加以及更高的核心預取比率提供可擴展的途徑。
