《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于當(dāng)代DRAM結(jié)構(gòu)的存儲(chǔ)器控制器設(shè)計(jì)
基于當(dāng)代DRAM結(jié)構(gòu)的存儲(chǔ)器控制器設(shè)計(jì)
摘要: 當(dāng)代計(jì)算機(jī)系統(tǒng)越來越受存儲(chǔ)性能的限制,。處理器性能每年以60%的速率增長,,存儲(chǔ)器芯片每年僅僅增加10%的帶寬,本文就如何設(shè)計(jì)一種符合當(dāng)代DRAM結(jié)構(gòu)的高效存儲(chǔ)器控制器進(jìn)行研究,。 本文第二部分介紹當(dāng)代DRAM結(jié)構(gòu)特點(diǎn),;第三部分介紹存儲(chǔ)器控制器結(jié)構(gòu)以及調(diào)度算法,;第四部分介紹模擬環(huán)境以及性能表現(xiàn)。
Abstract:
Key words :

1,、引言
  當(dāng)代計(jì)算機(jī)系統(tǒng)越來越受存儲(chǔ)性能的限制,。處理器性能每年以60%的速率增長,存儲(chǔ)器芯片每年僅僅增加10%的帶寬,,本文就如何設(shè)計(jì)一種符合當(dāng)代DRAM結(jié)構(gòu)的高效存儲(chǔ)器控制器進(jìn)行研究,。
本文第二部分介紹當(dāng)代DRAM結(jié)構(gòu)特點(diǎn);第三部分介紹存儲(chǔ)器控制器結(jié)構(gòu)以及調(diào)度算法,;第四部分介紹模擬環(huán)境以及性能表現(xiàn),。
2、當(dāng)代DRAM結(jié)構(gòu)
  為了提高存儲(chǔ)器的性能,,存儲(chǔ)器控制器的設(shè)計(jì)必須充分利用當(dāng)代DRAM的特點(diǎn),。DRAM是3D的存儲(chǔ)器(體行列),每個(gè)體獨(dú)立于其他體操作并且一次存取整行,。當(dāng)存儲(chǔ)陣列的一行被存?。ㄐ屑せ睿?,存儲(chǔ)陣列的整行被傳輸?shù)竭@個(gè)體的行緩沖。當(dāng)一行在行緩沖中處于激活態(tài),,任何的讀寫(列存?。┛梢詧?zhí)行。當(dāng)完成所有可利用的列存取,,被緩沖的行必須依靠外在的操作(體預(yù)充電)寫回存儲(chǔ)陣列,,為后來的行激活操作做準(zhǔn)備。
  存儲(chǔ)器存取調(diào)度者必須滿足DRAM時(shí)序和資源限制,。共享的地址和數(shù)據(jù)線資源使存取串行化到不同的DRAM體,,但是每個(gè)體的狀態(tài)機(jī)是獨(dú)立的。因此,,調(diào)度者必須仲裁要使用單一資源的預(yù)充電,、行、列操作,。要充分利用存儲(chǔ)帶寬,,必須每次行激活下有足夠的列存取并且隱藏其他體的預(yù)充電/激活延遲。
3,、存儲(chǔ)器控制器結(jié)構(gòu)及調(diào)度算法
  存儲(chǔ)器存取調(diào)度是排序DRAM操作(體預(yù)充電,,行激活,列存?。┩瓿僧?dāng)前掛起的存儲(chǔ)器存取的過程,。操作表示一個(gè)命令(如行激活、列存?。?,被存儲(chǔ)器控制器發(fā)射到DRAM。訪問表示由處理器產(chǎn)生的存儲(chǔ)器訪問(如讀訪問或者寫訪問),。一個(gè)訪問產(chǎn)生一個(gè)或者多個(gè)存儲(chǔ)器操作,。
 
圖1.存儲(chǔ)器控制器結(jié)構(gòu)
圖1顯示采用存取調(diào)度算法的控制器結(jié)構(gòu)。每個(gè)體有預(yù)充電管理器,,行仲裁器,。預(yù)充電管理器決定什么時(shí)候?qū)εc他相關(guān)的體預(yù)充電。每個(gè)體的行仲裁器決定哪一行被激活,。列仲裁器被所有體共享,,授權(quán)共享的數(shù)據(jù)線資源給來自所有掛起的訪問的列存取。最后,,預(yù)充電管理器、行仲裁器,、列仲裁器發(fā)射選擇的操作給單一的地址仲裁器,,地址仲裁器授予共享地址資源給一個(gè)或者多個(gè)操作,。
    預(yù)充電管理器,行仲裁器,,列仲裁器可以使用多個(gè)不同的策略選擇DRAM操作,。由于地址線資源的是共享的,地址仲裁器策略決定哪個(gè)預(yù)充電,、激活,、列操作被執(zhí)行。跟其他調(diào)度策略一樣,,按序或者優(yōu)先權(quán)策略可用來作為地址仲裁器策略,。列優(yōu)先調(diào)度策略可以減少到激活行的訪問延遲,然而預(yù)充電優(yōu)先或者行優(yōu)先調(diào)度策略會(huì)增加體并行性,。
下面介紹幾種預(yù)充電管理器,,行仲裁器,列仲裁器可能使用的調(diào)度策略:
In order:DRAM操作只會(huì)執(zhí)行最早請(qǐng)求掛起的訪問,;
Ordered:越老的訪問優(yōu)先級(jí)越高,;
Open:只有在其他行有掛起的訪問而激活行沒有掛起的訪問才進(jìn)行體預(yù)充電。當(dāng)有顯著的行局部性使得后來的訪問命中前面訪問的行,,Open策略應(yīng)該采用,;
Closed:只要激活行沒有掛起的訪問體就預(yù)充電。后來的訪問不太會(huì)命中前面訪問的行,,closed策略應(yīng)該采用,。
4、控制器性能表現(xiàn)
  傳輸帶寬而不是訪問延遲驅(qū)動(dòng)流處理器性能,。因此流媒體處理系統(tǒng)是首要的需要存儲(chǔ)器存取調(diào)度,。為了評(píng)價(jià)存儲(chǔ)器存取調(diào)度對(duì)于媒體處理器的性能影響,通過模擬運(yùn)行典型的基準(zhǔn)程序,。

4.1模擬環(huán)境及基準(zhǔn)
   Imagine流存儲(chǔ)系統(tǒng)包括2個(gè)地址產(chǎn)生器,,4個(gè)交叉存儲(chǔ)體控制器,2個(gè)記錄緩沖按正確順序放置流數(shù)據(jù)在SRF,。所有這些單元在同一芯片Imagine處理器核中,。地址產(chǎn)生器支持3種地址模式:常量跨步,間接尋址,,位翻轉(zhuǎn),。地址產(chǎn)生器可以產(chǎn)生任何長度的存儲(chǔ)器訪問流,只要數(shù)據(jù)適合SRF,。對(duì)于跨步訪問,,地址產(chǎn)生器利用基址、跨步,、長度,,連續(xù)的地址依照基地址增加跨步常量,。對(duì)于間接尋址,基地址加上來自SRF的變址計(jì)算地址,。實(shí)驗(yàn)運(yùn)行在一組微基準(zhǔn)上,,如表1。

 

表1. 基準(zhǔn)
4.2性能表現(xiàn)分析
  存儲(chǔ)器控制器以執(zhí)行沒有重排序作為性能比較的基礎(chǔ),。即控制器使用按序策略:列存取只執(zhí)行最早掛起的訪問,。如圖2黑色的條狀代表按序策略性能。unit load取得DRAM峰值帶寬(2GB/s)的97%,,3%的開銷是有時(shí)預(yù)充電/激活延遲,;unit load到unit持續(xù)帶寬14%的下降是因?yàn)樽x和寫交叉,讀訪問和寫訪問轉(zhuǎn)換需要1周期的數(shù)據(jù)引腳高阻態(tài),;unit conflict由于體內(nèi)行來回交換使得帶寬下降到峰值得51%,;random只有unit load 的15%帶寬,因?yàn)榇嫒∫粋€(gè)字需要7 DRAM周期,。
4.3.1  簡單調(diào)度
   簡單的First-ready存取調(diào)度策略平均提高25%性能,。First-ready調(diào)度采用ordered優(yōu)先,如表1,,來決定所有的調(diào)度,。First-ready調(diào)度者考慮所有的掛起訪問并且為不違反時(shí)序和資源限制的最早掛起的訪問調(diào)度1個(gè)DRAM操作。這個(gè)調(diào)度算法最明顯的好處就是當(dāng)?shù)却秊榱俗钤鐠炱鹪L問的預(yù)充電或者激活操作時(shí),,可以同時(shí)對(duì)其他體進(jìn)行存取,,DRAM內(nèi)部多體并行。
 
圖2. 按序和first-ready存取調(diào)度下的存儲(chǔ)器帶寬
圖2,,first-ready調(diào)度算法比按序在微基準(zhǔn)最多增加性能79%,。unit load提高較小,;Random提高125%,,因?yàn)樗麄兡軌蝻@著提高每次行激活列存取的數(shù)量。
4.3.2  復(fù)雜調(diào)度
  更加具有挑戰(zhàn)性的調(diào)度算法能夠進(jìn)一步提高性能,,這部分將研究4種調(diào)度算法進(jìn)一步提高存儲(chǔ)器帶寬,。如圖3,包含random的基準(zhǔn)偏向關(guān)預(yù)充電策略,,這種策略只要激活行沒有掛起訪問就進(jìn)行體預(yù)充電,。對(duì)于大部分其他基準(zhǔn),開和關(guān)預(yù)充電策略相差甚微,。除了Unit load用col/closed算法表現(xiàn)差,,其他基準(zhǔn)都有較大性能提高。
 
圖3.各種存取調(diào)度算法情況下的存儲(chǔ)器帶寬
5,、結(jié)論
  本文創(chuàng)新點(diǎn):存儲(chǔ)器存取調(diào)度大大地增加了DRAM存取帶寬的利用,,緩沖存儲(chǔ)器訪問命令,,按照某個(gè)順序選擇執(zhí)行,既有體間并行又最大化利用每個(gè)行命令的列存取數(shù)量,,使得系統(tǒng)性能提高。在大部分基準(zhǔn)下,,關(guān)閉頁調(diào)度策略是有利的,。這部分地因?yàn)镈RAM有合并最后列存取請(qǐng)求的體預(yù)充電的能力。調(diào)度算法是否行優(yōu)先或者列優(yōu)先在性能上差異較小,。最后,,調(diào)度讀優(yōu)先于寫可提高性能。存儲(chǔ)器存取調(diào)度是最大利用日益寶貴的存儲(chǔ)器帶寬資源的重要技術(shù),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。