<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

          Cache在POWERPC處理器板中的應(yīng)用

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

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

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201949.htm

          a.JPG


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

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

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




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();