32位DSP兩級cache的結(jié)構(gòu)設(shè)計
發(fā)布時間:2008/9/23 0:00:00 訪問次數(shù):753
隨著半導(dǎo)體技術(shù)的發(fā)展,dsp性能不斷提高,被廣泛應(yīng)用在控制,通信,家電等領(lǐng)域中。
dsp內(nèi)部核心部件alu具有極高的處理速度,而外部存儲器的速度相對較低,存儲系統(tǒng)已成為制約dsp發(fā)展的一個瓶頸。本文參照計算機(jī)存儲結(jié)構(gòu),利用虛擬存儲技術(shù),對存儲系統(tǒng)的結(jié)構(gòu)進(jìn)行了改進(jìn)。在dsp中引入二級cache存儲器結(jié)構(gòu),在較小的硬件開銷下提高了dsp的工作速度。結(jié)合高性能低功耗dsp cache設(shè)計這個項(xiàng)目,對兩級cache的結(jié)構(gòu)和算法做了探討。
2 cache總體設(shè)計
傳統(tǒng)的存儲器主要由dram組成,它的工作速度較慢,cache存儲器主要由sram組成。在dsp中,存儲系統(tǒng)可分層設(shè)計,將之分為兩部分:容量較小的cache存儲器和容量較大的主存儲器,cache中存放著和主存中一致的較常用的指令與數(shù)據(jù)。dsp執(zhí)行操作時可先向速度較快
圖1 cache的結(jié)構(gòu)及互連簡圖
的cache取指令或數(shù)據(jù),如果不命中則再從主存取指令或數(shù)據(jù)。通過提高cache的命中率可以大大加快dsp的整體運(yùn)行速度,從而緩解由存儲系統(tǒng)引起的瓶頸問題。
基于上述原理,我們設(shè)計了dsp的cache總體結(jié)構(gòu),如圖1所示。圖中設(shè)計采用了兩級cache設(shè)計,第一級cache采用分立結(jié)構(gòu),將指令cache和數(shù)據(jù)cache分開設(shè)計,這樣cpu可以對數(shù)據(jù)和指令進(jìn)行平行操作,結(jié)合dsp取址,譯碼,讀數(shù),執(zhí)行的四級流水線結(jié)構(gòu),充分提高系統(tǒng)效率。二級cache采用統(tǒng)一結(jié)構(gòu),數(shù)據(jù)和指令共用一個cache,此時可以根據(jù)程序執(zhí)行的具體情況,二級cache自動平衡指令和數(shù)據(jù)間的負(fù)載,從而提高命中率。dsp若在一級cache中未找到需要的指令和數(shù)據(jù),則可在二級cache中尋找。此結(jié)構(gòu)下,一級cache找不到的數(shù)據(jù)和指令多數(shù)可在二級cache中找到,提高了整個cache系統(tǒng)的命中率。
增加一級cache的容量可提高命中率,但隨著cache容量增大,電路結(jié)構(gòu)將變得復(fù)雜,所用的芯片面積、功耗也會加大,而且cache的訪問時間也會變長,從而影響到alu的速度。綜合考慮速度,面積,功耗等因素,我們把一級指令cache和數(shù)據(jù)cache的容量均定為4kb。
二級cache處于一級cache和主存儲器之間,訪問時間是3到4個alu時鐘周期,其容量一般是為一級cache的4到8倍。設(shè)計中我們將二級cache的容量為定位32kb。
3 cache的映射方式與地址結(jié)構(gòu)
cache采用的映射方式通常有直接映射、關(guān)聯(lián)映射、組關(guān)聯(lián)映射三種,直接映射命中率低,容易發(fā)生抖動,關(guān)聯(lián)映射雖然命中率較高,但電路復(fù)雜,權(quán)衡電路復(fù)雜性和命中率,我們主要采用組關(guān)聯(lián)映射方法。在組關(guān)聯(lián)映射中,可將主存空間分成塊,cache空間分為組,一組包含多行,行的大小與塊的大小相等。主存中的特定塊只能映射到cache中的特定組,但可以映射到組內(nèi)的不同行。若用j表示主存的塊號,i表示cache中的組號,m表示cache的總行數(shù),當(dāng)cache分為v個組,每組k個行時,存在以下關(guān)系(見公式1、2),
此種映射方式通常稱為k路組關(guān)聯(lián)映射。利用公式(2),我們可以根據(jù)塊的物理地址計算它能映射到的組號,塊j 能被映射到相應(yīng)組中k行的任何一行中。
設(shè)計中二級cache采用4路組相聯(lián)的結(jié)構(gòu),分為共256組,每組4行,每行8個32位單元,總?cè)萘课?2kb。cache的控制邏輯將存儲器地址簡單的分為三個域:標(biāo)記域,組號和字。為了降低系統(tǒng)的功耗,采用了標(biāo)記(tag)和數(shù)據(jù)體相分離的方案。為了加快訪問速度,把cache中行號相同的塊放在一個數(shù)據(jù)體中實(shí)現(xiàn)。這樣cache就可分為4個標(biāo)記存儲器,4個數(shù)據(jù)存儲器。每個標(biāo)記存儲器可放256個標(biāo)記,每個數(shù)據(jù)存儲體有256行數(shù)據(jù)。地址的劃分如圖2,tag的結(jié)構(gòu)見圖3。
圖2 二級 cache的地址劃分
圖3 l2 cache tag 的組成
一級指令cache和數(shù)據(jù)cache采用組關(guān)聯(lián)的結(jié)構(gòu),均分為32個組,每組4行,每行含有8個32位的單元,每個容量位4kb。一級cache的組和行與二級cache的組和行大小對應(yīng),在二級cache到指令cache和數(shù)據(jù)cache間,組之間我們采用直接映射的方式,組內(nèi)用全關(guān)聯(lián)方式。這樣我們結(jié)合了組關(guān)聯(lián)的靈活與全關(guān)聯(lián)的命中率高的優(yōu)點(diǎn)。
和二級cache相似,也把每組塊號相同的數(shù)據(jù)放在同一個數(shù)據(jù)體中,共分為4個標(biāo)記存儲器,四個數(shù)據(jù)體存儲器。每個標(biāo)記存儲器可放32個標(biāo)記,每個數(shù)據(jù)存儲體有32行數(shù)據(jù)。對主存地址的劃分如圖4。
圖4 一級cache的地址劃分
tag的結(jié)構(gòu)見圖5。
隨著半導(dǎo)體技術(shù)的發(fā)展,dsp性能不斷提高,被廣泛應(yīng)用在控制,通信,家電等領(lǐng)域中。
dsp內(nèi)部核心部件alu具有極高的處理速度,而外部存儲器的速度相對較低,存儲系統(tǒng)已成為制約dsp發(fā)展的一個瓶頸。本文參照計算機(jī)存儲結(jié)構(gòu),利用虛擬存儲技術(shù),對存儲系統(tǒng)的結(jié)構(gòu)進(jìn)行了改進(jìn)。在dsp中引入二級cache存儲器結(jié)構(gòu),在較小的硬件開銷下提高了dsp的工作速度。結(jié)合高性能低功耗dsp cache設(shè)計這個項(xiàng)目,對兩級cache的結(jié)構(gòu)和算法做了探討。
2 cache總體設(shè)計
傳統(tǒng)的存儲器主要由dram組成,它的工作速度較慢,cache存儲器主要由sram組成。在dsp中,存儲系統(tǒng)可分層設(shè)計,將之分為兩部分:容量較小的cache存儲器和容量較大的主存儲器,cache中存放著和主存中一致的較常用的指令與數(shù)據(jù)。dsp執(zhí)行操作時可先向速度較快
圖1 cache的結(jié)構(gòu)及互連簡圖
的cache取指令或數(shù)據(jù),如果不命中則再從主存取指令或數(shù)據(jù)。通過提高cache的命中率可以大大加快dsp的整體運(yùn)行速度,從而緩解由存儲系統(tǒng)引起的瓶頸問題。
基于上述原理,我們設(shè)計了dsp的cache總體結(jié)構(gòu),如圖1所示。圖中設(shè)計采用了兩級cache設(shè)計,第一級cache采用分立結(jié)構(gòu),將指令cache和數(shù)據(jù)cache分開設(shè)計,這樣cpu可以對數(shù)據(jù)和指令進(jìn)行平行操作,結(jié)合dsp取址,譯碼,讀數(shù),執(zhí)行的四級流水線結(jié)構(gòu),充分提高系統(tǒng)效率。二級cache采用統(tǒng)一結(jié)構(gòu),數(shù)據(jù)和指令共用一個cache,此時可以根據(jù)程序執(zhí)行的具體情況,二級cache自動平衡指令和數(shù)據(jù)間的負(fù)載,從而提高命中率。dsp若在一級cache中未找到需要的指令和數(shù)據(jù),則可在二級cache中尋找。此結(jié)構(gòu)下,一級cache找不到的數(shù)據(jù)和指令多數(shù)可在二級cache中找到,提高了整個cache系統(tǒng)的命中率。
增加一級cache的容量可提高命中率,但隨著cache容量增大,電路結(jié)構(gòu)將變得復(fù)雜,所用的芯片面積、功耗也會加大,而且cache的訪問時間也會變長,從而影響到alu的速度。綜合考慮速度,面積,功耗等因素,我們把一級指令cache和數(shù)據(jù)cache的容量均定為4kb。
二級cache處于一級cache和主存儲器之間,訪問時間是3到4個alu時鐘周期,其容量一般是為一級cache的4到8倍。設(shè)計中我們將二級cache的容量為定位32kb。
3 cache的映射方式與地址結(jié)構(gòu)
cache采用的映射方式通常有直接映射、關(guān)聯(lián)映射、組關(guān)聯(lián)映射三種,直接映射命中率低,容易發(fā)生抖動,關(guān)聯(lián)映射雖然命中率較高,但電路復(fù)雜,權(quán)衡電路復(fù)雜性和命中率,我們主要采用組關(guān)聯(lián)映射方法。在組關(guān)聯(lián)映射中,可將主存空間分成塊,cache空間分為組,一組包含多行,行的大小與塊的大小相等。主存中的特定塊只能映射到cache中的特定組,但可以映射到組內(nèi)的不同行。若用j表示主存的塊號,i表示cache中的組號,m表示cache的總行數(shù),當(dāng)cache分為v個組,每組k個行時,存在以下關(guān)系(見公式1、2),
此種映射方式通常稱為k路組關(guān)聯(lián)映射。利用公式(2),我們可以根據(jù)塊的物理地址計算它能映射到的組號,塊j 能被映射到相應(yīng)組中k行的任何一行中。
設(shè)計中二級cache采用4路組相聯(lián)的結(jié)構(gòu),分為共256組,每組4行,每行8個32位單元,總?cè)萘课?2kb。cache的控制邏輯將存儲器地址簡單的分為三個域:標(biāo)記域,組號和字。為了降低系統(tǒng)的功耗,采用了標(biāo)記(tag)和數(shù)據(jù)體相分離的方案。為了加快訪問速度,把cache中行號相同的塊放在一個數(shù)據(jù)體中實(shí)現(xiàn)。這樣cache就可分為4個標(biāo)記存儲器,4個數(shù)據(jù)存儲器。每個標(biāo)記存儲器可放256個標(biāo)記,每個數(shù)據(jù)存儲體有256行數(shù)據(jù)。地址的劃分如圖2,tag的結(jié)構(gòu)見圖3。
圖2 二級 cache的地址劃分
圖3 l2 cache tag 的組成
一級指令cache和數(shù)據(jù)cache采用組關(guān)聯(lián)的結(jié)構(gòu),均分為32個組,每組4行,每行含有8個32位的單元,每個容量位4kb。一級cache的組和行與二級cache的組和行大小對應(yīng),在二級cache到指令cache和數(shù)據(jù)cache間,組之間我們采用直接映射的方式,組內(nèi)用全關(guān)聯(lián)方式。這樣我們結(jié)合了組關(guān)聯(lián)的靈活與全關(guān)聯(lián)的命中率高的優(yōu)點(diǎn)。
和二級cache相似,也把每組塊號相同的數(shù)據(jù)放在同一個數(shù)據(jù)體中,共分為4個標(biāo)記存儲器,四個數(shù)據(jù)體存儲器。每個標(biāo)記存儲器可放32個標(biāo)記,每個數(shù)據(jù)存儲體有32行數(shù)據(jù)。對主存地址的劃分如圖4。
圖4 一級cache的地址劃分
tag的結(jié)構(gòu)見圖5。
熱門點(diǎn)擊
- MIPS推出首個集成DSPASE的24KE&
- 在TMS320C6x系列DSP上G.729A
- 二維DCT編碼的DSP實(shí)現(xiàn)與優(yōu)化
- DSP48A操作簡介
- Spartan-3-ADSP DSP48A單
- 32位DSP兩級cache的結(jié)構(gòu)設(shè)計
- 基于McBSP的雙DSP間高速通信
- 應(yīng)用DSP48E的乘法擴(kuò)展
- 基于DM642的運(yùn)動估計算法的研究與實(shí)現(xiàn)
- DSP與PC機(jī)的無線交換調(diào)制模塊設(shè)計
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究