存儲(chǔ)器的層次結(jié)構(gòu)原理圖解分析
存儲(chǔ)器的層次結(jié)構(gòu)原理圖解分析
? 學(xué)習(xí)目錄:
??? 理解多級(jí)存儲(chǔ)層次的思想及其作用;
??? 掌握存儲(chǔ)層次的三個(gè)性能參數(shù)的定義及計(jì)算方法;
??? 掌握“Cache-主存”層次、“主存-輔存”層次及其區(qū)別;
??? 理解存儲(chǔ)層次的四個(gè)問(wèn)題。
??? 正文:
??? 4.1存儲(chǔ)器的層次結(jié)構(gòu)
??? 存儲(chǔ)器是計(jì)算機(jī)的核心部件之一。其性能直接關(guān)系到整個(gè)計(jì)算機(jī)系統(tǒng)性能的高低。如何以合理的價(jià)格,設(shè)計(jì)出容量和速度滿(mǎn)足計(jì)算機(jī)系統(tǒng)要求的存儲(chǔ)器系統(tǒng),始終是計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)中的關(guān)鍵問(wèn)題之一。 計(jì)算機(jī)軟件設(shè)計(jì)者和計(jì)算機(jī)用戶(hù)對(duì)于存儲(chǔ)器容量的需求是無(wú)止境的,他們希望容量越大越好,而且速度還要快,價(jià)格要便宜。僅用單一的一種存儲(chǔ)器是很難達(dá)到這一目標(biāo)的。較好的方法是采用存儲(chǔ)層次,用多種存儲(chǔ)器構(gòu)成存儲(chǔ)器的層次結(jié)構(gòu)。
?4.1.1從單級(jí)存儲(chǔ)器到多級(jí)存儲(chǔ)器
從用戶(hù)的角度來(lái)看,存儲(chǔ)器的三個(gè)主要指標(biāo)是:容量、速度和價(jià)格(本節(jié)中,“價(jià)格”均指每位價(jià)格)。那么,究竟一個(gè)存儲(chǔ)器的容量應(yīng)是多大、速度應(yīng)多快、價(jià)格應(yīng)是多少才比較合理呢?
先來(lái)看看人們對(duì)這三個(gè)指標(biāo)的期望。
然而,人們對(duì)于存儲(chǔ)器的容量大、速度快、價(jià)格低的三個(gè)要求是相互矛盾的。綜合考慮不同的存儲(chǔ)器實(shí)現(xiàn)技術(shù),可以發(fā)現(xiàn):
(1) 速度越快,每位價(jià)格就越高;
(2) 容量越大,每位價(jià)格就越低;
(3) 容量越大,速度越慢。
如果只采用其中的一種技術(shù),存儲(chǔ)器設(shè)計(jì)者就會(huì)陷入困境:從實(shí)現(xiàn)“容量大、價(jià)格低”的要求來(lái)看,應(yīng)采用能提供大容量的存儲(chǔ)器技術(shù);但從滿(mǎn)足性能需求的角度來(lái)看,又應(yīng)采用昂貴且容量較小的快速存儲(chǔ)器。走出這種困境的唯一方法,是采用多種存儲(chǔ)器技術(shù),構(gòu)成多級(jí)存儲(chǔ)層次。
要實(shí)現(xiàn)上述目標(biāo),必須做到:存儲(chǔ)器若越靠近 CPU,則 CPU 對(duì)它的訪(fǎng)問(wèn)頻度越高,而且最好大多數(shù)的訪(fǎng)問(wèn)都能在 M1 完成。這是通過(guò)利用 局部性原理來(lái)實(shí)現(xiàn)的。局部性原理指出,絕大多數(shù)程序訪(fǎng)問(wèn)的指令和數(shù)據(jù)是相對(duì)簇聚的。我們可以把近期內(nèi) CPU 使用的程序和數(shù)據(jù)放在盡可能靠近 CPU 的存儲(chǔ)器中。
??? 4.1.2存儲(chǔ)層次的性能參數(shù)
??? 為簡(jiǎn)單起見(jiàn),我們僅考慮由 M1 和 M2 兩個(gè)存儲(chǔ)器構(gòu)成的兩級(jí)存儲(chǔ)層次結(jié)構(gòu)。并假設(shè) M1 的容量、訪(fǎng)問(wèn)時(shí)間和每位價(jià)格分別為 S1,TA1,C1,M2 的參數(shù)為 S2,TA2,C2 。
??? 1. 存儲(chǔ)層次的平均每位價(jià)格C
??? 顯然,當(dāng) S1<<S2 時(shí),C ≈ C2 。
??? 2. 命中率H
??? 命中率為 CPU 訪(fǎng)問(wèn)存儲(chǔ)系統(tǒng)時(shí),在 M1 中找到所需信息的概率。命中率一般用模擬的方法來(lái)確定,也就是通過(guò)模擬執(zhí)行一組有代表性的程序,分別記錄下訪(fǎng)問(wèn) M1 和 M2 的次數(shù) N1 和 N2 ,則:
為了突出反映不命中的情況,我們還經(jīng)常使用不命中率或失效率 F 這個(gè)參數(shù)。它是指CPU 訪(fǎng)存時(shí),在 M1 中找不到所需信息的概率。顯然
??? F=1-H
??? 3. 平均訪(fǎng)問(wèn)時(shí)間TA
??? TA = HTA1+(1-H)(TA1+TM)
??? = TA1+(1-H)TM
??? 或 TA = TA1+FTM
??? 其中: TA1 -- 命中時(shí)間
??? TM -- 失效開(kāi)銷(xiāo)
4.1.3“cache-主存”和“主存-輔存”層次
??? “Cache-主存”和“主存-輔存”層次是常見(jiàn)的兩種層次結(jié)構(gòu),幾乎所有當(dāng)代計(jì)算機(jī)都同時(shí)具有這兩種層次。我們知道,程序在執(zhí)行前需先調(diào)入主存(在虛擬存儲(chǔ)器中也是如此,只是不必一次全部調(diào)入,而是調(diào)入一部分執(zhí)行一部分)。因此,下面我們將從主存的角度來(lái)討論這兩個(gè)存儲(chǔ)層次。
??? 1. “Cache-主存”層次
??? (1) CPU和主存之間在性能上的差距越來(lái)越大
現(xiàn)代計(jì)算機(jī)都采用 Cache 來(lái)解決這個(gè)問(wèn)題。
??? (2) “Cache-主存”層次
??? 這是在 CPU 和主存之間增加一級(jí)速度快、但容量較小且每位價(jià)格較高的高速緩沖存儲(chǔ)器(Cache)。借助于輔助軟硬件,它與主存構(gòu)成一個(gè)有機(jī)的整體,以彌補(bǔ)主存速度的不足。這個(gè)層次的工作主要由硬件實(shí)現(xiàn)。
?2.“主存-輔存”層次
??? “主存-輔存”層次的目的是為了彌補(bǔ)主存容量的不足。它是在主存外面增加一個(gè)容量更大、每位價(jià)格更低、但速度更慢的存儲(chǔ)器(稱(chēng)為輔存,一般是硬盤(pán))。它們依靠輔助軟硬件的作用,構(gòu)成一個(gè)整體,如圖4.1.6所示。“主存-輔存”層次常被用來(lái)實(shí)現(xiàn)虛擬存儲(chǔ)器,向編程人員提供大量的程序空間。
3. 兩者的比較
??? 表4.1對(duì)“Cache-主存”和“主存-輔存”層次做了一個(gè)簡(jiǎn)單的比較。
??? 表4.1 “Cache-主存”與“主存-輔存”層次的區(qū)別
4.1.4存儲(chǔ)層次的四個(gè)問(wèn)題
??? 后面幾節(jié)將論述“Cache-主存”層次和虛擬存儲(chǔ)器(“主存-輔存”)。對(duì)于每一個(gè)層次,都將討論以下四個(gè)問(wèn)題:
??? 1. 當(dāng)把一個(gè)塊調(diào)入高一層(靠近CPU)存儲(chǔ)器時(shí),可以放到哪些位置上? (映象規(guī)則)
??? 動(dòng)畫(huà)演示
??? 2. 當(dāng)所要訪(fǎng)問(wèn)的塊在高一層存儲(chǔ)器中時(shí),如何找到該塊? (查找算法)
??? 動(dòng)畫(huà)演示
??? 3. 當(dāng)發(fā)生失效時(shí),應(yīng)替換哪一塊? (替換算法)
??? 4. 當(dāng)進(jìn)行寫(xiě)訪(fǎng)問(wèn)時(shí),應(yīng)進(jìn)行哪些操作? (寫(xiě)策略)
??? 動(dòng)畫(huà)演示
??? 搞清楚這些問(wèn)題,對(duì)于理解一個(gè)具體存儲(chǔ)層次的工作原理以及設(shè)計(jì)時(shí)的考慮是十分重要的。
非常好我支持^.^
(6) 35.3%
不好我反對(duì)
(11) 64.7%
相關(guān)閱讀:
- [電子說(shuō)] uboot的基本概念和啟動(dòng)流程分析 2023-10-24
- [控制/MCU] 單片機(jī)的三大功能 2023-10-24
- [電子說(shuō)] 怎樣延長(zhǎng)半導(dǎo)體元器件的壽命呢? 2023-10-24
- [電子說(shuō)] 您的存儲(chǔ)器堆疊了嗎?—賽靈思推出16GB HBM FPGA 2023-10-24
- [制造/封裝] 什么是引線(xiàn)鍵合?引線(xiàn)鍵合的演變 2023-10-24
- [電子說(shuō)] 物聯(lián)網(wǎng)無(wú)線(xiàn)傳感器節(jié)點(diǎn)可使用國(guó)產(chǎn)鐵電存儲(chǔ)器PB85RS2MC 2023-10-24
- [電子說(shuō)] 應(yīng)用在PC機(jī)中的低功耗觸摸感應(yīng)芯片 2023-10-24
- [電子說(shuō)] 3線(xiàn)串行數(shù)據(jù)通訊EEPROM的使用 2023-10-23
( 發(fā)表人:admin )