亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        高速緩存單元原理及設(shè)計(jì)實(shí)現(xiàn)

        2014-08-07 12:08:03孫佳佳劉財(cái)坤
        微處理機(jī) 2014年3期
        關(guān)鍵詞:存儲(chǔ)器標(biāo)簽控制器

        孫佳佳,劉財(cái)坤

        (中國電子科技集團(tuán)公司第四十七研究所,沈陽110032)

        高速緩存單元原理及設(shè)計(jì)實(shí)現(xiàn)

        孫佳佳,劉財(cái)坤

        (中國電子科技集團(tuán)公司第四十七研究所,沈陽110032)

        Cache是一種容量小、速度快的存儲(chǔ)器陣列,位于主存和CPU內(nèi)核之間,保存著最近一段時(shí)間處理器涉及到的主存塊內(nèi)容。為了改善系統(tǒng)性能,CPU盡可能從Cache中讀取數(shù)據(jù),減小慢速存儲(chǔ)器給CPU內(nèi)核造成的存儲(chǔ)器訪問瓶頸問題的影響。

        高速緩存;處理器;主存

        1 引 言

        高速緩存(Cache),位于主存儲(chǔ)器和CPU之間,用來提高存儲(chǔ)系統(tǒng)的性能。高速緩沖存儲(chǔ)器是全部用硬件來實(shí)現(xiàn)的,不僅對(duì)應(yīng)用程序員是透明的,對(duì)系統(tǒng)程序員也是透明的。cache與主存儲(chǔ)器之間以塊(cache Line)為單位進(jìn)行數(shù)據(jù)交換。當(dāng)CPU讀取數(shù)據(jù)或者指令時(shí),同時(shí)將讀取到的數(shù)據(jù)或者指令保存到一個(gè)cache塊中。這樣當(dāng)CPU第二次需要讀取相同的數(shù)據(jù)或指令時(shí),可以從相應(yīng)的Cache塊中得到相應(yīng)的數(shù)據(jù)或指令。因?yàn)閏ache的速度遠(yuǎn)遠(yuǎn)大于主存儲(chǔ)器的速度,因此系統(tǒng)整體性能就得到很大提高。

        圖1 帶cache的系統(tǒng)

        2 Cache的工作原理

        在cache存儲(chǔ)系統(tǒng)中,把cache和主存儲(chǔ)器都劃分成相同大小的塊。因此,主存地址可以由塊號(hào)B和塊內(nèi)地址W兩部分組成。同樣,cache的地址也可以由塊號(hào)B和塊內(nèi)地址W組成。當(dāng)CPU要訪問cache時(shí),CPU送來主存地址,放到主存地址寄存器中。通過地址變換部件把主存地址中的塊號(hào)B變換成cache的塊號(hào)B,并放到cache地址寄存器中。同時(shí)將主存地址中的塊內(nèi)地址W直接作為cache的塊內(nèi)地址W裝入到cache地址寄存器中。如果變換成功(稱為cache命中),就用得到的cache地址去訪問cache,從cache中取出數(shù)據(jù)送到CPU中。如果變換不成功,則產(chǎn)生cache失效信息,并且用主存地址訪問主存儲(chǔ)器。從主存儲(chǔ)器中讀出一個(gè)字送往CPU,同時(shí)把包含被訪問字在內(nèi)的一整塊都從主存儲(chǔ)器讀出來,裝入到cache中去。這時(shí),如果cache已經(jīng)滿了,則要采用某種cache替換策略把不常用的塊先調(diào)出到主存儲(chǔ)中相應(yīng)的塊中,以便騰出空間來存放新調(diào)入的塊。由于程序具有局部性特點(diǎn),每次塊失效時(shí)都把一塊(由多個(gè)字組成)調(diào)入到cache中,能夠提高cache的命中率。圖2為cache工作原理圖。

        圖2 cache工作原理

        3 Cache的設(shè)計(jì)實(shí)現(xiàn)

        3.1 地址映像方式設(shè)計(jì)

        Cache一般多采用組相聯(lián)映像設(shè)計(jì)方式。在組相聯(lián)的地址映像和變換方式中,把主存和cache按同樣大小劃分成組(set),每一個(gè)組都由相同的塊數(shù)組成。由于主存儲(chǔ)器的容量比cache的容量大得多,因此,主存的組數(shù)要比cache的組數(shù)多。從主存組到cache組之間采用直接映像方式。在主存中的一組與cache中的一組之間建立了直接映像關(guān)系之后,在兩個(gè)對(duì)應(yīng)的組內(nèi)部采用全相聯(lián)映像方式。

        3.2 替換算法設(shè)計(jì)

        在把主存地址變換成cache地址的過程中,如果發(fā)現(xiàn)cache塊失效,則需要從主存中調(diào)入一個(gè)新塊到cache中。而來自主存中的這個(gè)新塊往往可以裝入到cache的多個(gè)塊中。當(dāng)可以裝入這個(gè)新塊的幾個(gè)cache塊都已經(jīng)裝滿時(shí),就要使用cache替換算法,從那些塊中找出一個(gè)不常用的塊,把它調(diào)回到主存中原來存放它的那個(gè)地方,騰出一個(gè)塊存放從主存中調(diào)來的新塊。替換算法一般有兩種:隨機(jī)替換算法和輪轉(zhuǎn)法。

        隨機(jī)替換算法通過一個(gè)偽隨機(jī)數(shù)發(fā)生器產(chǎn)生一個(gè)偽隨機(jī)數(shù),用新塊將編號(hào)為該偽隨機(jī)數(shù)的cache塊替換掉。這種算法很簡(jiǎn)單,易于實(shí)現(xiàn)。但是它沒有考慮程序的局部性特點(diǎn),也沒有利用歷史上的塊地址流分布情況,因而效果較差。同時(shí)這種算法不易預(yù)測(cè)最壞情況下cache的性能。

        輪轉(zhuǎn)法維護(hù)一個(gè)邏輯計(jì)數(shù)器,利用該計(jì)數(shù)器依次選擇將要被替換出去的cache塊。這種算法容易預(yù)測(cè)最壞情況下cache的性能。但它有一個(gè)明顯缺點(diǎn),在程序發(fā)生很小變化時(shí),可能造成cache平均性能急劇變化。

        3.3 結(jié)構(gòu)設(shè)計(jì)

        Cache有兩個(gè)重要組成部分:Cache控制器和Cache存儲(chǔ)器。Cache存儲(chǔ)器是一個(gè)專用存儲(chǔ)器陣列,它由3部分組成:目錄存儲(chǔ)段、狀態(tài)信息段和數(shù)據(jù)項(xiàng)段,其訪問單元稱為Cache行,每一個(gè)Cache行都由這3部分組成。

        Cache必須知道Cache存儲(chǔ)器中每個(gè)Cache行所對(duì)應(yīng)于每個(gè)主存中的位置,Cache使用目錄存儲(chǔ)段來記錄每個(gè)Cache行是由主存的什么地方拷貝得來。該目錄項(xiàng)就是Cache標(biāo)簽(tag)。同時(shí),Cache存儲(chǔ)器必須存儲(chǔ)來自主存的信息,這些信息被存放在數(shù)據(jù)項(xiàng)段里。在Cache存儲(chǔ)器里還有記錄狀態(tài)信息的狀態(tài)位,比較常見的狀態(tài)位是有效位(valid)和臟位(dirty)。有效位用來標(biāo)記當(dāng)前的Cache行是活動(dòng)的,即有效的;臟位用來標(biāo)記Cache行中所含的內(nèi)容與主存中相應(yīng)的內(nèi)容是否一致。Cache結(jié)構(gòu)如圖3所示。

        圖3 Cache的結(jié)構(gòu)

        圖4為以8Kb大小為例,每路cache有2Kb大小,每塊(Line)cache有8字大小,所以每片cache的塊(Line)數(shù)為64Cache。組相聯(lián)Cache存儲(chǔ)器的一般結(jié)構(gòu)設(shè)計(jì)如圖4所示。

        Cache控制器是完全由硬件實(shí)現(xiàn)的,將主存中的數(shù)據(jù)或者代碼自動(dòng)拷貝到Cache存儲(chǔ)器中,這個(gè)過程自動(dòng)完成,對(duì)應(yīng)用軟件完全透明。

        首先,讀寫存儲(chǔ)器的請(qǐng)求在被傳送到存儲(chǔ)器控制器之前,會(huì)被Cache控制器截獲,Cache控制器將該請(qǐng)求的地址信息分為3部分:標(biāo)簽域、組索引域和數(shù)據(jù)索引域,控制器通過組索引域在Cache存儲(chǔ)器中確定可能包含所要求代碼或數(shù)據(jù)的Cache行位置,Cache行中還包含標(biāo)簽和狀態(tài)位,Cache控制器就是通過他們來確定數(shù)據(jù)的實(shí)際存儲(chǔ)位置。

        接下來,控制器檢查有效位,以確定尋址到的Cache行是否有效,并且將請(qǐng)求地址的標(biāo)簽域值與Cache行的標(biāo)簽域進(jìn)行比較,如果Cache行當(dāng)前有效,并且標(biāo)簽域的比較結(jié)果相等,則Cache命中,否則Cache失效。在Cache失效的情況下,控制器從主存中拷貝整個(gè)Cache行到Cache存儲(chǔ)器中,為CPU提供相應(yīng)的代碼或數(shù)據(jù)。Cache控制器的結(jié)構(gòu)設(shè)計(jì)大致如圖5所示。

        圖4 Cache存儲(chǔ)器組相聯(lián)的一般結(jié)構(gòu)

        圖5 Cache控制器的一般結(jié)構(gòu)

        4 Cache功能驗(yàn)證

        對(duì)于功能驗(yàn)證,采用的驗(yàn)證平臺(tái)為能夠組成的最小系統(tǒng),連接CPU、Flash存儲(chǔ)器、PSRAM存儲(chǔ)器和LCD等部件。驗(yàn)證過程是在復(fù)位之后進(jìn)入工作狀態(tài),將Flash中的程序搬運(yùn)到PSRAM中,然后執(zhí)行PSRAM中的程序。在程序運(yùn)行過程中,通過開關(guān)Cache來驗(yàn)證Cache在系統(tǒng)中起到的作用??梢钥吹?,在打開Cache之后,程序的運(yùn)行速度明顯加快。圖6為驗(yàn)證平臺(tái)結(jié)構(gòu)圖。

        圖6 驗(yàn)證平臺(tái)結(jié)構(gòu)框圖

        4 結(jié)束語

        通過仿真驗(yàn)證,實(shí)現(xiàn)了cache的功能,結(jié)構(gòu)合理。文中的設(shè)計(jì)思想,對(duì)帶有cache的嵌入式CPU的設(shè)計(jì),具有非常大的實(shí)用價(jià)值。

        [1]Steve Furber.ARM SoC體系結(jié)構(gòu)[M].田澤,于敦山,盛世敏,譯.北京:北京航空航天大學(xué)出版社,2002.

        [2]杜春雷,編著.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.

        Theory and Im plementation of Design on Cache

        SUN Jia-jia,LIU Cai-kun
        (The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)

        The cache,as amemory array with low capacity and high speed,is located between the main memory and CPU,which storages the latest contents of the main memory block processed by the processor.For improving the performance of storage system,CPU reads data or instructions from the corresponding Cache block to decrease the effect caused by the low speed of themain memory.

        Cache;CPU;Main memory

        10.3969/j.issn.1002-2279.2014.03.003

        TN4

        :B

        :1002-2279(2014)03-0008-03

        孫佳佳(1980-),女,遼寧沈陽人,工程師,主研方向:集成電路設(shè)計(jì)。

        2013-12-27

        猜你喜歡
        存儲(chǔ)器標(biāo)簽控制器
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        無懼標(biāo)簽 Alfa Romeo Giulia 200HP
        車迷(2018年11期)2018-08-30 03:20:32
        不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
        海峽姐妹(2018年3期)2018-05-09 08:21:02
        標(biāo)簽化傷害了誰
        基于多進(jìn)制查詢樹的多標(biāo)簽識(shí)別方法
        存儲(chǔ)器——安格爾(墨西哥)▲
        模糊PID控制器設(shè)計(jì)及MATLAB仿真
        MOXA RTU控制器ioPAC 5542系列
        倍福 CX8091嵌入式控制器
        基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
        白白在线视频免费观看嘛| v一区无码内射国产| 亚洲av无码一区二区三区天堂古代| 蜜桃日本免费看mv免费版| 区二区三区玖玖玖| 国产在线精品一区二区不卡| 久久av无码精品人妻糸列| 亚洲VA欧美VA国产VA综合| 日本午夜理伦三级好看| 国产av在线观看91| 日本一区二区三区四区高清不卡| 水蜜桃在线观看一区二区| 亚洲中文字幕无码av永久| 国产超碰人人做人人爽av大片| 亚洲精品天堂成人片av在线播放| 久久久天堂国产精品女人| 亚洲碰碰人人av熟女天堂| 午夜无码熟熟妇丰满人妻| 国产一级自拍av播放| 亚洲国产中文字幕在线视频综合| 免费国产线观看免费观看 | 99久久亚洲精品加勒比| 亚洲天堂av在线免费播放| 亚洲一区二区免费在线观看视频| 亚洲国产av无码精品| 亚洲欧美乱日韩乱国产| 麻豆精品久久久久久久99蜜桃| 亚洲精品无码不卡av| 无码高潮久久一级一级喷水| 亚洲中文字幕熟女五十| 中国男男女在线免费av| 嫩草伊人久久精品少妇av| 国产成人亚洲综合色婷婷| 极品美女高潮喷白浆视频| 亚洲AV秘 片一区二区三区 | 久久综合久中文字幕青草| 日韩av一区二区三区精品久久| 国产69精品久久久久9999apgf| 公粗挺进了我的密道在线播放贝壳| 手机看片国产日韩| 色偷偷亚洲av男人的天堂|