色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM存儲(chǔ)器之:高速緩沖存儲(chǔ)器Cache

          ARM存儲(chǔ)器之:高速緩沖存儲(chǔ)器Cache

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

          本文引用地址:http://cafeforensic.com/article/257011.htm

          15.3Cache

          當(dāng)?shù)谝淮鶵ISC微處理器剛出現(xiàn)時(shí),標(biāo)準(zhǔn)存儲(chǔ)器元件的速度比當(dāng)時(shí)微處理器的速度快。很快,半導(dǎo)體工藝技術(shù)的進(jìn)展被用來(lái)提高微處理器的速度。標(biāo)準(zhǔn)DRAM部件雖然也快了一些,但其發(fā)展的主要精力則放在提高存儲(chǔ)容量上。

          1980年,典型DRAM部件的容量為4KB。1981年和1982年開發(fā)出了16KB芯片。這些部件的隨機(jī)訪問速率為3MHz或4MHz,局部訪問(頁(yè)模式)時(shí)速率大約快1倍。當(dāng)時(shí)的微處理器每秒需要訪問存儲(chǔ)器2M次。

          到2000年,DRAM部件每片的容量到達(dá)256Mbit,隨機(jī)訪問速率在30MHz左右。微處理器每秒需要訪問存儲(chǔ)器幾百兆次。如果處理器速率遠(yuǎn)高于存儲(chǔ)器,那么只能借助Cache才能滿足其全部性能。

          Cache存儲(chǔ)器是一個(gè)容量小但存取速度非??斓拇鎯?chǔ)器,它保存最近用到的存儲(chǔ)器數(shù)據(jù)拷貝。對(duì)于程序員來(lái)說(shuō),Cache是透明的。它自動(dòng)決定保存哪些數(shù)據(jù)、覆蓋哪些數(shù)據(jù)?,F(xiàn)在Cache通常與處理器在同一芯片上實(shí)現(xiàn)。Cache能夠發(fā)揮作用是因?yàn)槌绦蚓哂芯植啃蕴匦?。所謂局部性就是指,在任何特定的時(shí)間,微處理器趨于對(duì)相同區(qū)域的數(shù)據(jù)(如堆棧)多次執(zhí)行相同的指令(如循環(huán))。

          Cache經(jīng)常與寫緩存器(writebuffer)一起使用。寫緩存器是一個(gè)非常小的先進(jìn)先出(FIFO)存儲(chǔ)器,位于處理器核與主存之間。使用寫緩存的目的是,將處理器核和Cache從較慢的主存寫操作中解脫出來(lái)。當(dāng)CPU向主存儲(chǔ)器做寫入操作時(shí),它先將數(shù)據(jù)寫入到寫緩存區(qū)中,由于寫緩存器的速度很高,這種寫入操作的速度也將很高。寫緩存區(qū)在CPU空閑時(shí),以較低的速度將數(shù)據(jù)寫入到主存儲(chǔ)器中相應(yīng)的位置。

          通過引入Cache和寫緩存區(qū),存儲(chǔ)系統(tǒng)的性能得到了很大的提高,但同時(shí)也帶來(lái)了一些問題。比如,由于數(shù)據(jù)將存在于系統(tǒng)中的不同的物理位置,可能造成數(shù)據(jù)的不一致性;由于寫緩存區(qū)的優(yōu)化作用,可能有些寫操作的執(zhí)行順序不是用戶期望的順序,從而造成操作錯(cuò)誤。

          15.3.1Cache的分類

          Cache有多種構(gòu)造方法。在最高層次,微處理器可以采用下面兩種組織中的一組。

          (1)統(tǒng)一Cache。指令和數(shù)據(jù)用同一個(gè)Cache。結(jié)構(gòu)如圖15.8所示。

          圖15.8統(tǒng)一的指令Cache和數(shù)據(jù)Cache

          (2)指令和數(shù)據(jù)分開的Cache。有時(shí)這種組織方式也被稱為改進(jìn)的哈佛結(jié)構(gòu)。

          圖15.9顯示了這種組織方式。

          這兩種組織方式各有優(yōu)缺點(diǎn)。統(tǒng)一Cache能夠根據(jù)當(dāng)前程序的需要自動(dòng)調(diào)整指令在Cache存儲(chǔ)器的比例,比固定劃分的有更好的性能。另一方面,分開的Cache使Load/Store指令能夠單周期執(zhí)行。

          15.3.2Cache性能的衡量

          只有當(dāng)所需要的Cache存儲(chǔ)器內(nèi)容已經(jīng)在Cache時(shí),微處理器才能以高時(shí)鐘速率工作。因此,系統(tǒng)的總體性能就可以用存儲(chǔ)器訪問中命中Cache的比例來(lái)衡量。當(dāng)要訪問的內(nèi)容在Cache時(shí)稱為命中(hit),而要訪問的內(nèi)容不在Cache時(shí)稱為未命中(miss)。在給定時(shí)間間隔內(nèi),Cache命中的次數(shù)與總的存儲(chǔ)器請(qǐng)求次數(shù)的比值被稱為命中率。

          圖15.9指令Cache和數(shù)據(jù)分開的Cache

          命中率用下面的公式進(jìn)行計(jì)算:

          命中率=(Cache命中次數(shù)÷存儲(chǔ)器請(qǐng)求次數(shù))×100%

          未命中率與命中率形式相似,即在給定時(shí)間間隔內(nèi),Cache未命中的總次數(shù)除以總的存儲(chǔ)器請(qǐng)求次數(shù)所得的百分比。未命中率與命中率之和等于100。

          目前設(shè)計(jì)良好的處理器,Cache的未命中率只有百分之幾。未命中率依賴多個(gè)Cache參數(shù),包括Cache大小和組織。

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



          上一頁(yè) 1 2 3 4 5 6 7 8 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉