Cache中TLB的設(shè)計(jì)及優(yōu)化
- 期刊名字:蘇州大學(xué)學(xué)報(bào)(自然科學(xué)版)
- 文件大?。?67kb
- 論文作者:孫宏,薛駿,凌青
- 作者單位:東南大學(xué)
- 更新時(shí)間:2020-09-30
- 下載次數(shù):次
第21卷第1期蘇州大學(xué)學(xué)報(bào)(自然科學(xué)版)Vol.21 No.12005年1月JOURNAL OF SUZHOU UNIVERSITY( NATURAL SCIENCE EDITION)Jan. 2005文章編號(hào):000-2073( 2005 )01-0037-06 .Cache中TLB的設(shè)計(jì)及優(yōu)化孫宏薜駿凌青(東南大學(xué)國(guó)家專(zhuān)用集成電路系統(tǒng)工程技術(shù)研究中心江蘇南京210096)摘要當(dāng)今微處理器的設(shè)計(jì)中為了加快虛擬地址向物理地址轉(zhuǎn)換的速度通常使用地址轉(zhuǎn)換后備緩沖器TLH translation lokaside buffer來(lái)加快地址轉(zhuǎn)化的速度.本論文基于逆向設(shè)計(jì)提出了一種可行的TLB結(jié)構(gòu),可完成地址轉(zhuǎn)換的功能并從硬件上支持了不同大小的頁(yè)表格式.此外通過(guò)引入DVS技術(shù)將TLB存儲(chǔ)單元中的漏電功耗減少90%以上.關(guān)鍵詞Cache TLB地址轉(zhuǎn)化功耗DVS中圖分類(lèi)號(hào):TP368.1文獻(xiàn)標(biāo)識(shí)碼:A .0引言TLB是一個(gè)用于頁(yè)表匹配的高速緩存1].TLB里保存了虛擬頁(yè)號(hào)及其對(duì)應(yīng)的物理頁(yè)號(hào)虛擬地址的高位用于在TLB內(nèi)進(jìn)行查找輸出相對(duì)應(yīng)的物理頁(yè)號(hào),與虛擬地址的低位(偏移量)--起組成物理地址輸出.TLB的使用能極大地加速虛擬地址向物理地址轉(zhuǎn)換的時(shí)間2].本文將給出實(shí)現(xiàn)TLB功能的存儲(chǔ)單元電路,判決及位長(zhǎng)變換電路,以及數(shù)據(jù)的輸出流向.完成TLB電路結(jié)構(gòu)的設(shè)計(jì)后本文使用DVS技術(shù)對(duì)TLB的靜態(tài)功耗進(jìn)行優(yōu)化.隨著工藝線(xiàn)寬的縮小,CMOS工藝中的靜態(tài)功耗將大幅提高使用DVS技術(shù)能大幅降低靜態(tài)功耗.而且由于供電壓降低動(dòng)態(tài)功耗也將得到大幅抑制本文僅研究靜態(tài)功耗).1 TLB 的電路設(shè)計(jì)本文所設(shè)計(jì)的TLB結(jié)構(gòu)34如圖1所示CAM陣列保存用于比對(duì)的虛擬頁(yè)號(hào),SRAM1保存頁(yè)長(zhǎng)為20位的大頁(yè)物理地址SRAM2保存頁(yè)長(zhǎng)為16位的小頁(yè)地址,當(dāng)CAM陣列中的某個(gè)表項(xiàng)與進(jìn)行比對(duì)的虛擬頁(yè)號(hào)相同時(shí),該表項(xiàng)所對(duì)應(yīng)的SRAM陣列輸出相應(yīng)的物理頁(yè)號(hào)并發(fā)出命中信號(hào).總體而言本次設(shè)計(jì)所完成的TLB將包含64個(gè)表項(xiàng)從硬件上支持16位或20位的頁(yè)面.中國(guó)煤化工MYHCNMHG收稿日期2004-09- 02基金項(xiàng)目國(guó)家自然科學(xué)基金資助項(xiàng)目( 60176018)作者簡(jiǎn)孫云( 1981 - )男江蘇太倉(cāng)人東南大學(xué)無(wú)線(xiàn)電工程系畢業(yè)現(xiàn)在英國(guó)York大學(xué)從事容錯(cuò)系統(tǒng)方面的研究.38蘇州大學(xué)學(xué)報(bào)(自然科學(xué)版)第21卷位線(xiàn)8-供電壓式tCAMSRAMISRAM2M6口17|陣列1上T7T⊥5?!?輸入驅(qū)動(dòng)輸入驅(qū)動(dòng) ][輸入驅(qū)動(dòng)匹配值夢(mèng)。ME45↑地址標(biāo)簽命中讀/寫(xiě)數(shù)據(jù)亍圖1 TLB 的結(jié)構(gòu)圖2 CAM 單元的結(jié)構(gòu)1.1 存儲(chǔ)單元電路設(shè)計(jì)需要設(shè)計(jì)的存儲(chǔ)單元有CAMs和SRAM兩部分CAM陣列保存虛擬頁(yè)號(hào)與虛擬地址進(jìn)行比對(duì)其單元結(jié)構(gòu)如圖2所示.當(dāng)結(jié)點(diǎn)1的信號(hào)與結(jié)點(diǎn)4的內(nèi)部信號(hào)進(jìn)行比對(duì)時(shí)先把匹配信號(hào)線(xiàn).上拉至高電平若信號(hào)相同則匹配信號(hào)線(xiàn)保持高電平若信號(hào)不同則下拉為低電平. CAM單元的優(yōu)點(diǎn)在于當(dāng)把幾個(gè)不同單元的匹配信號(hào)相連就能進(jìn)行多位比較把不同單元的位線(xiàn)輸入信號(hào)相連能夠并行地進(jìn)行比對(duì).本文中每--列CAM單元前4位的匹配信號(hào)線(xiàn)連在-起將其輸出為匹配信號(hào)1 ;后16位的匹配信號(hào)線(xiàn)連在一起將其輸出為匹配信號(hào)2其中匹配信號(hào)2將始終參與比對(duì)結(jié)果的輸出.而通過(guò)選擇匹配信號(hào)1的有效與否可以選擇用于比對(duì)的虛擬頁(yè)號(hào)是20位還是16位.SRAM陣列用來(lái)儲(chǔ)存物理頁(yè)號(hào),當(dāng)TLB命中時(shí)輸出其存儲(chǔ)的物理地址;當(dāng)TLB未命中時(shí),0,SRAM中的某個(gè)表項(xiàng)需要與對(duì)應(yīng)的CAM一起更新其中的內(nèi)容.在本次設(shè)計(jì)中,對(duì)SRAM單元采用雙港口設(shè)計(jì)[6]對(duì)SRAM的讀/寫(xiě)由兩根字線(xiàn)分別控制.1.2 判決及位長(zhǎng)變換電路的實(shí)現(xiàn)位長(zhǎng)變換電路的實(shí)現(xiàn)是通過(guò)控制CAM單元中8葉士且6hond2 Lima匹配信號(hào)1的有效與否實(shí)現(xiàn)的,而判決電路就是能輸出信號(hào)表示CAM中匹配與否.$設(shè)計(jì)時(shí)需要注意的一個(gè)問(wèn)題是匹配信號(hào)線(xiàn)在電\比對(duì)前必須全部上拉為高電平,而此時(shí)不能將其用于判決,否則將會(huì)使SRAM中多根字線(xiàn)同時(shí)導(dǎo)通,bWa導(dǎo)致邏輯出錯(cuò).因此必須在CAM比對(duì)完后才能對(duì)↓SRAM中的字線(xiàn)進(jìn)行操作.根據(jù)以上要求所設(shè)計(jì)的判決及位長(zhǎng)變換電路中國(guó)煤化工換電路如圖3所示.圖3中的m、m2信號(hào)是CAM陣列給出的匹配信號(hào)其.JYHCNMH G表示不匹配;b 是位長(zhǎng)控制信號(hào)當(dāng)b=1時(shí)m1信號(hào)無(wú)效,當(dāng)b=0時(shí),m1信號(hào)有效a及a1、a2 信號(hào)是來(lái)自MMU(存儲(chǔ)器管理單元)的控制信號(hào)用于控制判決過(guò)程的正確進(jìn)行. Wa信號(hào)為SRAM中控制讀操作的字線(xiàn)命中信號(hào)( hit )是比對(duì)結(jié)果的輸半儔晨.第1期孫宏薛駿凌青Cache中TLB的設(shè)計(jì)及優(yōu)化39在TLB的64個(gè)表項(xiàng)中,每個(gè)表項(xiàng)的m\、m2及Wa信號(hào)均不相同而控制信號(hào)aa小\2、b信號(hào)則均連在-起,由MMU進(jìn)行控制;每個(gè)表項(xiàng)的f結(jié)點(diǎn)均連在一起整個(gè)TLB只有一個(gè)hit信號(hào).在導(dǎo)出Cadence中如圖3所示電路的網(wǎng)表文件后,在 Hspice中對(duì)其進(jìn)行仿真獲得如圖4所示時(shí)序圖:VVQhit)ξV(m)10300~50t/ms圖4 TLB 時(shí)序仿真由圖4可見(jiàn)仿真結(jié)果完全符合設(shè)計(jì)電路時(shí)所作分析.hit 與m、m2、b滿(mǎn)足以下關(guān)系:hit=m;(b+m1 )1.3 TLB數(shù)據(jù)的輸出流向當(dāng)處于小頁(yè)模式時(shí)虛擬地址中有20位參與比對(duì)傳輸門(mén)TG1、TG2關(guān)閉,TG3導(dǎo)通SRAM2的20位輸出輸入到寫(xiě)緩沖的高20位作為物理頁(yè)號(hào)而虛擬地址的低12位輸入到寫(xiě)緩沖的低12位,作為偏移量,兩者-起組成物理地址.當(dāng)處于大頁(yè)模式時(shí),虛擬地址中僅有16 位參與比對(duì)傳輸門(mén)TG1、TG2導(dǎo)通,TG3關(guān)閉SRAM的16位輸出輸入到寫(xiě)緩沖的高16位作為物理頁(yè)號(hào)虛擬地址的[15:12通過(guò)TG1后與虛擬地址的低12位-起輸入到寫(xiě)緩沖的低16位,作為16位的偏移量.具體的數(shù)據(jù)流向如圖5所示.C虛擬地址16 151211430CAM TAG物理地址3寫(xiě)緩沖;?命中SRAMI16位t +F2]PAI5:01DATA[1S:0]SRAM2→3→“20位DATA[19:16]20位圖5 TLB 的數(shù)據(jù)中國(guó)煤化工MHCNMHG2性能優(yōu)化一 低功耗設(shè)計(jì)本文使禺DYS技術(shù)減少TLB的靜態(tài)功耗.DVS技術(shù)的核心思想是為每根Cache線(xiàn)設(shè)置兩個(gè)不同的供l0蘇州大學(xué)學(xué)報(bào)(自然科學(xué)版)第21卷電壓,一個(gè)為正常的供電壓,而另-個(gè)則作為睡眠電壓.在大部分時(shí)間內(nèi),Cache中大部分的表項(xiàng)處于睡眠狀態(tài)而當(dāng)對(duì)Cache進(jìn)行讀寫(xiě)操作時(shí)再將供電壓.上拉為正常電壓(否則會(huì)破壞內(nèi)部存儲(chǔ)的信號(hào)).本文將對(duì)CAM陣列和SRAM陣列分別進(jìn)行優(yōu)化.2.1 關(guān)于CAM陣列的優(yōu)化設(shè)計(jì)由于CAM單元在比對(duì)時(shí)并不與外部信號(hào)直接連接,因此在低電壓下進(jìn)行比對(duì)不會(huì)破壞單元存儲(chǔ)的內(nèi)部信號(hào)所以可以直接降低CAM單元中導(dǎo)向器對(duì)的供電壓.由導(dǎo)向器結(jié)構(gòu)可知當(dāng)供電壓縮小到1.5Vr時(shí)仍可以保存所存儲(chǔ)的信息但是需要注意的是使匹配信號(hào)線(xiàn)降為低電平所需要的時(shí)間不能過(guò)長(zhǎng),否則將嚴(yán)重影響系統(tǒng)速度甚至造成功能錯(cuò)誤.而匹配信號(hào)線(xiàn)在內(nèi)容匹配的時(shí)候,他需要能保持高電平.根據(jù)一般嵌 入式Cache的特征假設(shè)其匹配信號(hào)線(xiàn)的正常供電壓為3.3V頻率為60MHz則我們所設(shè)置的睡眠電壓必須滿(mǎn)足:當(dāng)所存儲(chǔ)的信息與外部信息不匹配時(shí)使匹配信號(hào)線(xiàn)上的電壓在15ns內(nèi)下降至1. 5V以下方可視為合格.匹配信號(hào)線(xiàn)下拉的速度與實(shí)際電路中匹配信號(hào)線(xiàn)的寄生電容有關(guān)寄生電容越大下拉速度越慢而寄生電容越小則保持高電平的能力會(huì)降低.--般而言,匹配信號(hào)線(xiàn)上通常只有0.001pF數(shù)量級(jí)的寄生電容.為了增強(qiáng)電路的魯棒性確保電路在最壞情況下正常工作在仿真比對(duì)結(jié)果為不匹配考查匹配信號(hào)線(xiàn)下拉速度時(shí)使用的寄生電容定義為0.1pF而在仿真比對(duì)結(jié)果為匹配考查匹配信號(hào)線(xiàn)保持高電平能力時(shí)使用的寄生電容為0.001pF.仿真結(jié)果表明在睡眠電壓為0.6V的情況下電路性能依然良好.圖6為睡眠電壓為0.6V時(shí)的仿真結(jié)果.用于仿真的模型為圖2所示的CAM單元所使用的工藝庫(kù)是新加坡CharteredSemi-conductor Manufacturing的0.25um的工藝庫(kù).由圖6可見(jiàn)當(dāng)存儲(chǔ)的信息與外部比對(duì)的信息相同時(shí),匹配信號(hào)在20ns的時(shí)間內(nèi)仍然保持了3.24V以上的高電壓不會(huì)造成邏輯錯(cuò)誤.網(wǎng)0-113.3V3s.-0.2V4)-0.4V間331V7)3:2121620~t/as圖6在睡眠電壓為0. 6V中國(guó)煤化工由圖7可見(jiàn)當(dāng)存儲(chǔ)的信息與外部比對(duì)信息不相同時(shí)內(nèi)降到了1. 1V在6nsYHCNMHG的時(shí)間內(nèi)降到了接近于0.對(duì)導(dǎo)向器對(duì)管進(jìn)行了優(yōu)化前后的靜態(tài)功耗測(cè)定在優(yōu)化前使用3.3V的供電壓時(shí)漏電功耗為2.19x10- "w.在使用優(yōu)化后將供電壓降低到1.1V后漏電功耗為7.25x 10 - 13w.可見(jiàn)優(yōu)化后的漏電功耗僅為優(yōu)化前的乃方數(shù)據(jù)第1期孫宏薛駿凌青Cache中TLB的設(shè)計(jì)及優(yōu)化t113.373.3--6.7V(2)V間ξ -0.2V4)-0.41V(5)V6)V7)2410~1214t/ns圖7 在睡眠電壓為0. 6V下的性能(未命中)2.2關(guān)于SRAM陣列的優(yōu)化設(shè)計(jì)由于僅當(dāng)表項(xiàng)匹配或者需要寫(xiě)入新內(nèi)容時(shí)SRAM陣列才打開(kāi)NMOS管,與外部發(fā)生電源線(xiàn)聯(lián)系其余時(shí)間NMOS管均關(guān)斷.因此,可以考J正常電壓-門(mén)慮在平時(shí)將SRAM單元的內(nèi)部供電壓置為睡眠7休眠電壓工 5SRAM廠(chǎng)七丁狀態(tài)而僅當(dāng)表項(xiàng)匹配,需要將存儲(chǔ)的信息讀出或者需要更新表項(xiàng)內(nèi)容將信息寫(xiě)入SRAM休眠倌號(hào)Wb單元時(shí)才將內(nèi)部供電壓上拉至正常模式并且W保持在此高電平模式.每隔若干個(gè)時(shí)鐘周期一般為2000周期)將所有的SRAM的供電壓均圖8雙港口SRAM使用的DVS電路置為睡眠狀態(tài).這樣,根據(jù)程序的局部性原理,在大部分時(shí)間內(nèi)只有少數(shù)表項(xiàng)工作在正常狀態(tài),而大多數(shù)表項(xiàng)則在大部分時(shí)間內(nèi)工作在睡眠狀態(tài).在本次設(shè)計(jì)中考慮使用字線(xiàn)Wa和字線(xiàn)Wb對(duì)SRAM的供電壓進(jìn)行選擇.當(dāng)比對(duì)匹配,需要讀出信息或者是字線(xiàn)Wb為高電平需要寫(xiě)入信息時(shí)才將SRAM的供電壓置為正常模式,否則就將其置為睡眠狀態(tài).為實(shí)現(xiàn).上述功能所作電路圖如圖8及圖9所示.設(shè)置休眠T]休眠信號(hào)0]休眠信號(hào)1 .....i 休眠信號(hào)63中國(guó)煤化工MH.CNMHGWb0-4[ Wa0H [Wb1-+”Wa1- PWb63-- [Wa63Hh古↓圖9控制電路42蘇州大學(xué)學(xué)報(bào)(自然科學(xué)版)第21卷在如圖8所示DVS電路中當(dāng)休眠信號(hào)為高電平時(shí)通過(guò)組合電路將把休眠電壓傳送給SRAM的電源線(xiàn),處于低功耗狀態(tài)當(dāng)休眠信號(hào)為低電平時(shí),該電路把正常電壓傳給SRAM的電源線(xiàn),SRAM將處于正常工作模式.該休眠信號(hào)為邊沿觸發(fā).當(dāng)處于低功耗狀態(tài)時(shí)字線(xiàn)將無(wú)法選通,以防止低功耗時(shí)字線(xiàn)選通后對(duì)內(nèi)部邏輯的破壞.由于喚醒電路是Wa與Wb的或邏輯,因此將喚醒電路的控制電路設(shè)計(jì)成如圖9所示當(dāng)輸入Wa或Wb為高電平時(shí)將把輸出休眠信號(hào)下拉至0.在如圖9所示的控制電路中當(dāng)設(shè)置休眠信號(hào)為低電平時(shí)其控制的N管關(guān)斷,從而使Wa、Wb信號(hào)無(wú)效防止短路淇控制的P管導(dǎo)通將每個(gè)表項(xiàng)的休眠信號(hào)均置為高電平,從而使每個(gè)表項(xiàng)均進(jìn)入低功耗的睡眠狀態(tài).當(dāng)設(shè)置休眠信號(hào)為高電平時(shí)其控制的P管關(guān)斷,N管導(dǎo)通每個(gè)表項(xiàng)的休眠信號(hào)均由該表項(xiàng)的Wa、Wb信號(hào)控制根據(jù)Wa和Wb的值決定是繼續(xù)保持睡眠狀態(tài)還是將其轉(zhuǎn)到正常工作模式.在睡眠電壓的設(shè)置方面,--般把睡眠電壓設(shè)置成1.5VT即可.由于程序的局部性原理在大部分時(shí)間內(nèi)大部分表項(xiàng)將處于睡眠狀態(tài),因此可以預(yù)測(cè)DVS技術(shù)在SRAM中的運(yùn)用也將取得良好的優(yōu)化效果.3總結(jié)及展望TLB在地址轉(zhuǎn)換過(guò)程中發(fā)揮著極其重要的作用本次設(shè)計(jì)給出了實(shí)現(xiàn)TLB的電路結(jié)構(gòu)驗(yàn)證了其結(jié)果的正確性.在下一步的設(shè)計(jì)當(dāng)中,可以考慮進(jìn)一步考查T(mén)LB與MMU的關(guān)系通過(guò)TLB內(nèi)部的硬件結(jié)構(gòu)實(shí)現(xiàn)邏輯功能進(jìn)-步加快地址轉(zhuǎn)換速度.本次設(shè)計(jì)中對(duì)漏電功耗的優(yōu)化將漏電功耗降低到一個(gè)很低的比例事實(shí)上源電壓的降低對(duì)動(dòng)態(tài)功耗也有很大的抑制在今后的工作中也可以對(duì)這方面進(jìn)行深入考查.參考文獻(xiàn):[1] William Sallings.,計(jì)算機(jī)組織與結(jié)構(gòu)一性 能設(shè)訊[ M]北京電子工業(yè)出版社2001.[2]孟靜. 操作系統(tǒng)教程-原理和實(shí)例分析M]北京高等教育出版社, 2001.[3] RABAEY J M.數(shù)字集成電路設(shè)計(jì)透視M]北京清華大學(xué)出版社, 1998.[4] FURBER S. ARM SoC體系結(jié)構(gòu)[ M ]北京北京航空航天大學(xué)出版社,2002.[5]黃正瑾.計(jì)算機(jī)結(jié)構(gòu)與邏輯設(shè)訊[ M]北京高等教育出版社,2001.[6] 李偉華. VLSI設(shè)計(jì)基礎(chǔ)M]北京電子工業(yè)出版社, 2002.Design and optimize of the TLB in CacheSUN Hong XUE Jun ,LING Qing( National ASIC System Engineering Research Center , Southeast Univ. , Nanjing 210096 , China )中國(guó)煤化工Abstract :In nowadays' microprocessor design , the TLB is wi.MYHCNMH Gtranslation speed fromvirtual address to physical address. Based on the adverse design , an applicable TLB structure supporting the dif-ferent page sizes besides the address translation is proposed. In addition ,a DVS technology is used reducing theleakage power in the TLB' s memory cells by 90% .Key word5方數(shù)據(jù);TLB address translation ipower :DVS(責(zé)任編輯周建蘭)
-
C4烯烴制丙烯催化劑 2020-09-30
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-09-30
-
生物質(zhì)能的應(yīng)用工程 2020-09-30
-
我國(guó)甲醇工業(yè)現(xiàn)狀 2020-09-30
-
石油化工設(shè)備腐蝕與防護(hù)參考書(shū)十本免費(fèi)下載,絕版珍藏 2020-09-30
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡(jiǎn)介 2020-09-30
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-30
-
甲醇制芳烴研究進(jìn)展 2020-09-30
-
精甲醇及MTO級(jí)甲醇精餾工藝技術(shù)進(jìn)展 2020-09-30






