<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > Cache在POWERPC處理器板中的應用

Cache在POWERPC處理器板中的應用

作者: 時(shí)間:2013-03-25 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:高速緩沖存儲器技術(shù)是現代設計中的核心技術(shù),文中詳細討論了如何應用在計算機板中。
關(guān)鍵詞:L1;L2Cache;主存;命中率

Gibson提出高速緩存存儲器(Cache)技術(shù)后,1969年首先在IBM360/80計算機上得以實(shí)現這種技術(shù)?,F在,這一技術(shù)不僅為大、中型計算機而且也為小型、微型計算機廣泛采用。解決主存與CPU的速度差異問(wèn)題的技術(shù)措施有多種,設置Cache是提高存儲系統速度一個(gè)有效方法。 Cache是介于主存和CPU之間、速度數倍于主存而容量較小的快速存儲器,它的作用是使CPU能使用一個(gè)速度與CPU相當,而容量與主存相同的存儲系統。使用這種方法可使微機系統在成本增加不大的前提下性能得到較大提高。
一般的中只有一級Cache,它與主存儲器構成一個(gè)兩級的存儲系統。一些高性能的都采用兩級Cache,第一級Cache在CPU內部,容量很小,速度很快;第二級Cache在主板上,容量較大,速度比第一級低5倍左右。
Cache與主存儲器相比容量較小,它所保存的信息只是主存內容的一個(gè)子集。特別要注意的是,CPU與Cache之間的信息交換以“字”為單位,而Cache與主存之間的信息交換是以“塊”為單位,一個(gè)塊由若干字組成,是定長(cháng)的。塊的大小通常取一個(gè)主存周期所訪(fǎng)問(wèn)到的字節數。
當CPU試圖讀取主存一個(gè)字時(shí),發(fā)出此字內存地址到Cache和主存,此時(shí)Cache控制邏輯依據地址進(jìn)行判斷此字當前是否在Cache中。若是,此字立即遞交給CPU,否則,要用主存讀取周期把這個(gè)字從主存讀出送到CPU,與此同時(shí)把含有這個(gè)字的整個(gè)數據塊從主存讀出送到Cache中。由于程序的存儲器訪(fǎng)問(wèn)具有局部性,當為滿(mǎn)足一次訪(fǎng)問(wèn)需求而取來(lái)一數據塊時(shí),下面的多次訪(fǎng)問(wèn)很可能讀取此塊中的其他字。

1 局部性原理和命中率
對大量典型程序運行情況的分析結果表明,在一個(gè)較短的時(shí)間間隔內,程序對存儲器的訪(fǎng)問(wèn)不是任意的、隨機的,而是對某一局部范圍的存儲器地址頻繁訪(fǎng)問(wèn),對此范圍以外地址則訪(fǎng)問(wèn)很少,這就是程序訪(fǎng)問(wèn)的局部性。根據程序的局部性原理,可以在主存和CPU之間設置一個(gè)高速的容量相對較小的存儲器,把正在執行的指令地址附近的一部分指令或數據從主存調入這個(gè)存儲器,供CPU在一段時(shí)間內使用。這對提高程序的運行速度有很大的作用。這個(gè)介于主存和CPU之間的高速小容量存儲器稱(chēng)作高速緩沖存儲器(Cache)。CPU訪(fǎng)問(wèn)存儲器時(shí),首先檢查Cache,如果訪(fǎng)問(wèn)的數據在Cache中,則CPU就能很快完成訪(fǎng)問(wèn),這種情況稱(chēng)之命中。命中率越高,正確獲取數據的可靠性就越大。一般來(lái)說(shuō),Cache的命中率決定于Cache容量、Cache控制算法和Cache的結構。設計較好的Cache系統,命中率應存90%以上。至于沒(méi)有命中的數據,CPU只好直接從主存中獲取,同時(shí)也把它復制到Cache中,以備下次訪(fǎng)問(wèn)。

2 Cache一致性與寫(xiě)策略
在由Cache和主存儲器共同構成的Cache存儲系統中,從工作原理可知,CPU只對Cache某行信息進(jìn)行修改,而主存儲器內容卻沒(méi)有修改,而其他的主控者(處理器、I/O控制器等)全由主存儲器得到過(guò)時(shí)的信息。同樣,若其他主控者修改主存儲器信息,而Cache卻沒(méi)有得到修改相應行的通知,CPU會(huì )由Cache得到過(guò)時(shí)的信息。這兩方面都會(huì )導致Cache與主存容不一致,也就是Cache的一致性問(wèn)題。
為了維護Cache的一致性必須從兩方面入手,一方面涉及到處理器所采用的Cache寫(xiě)策略,另一方面涉及到處理器所采用的Cache一致性協(xié)議。
2.1 寫(xiě)直達法(Write—Through)
中文譯名稱(chēng)為寫(xiě)貫通法。顧名思義,它的做法是當Cache寫(xiě)命中,Cache與主存同時(shí)發(fā)生寫(xiě)修改。這種策略顯然較好地維護了Cache與主存的內容一致性,但這并不等于說(shuō)全部解決一致性問(wèn)題。例如在多處理器系統中各CPU都有自己的Cache,一個(gè)主存塊若在多個(gè)Cache中都有一份拷貝的話(huà),某個(gè)CPU以寫(xiě)直達法來(lái)修改它的Cache和主存時(shí),其他Cache中的原拷貝就過(guò)時(shí)了。即使在單處理器系統中,也有I/O設備不經(jīng)過(guò)Cache向主存寫(xiě)入的情況。
2.2 寫(xiě)回法(Write—Back)
當CPU對Cache寫(xiě)命中時(shí),只修改Cache的內容不立即寫(xiě)入主存,只當此行被換出時(shí)才寫(xiě)回主存。這種策略使Cache在CPU-主存之間,不僅在讀方向而且在寫(xiě)方向上都起到高速緩存作用。對一Cache行的多次寫(xiě)命中都在Cache中快速完成修改,只是需要替換時(shí)才寫(xiě)回主存,減少了訪(fǎng)問(wèn)主存的次數從而提高了效率。
2.3 寫(xiě)一次法(Write—Once)
寫(xiě)一次法是一種基于寫(xiě)回法又結合了寫(xiě)直達法的寫(xiě)策略,即寫(xiě)命中和寫(xiě)未命中的處理與寫(xiě)回法基本相同,只是第一次寫(xiě)命中時(shí)要同時(shí)寫(xiě)入主存。這種方法主要用于某些處理器的片內Cache。
L1Cache在中的使用MPC755處理器內部Cache的執行有以下特點(diǎn):
分別有兩個(gè)32-Kbyte的數據和指令Cache;
指令和數據Cache有8種設置聯(lián)系方式;
Cache的地址是物理尋址的,物理地址的標簽儲藏在Cache的地址錄中;
每一種Cache的打開(kāi)與設置,可以通過(guò)設置寄存器HID0和特殊的寄存器SPR來(lái)設置。
2.4 在處理器中設置Cache
在Memory中設置WIMG。其中,WIM改變是在頁(yè)表方式和塊方式下進(jìn)行改變和設置的。
配置MMU寄存器,對MMU寄存器的塊模式進(jìn)行配置。
配置HID0寄存器的Cache管理化。

3 L2Cache在POWERPC中的使用
PPC755配置成1M的L2Cache,如下圖。

本文引用地址:http://dyxdggzs.com/article/201949.htm

a.JPG


3.1 L2Cache的初始化
清除L2CR的L2E,L2CR地址為“1017”;
設置L2CR的參數;
置 L2CR[L2I]位,執行L2Cahe的global_invalidata動(dòng)作;
判 L2CR[IP]位,如果為“1”,則表示global_invalidata動(dòng)作完成,否則繼續判,直到變?yōu)?ldquo;1”;
如果 L2CR[IP]位變?yōu)?ldquo;1”,則清除L2CR[L2I]位;
使能 L2Cache,設置L2CR[L2E]位為“1”。
3.2 2Cache有效性測試
在原有程序基礎上,初始化L2Cache,使能L1Cache和L2Cache;
運行某段程序(或任務(wù)),通過(guò)設置輸出離散量的高低電平,觀(guān)察示波器波形長(cháng)短,來(lái)判斷L2Cache的有效性。

4 結束語(yǔ)
在計算機系統中,Cache技術(shù)有效地解決了處理器和存儲器速度問(wèn)不匹配問(wèn)題。通過(guò)對POWERPC處理器L1Cache與L2Cache的使用,使POW ERPC處理器的性能得到了很大的提高。

存儲器相關(guān)文章:存儲器原理




關(guān)鍵詞: POWERPC Cache 處理器 中的應用

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>