一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機配件>內(nèi)存>

存儲器的層次結(jié)構(gòu)原理圖解分析

2010年04月13日 16:16 www.www27dydycom.cn 作者:佚名 用戶評論(0
關(guān)鍵字:存儲器(160733)

存儲器的層次結(jié)構(gòu)原理圖解分析


? 學習目錄:

??? 理解多級存儲層次的思想及其作用;

??? 掌握存儲層次的三個性能參數(shù)的定義及計算方法;

??? 掌握“Cache-主存”層次、“主存-輔存”層次及其區(qū)別;

??? 理解存儲層次的四個問題。

??? 正文:

??? 4.1存儲器的層次結(jié)構(gòu)

??? 存儲器是計算機的核心部件之一。其性能直接關(guān)系到整個計算機系統(tǒng)性能的高低。如何以合理的價格,設(shè)計出容量和速度滿足計算機系統(tǒng)要求的存儲器系統(tǒng),始終是計算機體系結(jié)構(gòu)設(shè)計中的關(guān)鍵問題之一。 計算機軟件設(shè)計者和計算機用戶對于存儲器容量的需求是無止境的,他們希望容量越大越好,而且速度還要快,價格要便宜。僅用單一的一種存儲器是很難達到這一目標的。較好的方法是采用存儲層次,用多種存儲器構(gòu)成存儲器的層次結(jié)構(gòu)。

?

4.1.1從單級存儲器到多級存儲器

從用戶的角度來看,存儲器的三個主要指標是:容量、速度和價格(本節(jié)中,“價格”均指每位價格)。那么,究竟一個存儲器的容量應(yīng)是多大、速度應(yīng)多快、價格應(yīng)是多少才比較合理呢?
  先來看看人們對這三個指標的期望。

  然而,人們對于存儲器的容量大、速度快、價格低的三個要求是相互矛盾的。綜合考慮不同的存儲器實現(xiàn)技術(shù),可以發(fā)現(xiàn):
  (1) 速度越快,每位價格就越高;
  (2) 容量越大,每位價格就越低;
  (3) 容量越大,速度越慢。
  
  如果只采用其中的一種技術(shù),存儲器設(shè)計者就會陷入困境:從實現(xiàn)“容量大、價格低”的要求來看,應(yīng)采用能提供大容量的存儲器技術(shù);但從滿足性能需求的角度來看,又應(yīng)采用昂貴且容量較小的快速存儲器。走出這種困境的唯一方法,是采用多種存儲器技術(shù),構(gòu)成多級存儲層次。

要實現(xiàn)上述目標,必須做到:存儲器若越靠近 CPU,則 CPU 對它的訪問頻度越高,而且最好大多數(shù)的訪問都能在 M1 完成。這是通過利用 局部性原理來實現(xiàn)的。局部性原理指出,絕大多數(shù)程序訪問的指令和數(shù)據(jù)是相對簇聚的。我們可以把近期內(nèi) CPU 使用的程序和數(shù)據(jù)放在盡可能靠近 CPU 的存儲器中。

??? 4.1.2存儲層次的性能參數(shù)

??? 為簡單起見,我們僅考慮由 M1 和 M2 兩個存儲器構(gòu)成的兩級存儲層次結(jié)構(gòu)。并假設(shè) M1 的容量、訪問時間和每位價格分別為 S1,TA1,C1,M2 的參數(shù)為 S2,TA2,C2 。

??? 1. 存儲層次的平均每位價格C

??? 顯然,當 S1<<S2 時,C ≈ C2 。

??? 2. 命中率H

??? 命中率為 CPU 訪問存儲系統(tǒng)時,在 M1 中找到所需信息的概率。命中率一般用模擬的方法來確定,也就是通過模擬執(zhí)行一組有代表性的程序,分別記錄下訪問 M1 和 M2 的次數(shù) N1 和 N2 ,則:

為了突出反映不命中的情況,我們還經(jīng)常使用不命中率或失效率 F 這個參數(shù)。它是指CPU 訪存時,在 M1 中找不到所需信息的概率。顯然

??? F=1-H

??? 3. 平均訪問時間TA

??? TA = HTA1+(1-H)(TA1+TM)

??? = TA1+(1-H)TM

??? 或   TA = TA1+FTM

??? 其中: TA1 -- 命中時間

??? TM -- 失效開銷

4.1.3“cache-主存”和“主存-輔存”層次

??? “Cache-主存”和“主存-輔存”層次是常見的兩種層次結(jié)構(gòu),幾乎所有當代計算機都同時具有這兩種層次。我們知道,程序在執(zhí)行前需先調(diào)入主存(在虛擬存儲器中也是如此,只是不必一次全部調(diào)入,而是調(diào)入一部分執(zhí)行一部分)。因此,下面我們將從主存的角度來討論這兩個存儲層次。

??? 1. “Cache-主存”層次

??? (1) CPU和主存之間在性能上的差距越來越大

現(xiàn)代計算機都采用 Cache 來解決這個問題。

??? (2) “Cache-主存”層次

??? 這是在 CPU 和主存之間增加一級速度快、但容量較小且每位價格較高的高速緩沖存儲器(Cache)。借助于輔助軟硬件,它與主存構(gòu)成一個有機的整體,以彌補主存速度的不足。這個層次的工作主要由硬件實現(xiàn)。

?2.“主存-輔存”層次

??? “主存-輔存”層次的目的是為了彌補主存容量的不足。它是在主存外面增加一個容量更大、每位價格更低、但速度更慢的存儲器(稱為輔存,一般是硬盤)。它們依靠輔助軟硬件的作用,構(gòu)成一個整體,如圖4.1.6所示。“主存-輔存”層次常被用來實現(xiàn)虛擬存儲器,向編程人員提供大量的程序空間。

3. 兩者的比較

??? 表4.1對“Cache-主存”和“主存-輔存”層次做了一個簡單的比較。

??? 表4.1 “Cache-主存”與“主存-輔存”層次的區(qū)別

4.1.4存儲層次的四個問題

??? 后面幾節(jié)將論述“Cache-主存”層次和虛擬存儲器(“主存-輔存”)。對于每一個層次,都將討論以下四個問題:

??? 1. 當把一個塊調(diào)入高一層(靠近CPU)存儲器時,可以放到哪些位置上? (映象規(guī)則)

??? 動畫演示

??? 2. 當所要訪問的塊在高一層存儲器中時,如何找到該塊? (查找算法)

??? 動畫演示

??? 3. 當發(fā)生失效時,應(yīng)替換哪一塊? (替換算法)

??? 4. 當進行寫訪問時,應(yīng)進行哪些操作? (寫策略)

??? 動畫演示

??? 搞清楚這些問題,對于理解一個具體存儲層次的工作原理以及設(shè)計時的考慮是十分重要的。

非常好我支持^.^

(6) 35.3%

不好我反對

(11) 64.7%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?