?
一種1 GHz多端口低功耗寄存器堆設計*
修回日期:2015-03-31
通信地址:上海市延長路149號上海大學電機樓415A室Address:Room 415A,Dianji Building,Shanghai University,149 Yanchang Rd,Shanghai 200072,P.R.China
李嬌1,2,王良華1,畢卓1,3,劉鵬1
(1.上海大學微電子研究與開發中心,上海 200072;
2.上海大學新型顯示技術及應用集成教育部重點實驗室,上海200072;
3.上海大學機電工程與自動化學院自動化系,上海 200072)
摘要:超標量處理器中的寄存器堆通常采用多端口結構以支持寬發射,這種結構對寄存器堆的速度、功耗和面積提出了很大的挑戰。設計了一個64*64 bit多端口寄存器堆,該寄存器堆能夠在同一個時鐘周期內完成8次讀操作和4次寫操作,通過對傳統單端讀寫結構的存儲單元進行改進,提出了電源門控與位線懸空技術相結合的單端讀寫結構的存儲單元,12個讀寫端口全部采用傳輸門以加快訪問速度。采用PTM 90 nm、65 nm、45 nm和32 nm仿真模型,在Hspice上進行仿真,與傳統單端讀寫結構相比較,所提出的方法能夠顯著提升寄存器堆的性能,其中寫1操作延時降低超過32%,總功耗降低超過45%,而且存儲單元的穩定性也得到明顯改善。
關鍵詞:寄存器堆;單端結構;電源門控;位線懸空
1引言
寄存器堆是微處理器的重要組成部分[1,2],用于存放微處理器運行時所需要的指令、數據以及運算產生的數據,它的性能直接決定著微處理器的性能。微處理器已由過去的單指令發射發展到現今的多指令發射,多指令發射要求寄存器堆具有多個端口以同時完成多次讀操作和寫操作,以此提高微處理器的并行處理能力[2]。然而,隨著端口數的增多,寄存器堆的訪問速度會變慢,功耗和面積會增加,性能隨之下降。已有多種技術用于提高多端口寄存器堆的性能:在速度方面,文獻[3,4]將動態電路應用于寄存器堆中以加快訪問速度,但使用動態電路會大幅增加功耗,也降低了電路的魯棒性;文獻[5,6]從改變晶體管的閾值電壓著手,在非關鍵路徑上使用高閾值晶體管以減小電流泄漏,在關鍵路徑上使用低閾值晶體管以加快訪問速度,但這些文獻中使用的雙閾值晶體管、體偏置技術需要特殊工藝的支持,通用性不強;文獻[7,8]采用分體技術以減少每個存儲體的端口數,這種技術能夠明顯降低寄存器堆的功耗和面積,但是需要非常復雜的控制邏輯來解決訪問時的地址沖突;文獻[9,10]通過在存儲單元的存儲核心與讀操作端口之間添加隔離反相器,使得存儲核心的抗噪聲能力免受讀操作的影響,大大提高了存儲單元的穩定性。

Figure 1 Conventional single-ended memory cell circuit of register files圖1 寄存器堆傳統單端讀寫結構單元電路
本文基于一款4發射的超標量處理器設計了一個64*64 bit寄存器堆,含有8個讀端口和4個寫端口,能夠同時實現8次讀操作和4次寫操作,通過改進寄存器堆存儲單元結構實現了性能提升。
2傳統單端讀寫結構
寄存器堆主要由存儲陣列、地址譯碼器和讀寫控制邏輯三大部分組成,其中存儲陣列是功耗、面積最大的部分。存儲陣列的基礎單元是存儲單元,存儲單元的結構對寄存器堆的訪問速度、面積、功耗和可靠性有著重要影響。
多端口寄存器堆通常采用單端讀寫結構[11],傳統單端讀寫結構的存儲單元電路圖如圖1所示。存儲單元的核心是一對交叉耦合的反相器,在寫操作時,四條寫位線通過四個傳輸管將數據寫入存儲單元,由四條寫字線控制具體從哪一個寫端口將數據寫入存儲單元;在讀操作時,節點QB通過反相器再經八個傳輸管將存儲值讀出,由八條讀字線控制具體從哪一個讀端口將數據讀出。在讀操作前,預充電電路會對讀位線充電,當讀0時,已經被預充為高電平的位線會通過傳輸管放電使得位線電壓下降,再經由靈敏放大器檢測位線電平變化將數據讀出;當讀1時,位線保持高電平,可以即時將數據讀出。
相較于雙端讀寫結構,采用單端讀寫結構能使位線數量減半,面積和功耗大幅降低,適合應用于多端口寄存器堆設計。然而,傳統單端讀寫結構也存在一些缺點:(1)由于寫端口是利用NMOS管將數據寫入存儲單元,NMOS管在傳輸1電平時存在閾值損失,節點Q電壓取決于耦合反相器中N1管與傳輸管的電阻值之比,如果節點Q電壓值小于MOS管閾值電壓,寫1操作將會失敗。因此,往往通過增大傳輸管的寬度來減小其電阻值,但這會導致功耗和寫字線負載增加。(2)在讀操作之前需要將讀位線預充到高電平,這一過程會消耗很大一部分功耗,并且當節點Q電壓為0時,位線電壓會經過傳輸管發生亞閾值泄漏導致位線電壓降低,給靈敏放大器檢測位線電壓變化帶來不便。(3)傳統單端讀寫結構的讀操作對時序要求較高,為避免工藝偏差和串擾對時序造成的影響,讀操作中不同時序信號之間需要預留充足的裕量,這也就增大了讀操作延時。另外,靈敏放大器作為模擬電路,受干擾影響較大,對版圖設計有較高的要求。鑒于傳統單端讀寫結構存在的缺點,本文對寄存器堆存儲單元進行改進,提出了新的存儲單元電路。
3一種改進的寄存器堆設計方案
新的存儲單元電路如圖2所示,結構上做了如下改進:(1)去掉了預充電電路和靈敏放大器,改由節點QB經反相器直接驅動位線將數據讀出,這樣做可以省掉對位線預充電和靈敏放大器讀數據時的功耗,這一功耗占總功耗的比重很大。同時,由于精簡讀操作電路,使得讀操作時序更加簡單,受工藝偏差的影響更小。(2)去掉預充電電路,使得讀位線處于懸空狀態,位線泄漏也會大幅降低。(3)對存儲單元核心使用了電源門控技術,在電源VDD與P1、P2管,電源GND和N1、N2管之間分別添加一對NMOS管和PMOS管,這四個MOS管構成電源門控電路。當對存儲單元寫0時,節點Q電壓變為0,節點QB電壓變為1,同時P4管和N4管關斷,耦合反相器與GND斷開,P3管和N3管導通,節點QB通過P3管直接與VDD連接,使得節點QB電壓恒為1;當對存儲單元寫1時,節點Q電壓變為1,節點QB電壓變為0,同時P3管和N3管關斷,耦合反相器與VDD斷開,P4管和N4管導通,節點QB通過N4管直接與GND相連,使得節點QB電壓恒為0。由于單端讀寫結構的讀操作只依靠節點QB的電壓將數據讀出,所以只要保證節點QB電壓穩定即可,節點Q的電壓由于受電源門控的影響會處于懸空狀態,但這不會影響到讀出數據的準確性,因為讀出數據值只由節點QB電壓決定。當節點Q處于懸空狀態時,P3管和N4管的亞閾值泄漏會增加,在納米工藝下亞閾值泄漏會變得非常嚴重,為此將P3管和N4管的溝道長度增加20%,通過溝長調制效應來提高P3管和N4管的閾值電壓,從而降低亞閾值泄漏。(4)將所有讀寫端口的傳輸管改由傳輸門代替,傳輸管由于存在閾值損失會影響到讀寫速度和電壓全擺幅性,傳輸門不存在閾值損失,可以快速進行讀寫操作,并且讀操作時位線電壓是全擺幅變化。(5)由于電源門控的作用,節點Q電壓為0時,GND與耦合反相器斷開,節點Q電壓為1時,VDD與耦合反相器斷開,這有助于降低存儲器核心的功耗,尤其是短路功耗。在反相器翻轉的過程中,PMOS管和NMOS管會同時導通,使得在VDD與GND之間形成一條短路通路,造成很大的短路電流,使用電源門控后,短路通路將會被截斷,短路電流顯著降低。(6)電源門控技術的使用,使得節點QB通過P3、N4管與VDD或GND相連接,增強了節點QB的抗噪聲能力,提高了存儲單元的穩定性。

Figure 2 Improved memory cell circuit of register files圖2 改進后的寄存器堆存儲單元電路
為了加快讀操作速度和降低功耗,寄存器堆頂層設計采用分體結構,將整個寄存器堆分成八個存儲體,每個存儲體容量為8*64 bit,這樣每條局部位線上只連接八個存儲單元,位線負載大大降低,提高了讀操作速度。每個存儲體都有各自的讀寫地址譯碼器和時鐘產生電路,最后使用多路選擇器將數據讀出。寄存器堆頂層結構如圖3所示。
4仿真結果比較
存儲單元的穩定性可以用靜態噪聲容限SNM(Static Noise Margin)來衡量[12],SNM是指允許加在兩個耦合反相器輸入端上的最大直流信號的幅值,如果噪聲信號幅值大于這一值,耦合反相器會發生翻轉致使產生錯誤的狀態值。本文所采用的電源門控技術,使得在寫入0后節點QB與VDD直接相連,電壓值恒為1;在寫入1后節點QB與GND相連,電壓值恒為0,由于讀操作讀出的數據直接由節點QB的電壓決定,節點QB直接與VDD或GND相連大大提高了存儲單元的抗噪聲能力。在PTM 45 nm工藝下仿真,得到傳統單端讀寫結構和改進后單端讀寫結構的讀寫噪聲容限曲線,其中讀操作噪聲容限RNM(Read Noise Margin)兩者相同,寫操作噪聲容限WNM(Write Noise Margin)后者較前者有明顯改善,圖4和圖5所示為WNM性能對比。

Figure 3 Top architecture of register files圖3 寄存器堆頂層結構圖

Figure 4 Write 0 noise margin in the conventional structure and the improved structure圖4 傳統結構與改進結構的寫0噪聲容限

Figure 5 Write 1 noise margin in the conventional structure and the improved structure圖5 傳統結構與改進結構的寫1噪聲容限
寄存器堆的讀操作是關鍵路徑。如圖6所示,系統時鐘GlobalCLK經由時鐘產生電路產生讀操作時鐘R0_clk,再與譯碼器產生的讀字線信號相與,再經過反相器增強讀字線驅動力。當讀操作到來時,讀字線信號將傳輸門開啟,存儲單元通過反相器再經由傳輸門對讀位線充電或放電將數據讀出。在PTM 45 nm工藝下,對寄存器堆關鍵路徑仿真,得到讀0延時191 ps,讀1延時227 ps,如圖7所示為關鍵路徑仿真波形。

Figure 6 Critical paths of register files圖6 寄存器堆關鍵路徑

Figure 7 Simulation results of the critical pathsof register files 圖7 寄存器堆關鍵路徑仿真波形
在Cadence Virtuoso下完成寄存器堆原理圖設計,采用PTM 90 nm、65 nm、45 nm、32 nm四種不同的仿真模型,在Hspice上分別對傳統單端讀寫結構和本文提出的結構進行仿真驗證。寄存器堆系統時鐘頻率確定為1 GHz,仿真環境是在最壞的情況下進行的,即同一周期內進行八次讀操作和四次寫操作,并且八個讀端口同時讀同一個字。如表1所示是四種工藝下的寫操作延時、讀操作延時、寫操作噪聲容限、讀操作噪聲容限和總功耗仿真數據對比。
在面積方面,本文提出的存儲單元結構的晶體管數量多于傳統單端結構的存儲單元,導致存儲陣列的面積會增加,分別是90 112和155 648個晶體管;由于省掉了預充電電路和靈敏放大器輸出電路,時序上的精簡也降低了讀寫控制邏輯的開銷,存儲陣列的外圍邏輯的面積較傳統方法有所減小,分別是81 752和45 736個晶體管。采用傳統單端讀寫結構設計的寄存器堆一共使用了171 864個晶體管,采用本文提出的方法設計的寄存器堆一共使用了201 384個晶體管,面積增加了17.2%。
在訪問速度方面,從表1的對比數據來看,改進后的結構在寫1操作延時降低了32%以上,是因為采用傳輸門代替NMOS傳輸管后避免了閾值損失,加快了寫1時的速度。值得注意的是,表1中的傳統結構讀1操作的延時為0 ps,這主要是由其特殊的結構決定的。傳統結構在讀操作之前會將讀位線預充電為高電平,當讀1時,讀位線已經是高電平,因此可以即時將數據讀出,而改進后的結構的讀操作是通過節點QB對讀位線進行充電或放電將數據讀出,讀1操作是一個對讀位線充電的過程,需要一段時間才能將數據讀出。
在功耗方面,總功耗降低了45%以上,改進后的結構去掉了讀位線預充電電路,不再需要對讀位線預充電使得功耗大幅下降,并且位線懸空也降低了位線泄漏。
在噪聲容限方面,采用電源門控技術增強了節點QB的抗噪聲能力,寫操作噪聲容限顯著提升,受反相器隔離作用的影響,讀操作噪聲容限保持不變。
5結束語
針對傳統單端讀寫結構寄存器堆存在的缺點,本文對寄存器堆存儲單元進行改進,采用了電源門控和位線懸空技術,并設計了一個64*64 bit八讀四寫的寄存器堆。在PTM 90 nm、65 nm、45 nm、32 nm四種仿真模型下仿真,結果表明本文提出的方法能夠顯著提升寄存器堆在寫操作、總功耗等方面的性能,還能提高存儲單元的穩定性。
參考文獻:附中文
[1]Patwary A R,Greub H,Feng Zhong. Bit-line organization in register files for low-power and high-performance application[C]∥Proc of Electrical and Computer Engineering,2006:505-508.
[2]Roy S,Ranganathan N. State-retentive power gating of register files in multicore processors featuring multithreaded in-or-der cores[J].Transactions on Computers,2011,60(11):1547-1560.

Table 1 Register file performance comparison under four technique models
[3]Li Sheng-long,Li Zhao-lin,Wang Fang. Design of a high-speed low-power multiport register file[C]∥Proc of Microeletronics &Electronics,2009:408-411.
[4]Wang Fang,Ji Li-jiu. Design of high speed 2Write/6Read eight-port register file[C]∥Proc of ICASIC,2003:498-501.
[5]Sarfraz K,Chan M. A low-noise local bitline technique for dual-Vt register files[C]∥Proc of Faible Tension Faible Consommation,2014:1-4.
[6]Gong N,Wang J,Sridhar R. Clock-biased local bit line for high performance register files[J].Electronics Letters,2012,48(18):1104-1105.
[7]Tseng J H,Asanovic K. Banked multiported register files for high-frequency superscalar microprocessors[C]∥Proc of Computer Architecture,2003:62-71.
[8]Wang Dao-ping,Lin Hon-Jarn,Hwang Wei. Low-power multiport SRAM with cross-point write word-lines,shared write bit-lines,and shared write row-access transistors[J].Circuits and Systems II,2014,61(3):188-192.
[9]Xiong Bao-yu. High performance low power multi-port register file research and full custom implementation[D].Shanghai:Fudan University,2011.(in Chinese)
[10]He Peng. Full custom design and realization of large-scale multi-port high speed register File[D].Changsha:National University of Defense Technology,2005.(in Chinese)
[11]Konstadinidis G K,Tremblay M,Chaudhry S. Architecture and physical implementation of a third generation 65nm,16Core,32Thread chip-multithreading SPARC processor[J].JSSC,2009,44(1):7-17.
[12]Hassanzadeh S,Zamani M,Hajsadeghi K. A 32kb 90nm 10T-cell subthreshold SRAM with improved read and write SNM[C]∥Proc of Eletrical Engineering,2013:1-5.
[9]熊保玉. 高性能低功耗多端口寄存器文件研究與全定制實現[D].上海:復旦大學,2011.
[10]賀鵬. 大規模多端口高速寄存器文件全定制設計與實現[D].長沙:國防科學技術大學,2005.

李嬌(1975-),女,山西運城人,博士,講師,研究方向為高性能數字電路設計及集成電路可測試性設計。E-mail:lijiao@staff.shu.edu.cn
Li Jiao,born in 1975,PhD,lecturer,her research interests include high performance digital circuit design, and integrated circuit design for testability.

王良華(1989-),男,湖北黃岡人,碩士生,研究方向為數字電路全定制設計。E-mail:gggyvwxf@163.com
Wang Liang-hua,born in 1989,MS candidate,his research interests include digital circuit full custom design.

畢卓(1979-),男,吉林敦化人,博士,副教授,CCF會員(E200010117M),研究方向為微處理器設計及高性能數字電路設計。E-mail:Zhuo.bi@shu.edu.cn
Bi Zhuo,born in 1979,PhD,associate professor,CCF member(E200010117M),his research interests include microprocessor design, and high performance digital circuit design.

劉鵬(1992-),男,江西贛州人,碩士生,研究方向為數字電路全定制設計。E-mail:1182762405@qq.com
Liu Peng,born in 1992,MS candidate,his research interest includes digital circuit full custom design.
A 1 GHz multi-port low-power register file design
LI Jiao1,2,WANG Liang-hua1,BI Zhuo1,3,LIU Peng1
(1.Microelectronics R&D Center,Shanghai University,Shanghai 200072;
2.Key Laboratory of Advanced Display and System Application,Shanghai University,Shanghai 200072;
3.School of Mechatronic Engineering and Automation,Shanghai University,Shanghai 200072,China)
Abstract:Register files in superscalar processors usually adopt the multi-port structure to support the wide issue, however, this structure brings in problems such as prolonging access speed, increasing in silicon areas and higher power consumption.We design a 64*64 bit multi-port register file which can concurrently accomplish 8 read operations and 4 write operations in one single clock cycle.We improve the conventional single-ended memory cell structure and purpose a new structure, which combines the power-gating and the bit-line floating techniques, and the transmission gate is used in all ports to accelerate the access speed.Simulations are conducted on Hspice with PTM 90 nm, 65 nm, 45 nm and 32 nm technology models compared with the conventional single-ended structure, the proposed method can significantly improve the performance of register files, the delay of write logic 1 decreases more than 32%, and the total power consumption decreases more than 45%; the stability of memory cells is also improved.
Key words:register file;single-ended;power-gating;bit-line floating
作者簡介:
doi:10.3969/j.issn.1007-130X.2015.12.005
中圖分類號:TP333
文獻標志碼:A
收稿日期:*2014-12-15;
文章編號:1007-130X(2015)12-2222-06