www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]采用自頂向下的流程設(shè)計(jì)了一款32位DSP的cache。該cache采用兩級(jí)結(jié)構(gòu),第一級(jí)采用哈佛結(jié)構(gòu),第二級(jí)采用普林斯頓結(jié)構(gòu)。本文詳細(xì)論述了該cache的結(jié)構(gòu)設(shè)計(jì)及采用的算法。

摘要:采用自頂向下的流程設(shè)計(jì)了一款32位DSP的cache。該cache采用兩級(jí)結(jié)構(gòu),第一級(jí)采用哈佛結(jié)構(gòu),第二級(jí)采用普林斯頓結(jié)構(gòu)。本文詳細(xì)論述了該cache的結(jié)構(gòu)設(shè)計(jì)及采用的算法。
關(guān)鍵詞: cache,DSP,存儲(chǔ)系統(tǒng).

1引言

隨著半導(dǎo)體技術(shù)的發(fā)展,DSP性能不斷提高,被廣泛應(yīng)用在控制,通信,家電等領(lǐng)域中。

DSP內(nèi)部核心部件ALU具有極高的處理速度,而外部存儲(chǔ)器的速度相對(duì)較低,存儲(chǔ)系統(tǒng)已成為制約DSP發(fā)展的一個(gè)瓶頸。本文參照計(jì)算機(jī)存儲(chǔ)結(jié)構(gòu),利用虛擬存儲(chǔ)技術(shù),對(duì)存儲(chǔ)系統(tǒng)的結(jié)構(gòu)進(jìn)行了改進(jìn)。在DSP中引入二級(jí)Cache存儲(chǔ)器結(jié)構(gòu),在較小的硬件開銷下提高了DSP的工作速度。結(jié)合高性能低功耗DSP cache設(shè)計(jì)這個(gè)項(xiàng)目,對(duì)兩級(jí)cache的結(jié)構(gòu)和算法做了探討。

2 cache總體設(shè)計(jì)

    傳統(tǒng)的存儲(chǔ)器主要由Dram組成,它的工作速度較慢,cache存儲(chǔ)器主要由SRAM組成。在DSP中,存儲(chǔ)系統(tǒng)可分層設(shè)計(jì),將之分為兩部分:容量較小的cache存儲(chǔ)器和容量較大的主存儲(chǔ)器,cache中存放著和主存中一致的較常用的指令與數(shù)據(jù)。DSP執(zhí)行操作時(shí)可先向速度較快


圖1  cache的結(jié)構(gòu)及互連簡(jiǎn)圖

 

 


的cache取指令或數(shù)據(jù),如果不命中則再?gòu)闹鞔嫒≈噶罨驍?shù)據(jù)。通過(guò)提高cache的命中率可以大大加快DSP的整體運(yùn)行速度,從而緩解由存儲(chǔ)系統(tǒng)引起的瓶頸問(wèn)題。

    基于上述原理,我們?cè)O(shè)計(jì)了DSP的cache總體結(jié)構(gòu),如圖1所示。圖中設(shè)計(jì)采用了兩級(jí)cache設(shè)計(jì),第一級(jí)cache采用分立結(jié)構(gòu),將指令cache和數(shù)據(jù)cache分開設(shè)計(jì),這樣CPU可以對(duì)數(shù)據(jù)和指令進(jìn)行平行操作,結(jié)合DSP取址,譯碼,讀數(shù),執(zhí)行的四級(jí)流水線結(jié)構(gòu),充分提高系統(tǒng)效率。二級(jí)cache采用統(tǒng)一結(jié)構(gòu),數(shù)據(jù)和指令共用一個(gè)cache,此時(shí)可以根據(jù)程序執(zhí)行的具體情況,二級(jí)cache自動(dòng)平衡指令和數(shù)據(jù)間的負(fù)載,從而提高命中率。DSP若在一級(jí)cache中未找到需要的指令和數(shù)據(jù),則可在二級(jí)cache中尋找。此結(jié)構(gòu)下,一級(jí)cache找不到的數(shù)據(jù)和指令多數(shù)可在二級(jí)cache中找到,提高了整個(gè)cache系統(tǒng)的命中率。

增加一級(jí)cache的容量可提高命中率,但隨著cache容量增大,電路結(jié)構(gòu)將變得復(fù)雜,所用的芯片面積、功耗也會(huì)加大,而且cache的訪問(wèn)時(shí)間也會(huì)變長(zhǎng),從而影響到ALU的速度。綜合考慮速度,面積,功耗等因素,我們把一級(jí)指令cache和數(shù)據(jù)cache的容量均定為4KB。

二級(jí)cache處于一級(jí)cache和主存儲(chǔ)器之間,訪問(wèn)時(shí)間是3到4個(gè)ALU時(shí)鐘周期,其容量一般是為一級(jí)cache的4到8倍。設(shè)計(jì)中我們將二級(jí)cache的容量為定位32KB。

3 cache映射方式與地址結(jié)構(gòu)

cache采用的映射方式通常有直接映射、關(guān)聯(lián)映射、組關(guān)聯(lián)映射三種,直接映射命中率低,容易發(fā)生抖動(dòng),關(guān)聯(lián)映射雖然命中率較高,但電路復(fù)雜,權(quán)衡電路復(fù)雜性和命中率,我們主要采用組關(guān)聯(lián)映射方法。在組關(guān)聯(lián)映射中,可將主存空間分成塊,cache空間分為組,一組包含多行,行的大小與塊的大小相等。主存中的特定塊只能映射到cache中的特定組,但可以映射到組內(nèi)的不同行。若用j表示主存的塊號(hào),i表示cache中的組號(hào),m表示cache的總行數(shù),當(dāng)cache分為v個(gè)組,每組k個(gè)行時(shí),存在以下關(guān)系(見公式1、2),

此種映射方式通常稱為k路組關(guān)聯(lián)映射。利用公式(2),我們可以根據(jù)塊的物理地址計(jì)算它能映射到的組號(hào),塊j 能被映射到相應(yīng)組中k行的任何一行中。

設(shè)計(jì)中二級(jí)cache采用4路組相聯(lián)的結(jié)構(gòu),分為共256組,每組4行,每行8個(gè)32位單元,總?cè)萘课?2KB。cache的控制邏輯將存儲(chǔ)器地址簡(jiǎn)單的分為三個(gè)域:標(biāo)記域,組號(hào)和字。為了降低系統(tǒng)的功耗,采用了標(biāo)記(tag)和數(shù)據(jù)體相分離的方案。為了加快訪問(wèn)速度,把cache中行號(hào)相同的塊放在一個(gè)數(shù)據(jù)體中實(shí)現(xiàn)。這樣cache就可分為4個(gè)標(biāo)記存儲(chǔ)器,4個(gè)數(shù)據(jù)存儲(chǔ)器。每個(gè)標(biāo)記存儲(chǔ)器可放256個(gè)標(biāo)記,每個(gè)數(shù)據(jù)存儲(chǔ)體有256行數(shù)據(jù)。地址的劃分如圖2,tag的結(jié)構(gòu)見圖3。

圖2  二級(jí) cache的地址劃分

 


圖3  L2 cache tag 的組成

  

      

 

一級(jí)指令cache和數(shù)據(jù)cache采用組關(guān)聯(lián)的結(jié)構(gòu),均分為32個(gè)組,每組4行,每行含有8個(gè)32位的單元,每個(gè)容量位4KB。一級(jí)cache的組和行與二級(jí)cache的組和行大小對(duì)應(yīng),在二級(jí)cache到指令cache和數(shù)據(jù)cache間,組之間我們采用直接映射的方式,組內(nèi)用全關(guān)聯(lián)方式。這樣我們結(jié)合了組關(guān)聯(lián)的靈活與全關(guān)聯(lián)的命中率高的優(yōu)點(diǎn)。

和二級(jí)cache相似,也把每組塊號(hào)相同的數(shù)據(jù)放在同一個(gè)數(shù)據(jù)體中,共分為4個(gè)標(biāo)記存儲(chǔ)器,四個(gè)數(shù)據(jù)體存儲(chǔ)器。每個(gè)標(biāo)記存儲(chǔ)器可放32個(gè)標(biāo)記,每個(gè)數(shù)據(jù)存儲(chǔ)體有32行數(shù)據(jù)。對(duì)主存地址的劃分如圖4。

圖4   一級(jí)cache的地址劃分

 

 


tag的結(jié)構(gòu)見圖5。

圖5  一級(jí)cache tag結(jié)構(gòu)

 

 

 

其中,P位是數(shù)據(jù)存在位, M位是數(shù)據(jù)修改的標(biāo)記位,用于寫策略的實(shí)現(xiàn)。

4 寫策略及cache替換算法

寫策略通常采用寫回或?qū)懼边_(dá),采用寫回法時(shí),僅當(dāng)cache中的某行數(shù)據(jù)被替換時(shí),才更新存儲(chǔ)器中相應(yīng)數(shù)據(jù)。采用寫直達(dá)法時(shí),則每次寫操作都要同時(shí)更新cache和主存儲(chǔ)器中的數(shù)據(jù)。

所針對(duì)的DSP處于單處理器工作模式下,考慮到整個(gè)系統(tǒng)的數(shù)據(jù)處理效率,設(shè)計(jì)時(shí)我們采用寫回法更新數(shù)據(jù)。寫回法中,如果一級(jí)cache中的數(shù)據(jù)發(fā)生改變而未立即寫回L2 cache和主存儲(chǔ)器,或者L2 cache中的數(shù)據(jù)發(fā)生改變,未立即寫回主存儲(chǔ)器,那么就會(huì)造成數(shù)據(jù)不一致而導(dǎo)致錯(cuò)誤。為保證數(shù)據(jù)的一致性,在駐留于cache中的某一塊被替換之前,必須考慮它是否在cache中被修改。如果沒(méi)有修改,則cache中原來(lái)的塊就可以直接被替換掉,而不需回寫;如果修改過(guò),則意味著對(duì)cache這一行至少執(zhí)行過(guò)一次寫操作,那么在替換之前主存儲(chǔ)器中的數(shù)據(jù)也必須隨之做相應(yīng)修改。為此我們?cè)赾ache的tag中設(shè)置了修改位M,在執(zhí)行回寫操作前我們均對(duì)修改位進(jìn)行判斷,其值為1時(shí)表示數(shù)據(jù)被修改過(guò),需回寫,為0則表示未修改,不進(jìn)行回寫。

Cache的替換算法有很多種 ,為了提高命中率,在設(shè)計(jì)時(shí)采用了優(yōu)化的LRU算法:棧鏈法[6]。棧鏈法的管理規(guī)則如下:

1) 把本次訪問(wèn)的塊號(hào)與棧中保存的所有塊號(hào)進(jìn)行比較。如果發(fā)現(xiàn)有相等的,則cache命中,本次訪問(wèn)的塊號(hào)從棧頂壓入,棧內(nèi)各單元的塊號(hào)依次往下移,直至與本次訪問(wèn)的塊號(hào)相等的那個(gè)單元為止,再往下的單元直至棧底都不改變。

2)如果相聯(lián)比較沒(méi)有發(fā)現(xiàn)相等的,則cache失效。棧底單元中的塊號(hào)就是要被替換的塊號(hào)。

實(shí)現(xiàn)時(shí)采用四個(gè)存儲(chǔ)單元,每個(gè)單元兩位,用來(lái)保存當(dāng)前cache組的四個(gè)塊號(hào)。首先是相聯(lián)比較,以組號(hào)為地址,從四個(gè)標(biāo)記寄存器中讀取數(shù)據(jù),和地址進(jìn)行比較,然后就可以產(chǎn)生命中與否的信號(hào),以及命中時(shí)相應(yīng)的塊號(hào)。

如何根據(jù)地址在cache中找到所需要的數(shù)據(jù)

    

              

圖6 I cache查找數(shù)據(jù)的過(guò)程  

能夠映射到cache中某一行的數(shù)據(jù)很多,那么是怎樣在cache中找到所需要的數(shù)據(jù)呢?主要是借助于標(biāo)記。以 I  cache 為例,當(dāng)CPU發(fā)出讀信號(hào)時(shí),則首先以組號(hào)PA[7:3]為地址,從I cache的四組標(biāo)記寄存器中讀取標(biāo)記,送往對(duì)應(yīng)的比較器,和地址信號(hào)PA[31:8]進(jìn)行比較,如果比較相等,且存在位有效,則表示命中。HIT1表示第1組命中,依次類推。HIT1 ,HIT2,HIT3,HIT4經(jīng)過(guò)或門以后,就是總體命中與否的輸出信號(hào)。如果HIT1有效,以PA[7:0]對(duì)cache的數(shù)據(jù)體1進(jìn)行尋址,讀取相應(yīng)的數(shù)據(jù)。其它情況類似。在這個(gè)過(guò)程中,可以看出,地址和數(shù)據(jù)之間的一一對(duì)應(yīng)關(guān)系。

6 數(shù)據(jù)塊傳輸

數(shù)據(jù)塊傳輸是對(duì)存儲(chǔ)器的一種重要操作,根據(jù)譯碼電路的層次性,知道如果只是地址的低位發(fā)生改變,譯碼電路很快就可以達(dá)到穩(wěn)定狀態(tài),選擇對(duì)應(yīng)的單元,進(jìn)行讀寫。因此對(duì)數(shù)據(jù)進(jìn)行整組傳輸,有利于提高傳輸?shù)男?。在該cache中,對(duì)存儲(chǔ)器的訪問(wèn)都是定長(zhǎng)的,如果產(chǎn)生不命中的信號(hào),則立即產(chǎn)生8拍定長(zhǎng)的讀寫信號(hào)。具體實(shí)現(xiàn)時(shí),設(shè)計(jì)了一個(gè)控制塊傳輸信號(hào)的模塊。每當(dāng)產(chǎn)生不命中的信號(hào),則把塊傳輸?shù)某跏嫉刂纷x入到該模塊的初始地址寄存器,設(shè)置相應(yīng)的傳輸單元數(shù)為8,以及對(duì)應(yīng)的cache單元的讀寫信號(hào)。在每個(gè)時(shí)鐘的上升沿,地址寄存器增1,傳輸單元個(gè)數(shù)寄存器減1,當(dāng)傳輸單元個(gè)數(shù)寄存器的數(shù)據(jù)為0時(shí),就結(jié)束傳輸。

由于L2 cache是個(gè)單端口的存儲(chǔ)器,一級(jí)cache采用哈佛結(jié)構(gòu),對(duì)數(shù)據(jù)和指令同時(shí)進(jìn)行操作,當(dāng)D cache和I cache失效時(shí),都會(huì)訪問(wèn)L2 cache,這樣就有可能產(chǎn)生沖突。為了解決這個(gè)問(wèn)題,在塊傳輸控制的模塊中,設(shè)置了一位busy位,用來(lái)標(biāo)志總線忙狀態(tài)。當(dāng)某個(gè)請(qǐng)求得到響應(yīng),其余的請(qǐng)求只有進(jìn)入等待狀態(tài)。在設(shè)計(jì)時(shí),制定了訪問(wèn)L2 cache的優(yōu)先級(jí)協(xié)議:讀指令不命中的優(yōu)先級(jí)最高,寫數(shù)據(jù)不命中的優(yōu)先級(jí)次之,讀數(shù)據(jù)不命中的優(yōu)先級(jí)最低。當(dāng)I cache和D cache同時(shí)產(chǎn)生不命中的信號(hào)時(shí),根據(jù)優(yōu)先級(jí)協(xié)議來(lái)訪問(wèn)L2 cache。

7 結(jié)束語(yǔ)

在命中率方面,采用兩級(jí)cache結(jié)構(gòu)及組關(guān)聯(lián)映射方法提高了cache系統(tǒng)的命中率。在數(shù)據(jù)處理效率方面,由于一級(jí)cache采用哈佛結(jié)構(gòu),指令和數(shù)據(jù)可并行操作,顯著提高了系統(tǒng)的數(shù)據(jù)處理能力。在功耗方面,采用了數(shù)據(jù)體和標(biāo)記相分離的措施,這使得只有在cache命中的情況下,才會(huì)訪問(wèn)數(shù)據(jù)體,可降低系統(tǒng)的功耗。

整個(gè)設(shè)計(jì)采用自頂向下的設(shè)計(jì)流程,用Verilog語(yǔ)言描述整個(gè)系統(tǒng),在synopsys工具下進(jìn)行仿真和綜合。在綜合的結(jié)果中,指令cache的延遲最長(zhǎng),為4.3ns.整個(gè)cache系統(tǒng)的等效門數(shù)約24萬(wàn)個(gè)門。

作者的創(chuàng)新點(diǎn):設(shè)置busy位標(biāo)志總線忙狀態(tài),并制定優(yōu)先級(jí)協(xié)議處理多信號(hào)同時(shí)訪問(wèn)總線的情況,有效解決了總線的訪問(wèn)沖突問(wèn)題。

 

參考文獻(xiàn):

[1] 曲文新等.“龍騰”R2微處理器cache單元的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程與應(yīng)用.2006.17

[2] 謝興軍等.哈佛體系結(jié)構(gòu)的cache控制器設(shè)計(jì). 計(jì)算機(jī)工程.2004.11

[3] Hennessy J L,Patterson.D A Computer Architecture :A Quantiative Approach. 3nd,San Mateo:Morgan Kaufmann Publishers,2002

[4] 王文彬等. P2P Web Cache模型性能可行性分析.微計(jì)算機(jī)信息,2006 6-3.

[5] 吳夢(mèng)潔  Cache controller的設(shè)計(jì)與研究  2004年2月

[6] 程由猛,陳書明.高性能DSP片內(nèi)二級(jí)Cache控制器設(shè)計(jì)與優(yōu)化.第八屆計(jì)算機(jī)工程與工藝全國(guó)年會(huì),2003.4

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

要問(wèn)機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來(lái)年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國(guó)高端家電品牌G50峰會(huì)》于浙江寧波落幕,來(lái)自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢(shì)依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

單片機(jī)

21600 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉