1. 程式人生 > >第五章存儲體系5_2

第五章存儲體系5_2

機制 位置 計算 4.2 活性 因此 5.1 其中 數據交換

5.3主存儲器與CPU相連

現代微型計算機PC的主存儲器基本包括兩個部分:一個是ROM(只讀存儲器),就是不受電源影響,非易失性存儲器。一般存放的是生產廠家燒寫的固定指令和數據。另一個組成部分是RAM(隨機讀寫存儲器)

5.3.2存儲容量的擴展

  1. 位擴展:目的是增加同一個地址的存儲單元位數。
  2. 字擴展:是為了增加存儲器中字的數量,即容量擴展。
  3. 字位擴展:先位擴展再字擴展。

    5.3.3主存儲器與CPU的連接

    這是重點也是難點

    5.4高速存儲器

    提高存儲器速度有以下幾條有效途徑:
  4. 主存采用更加高速的技術來縮短存取器的讀取時間,或者加長存儲器的字長,使CPU一次可存取的數據寬度加長。
  5. 采用並行操作的多端口存儲器。
  6. 在CPU和主存之間加入一個高速緩沖存儲器(Cache),以縮短讀取時間。
  7. 在每個存儲周期中存取幾個字。

    5.4.1雙端口存儲器

    是指同一個存儲器具有兩組相互獨立的讀/寫控制線,允許兩個獨立的CPU或控制器異步的訪問存儲單元。

    5.4.2多交叉存儲器

  • 多交叉存儲器可以在不改變每個存儲體存儲周期的情況下,提高存儲器的帶寬
  • 采用M個存儲體流水式並行存取得方式,對CPU連續訪問的M個字成塊傳送,可以大大提高存儲器的帶寬。
  • 每個存儲體的字長都等於數據總線寬度。
  1. 帶寬=信息量(N個字*字長)/單位時間(讀取分子字數所花的時間)
  2. 模塊數就是體數M,字長乘以字數就是信息總量,時間用T(存取周期)+(N-1)* t(總線傳送周期)

    5.4.3相聯存儲器

    相聯存儲器是一種隨機存取類的存儲器,在相聯存儲器中,一個字是通過他的部分內容而不是他的地址進行檢索的。

    5.5高速緩沖存儲器

  • 它由高速SRAM組成
  • Cache不是主存儲器容量的擴充,它保存的內容是主存儲其中某些單元的副本。

    5.5.1Cache的基本原理

  1. CPU與Cache之間的數據交換以字節為單位,而Cache與主存儲器之間的數據交換以字塊為單位。
  2. 在Cache中數據塊的大小稱為行,在主存中的數據塊的大小稱為塊,塊與行是等長的。
  3. Cache除了包含存儲體系,還包含控制邏輯。
  4. 根據CPU訪問讀一個字的情況:
    1. 讀命中
    2. 讀不命中
    3. 解決讀不命中的方法:
      1. 將主存中的該字的數據塊復制到Cache,然後將這個字傳給CPU。
      2. 啟動常規的主存讀周期,把該字從主存中讀出並送到CPU,於此同時,把字的數據塊從主存中讀出送到Cache。
  5. 根據CPU寫一個字的情況:
    1. 寫不命中,直接寫入主存中,且不寫入Cache
    2. 寫命中,有兩種方式處理:
      1. 對主存寫操作也對Cache進行,稱為“寫貫穿策略”
      2. 只對Cache操作,僅當Cache的行被替換時,相應主存的內容才被修改,稱為“寫回策略”
  6. Cache的命中率。

    5.5.2主存儲器與Cache的地址映射方式

    1.直接映射

  7. 直接映射是一種多對一的映射關系,主存的一塊只能復制到Cache的一個特定行位置上去。
  8. 主存地址被劃分成塊內地址b、字塊地址c和高位標記t(m-c)三個部分。
  9. CPU給出m+b為主存地址,Cache中的控制邏輯將中間的c位地址取出。
  10. 直接映射方式的缺點是機制不靈活,Cache命中率低。

    2.全相聯映射

  11. 全相聯映射中,主存地址被劃分成塊內地址和高位標記地址兩部分。
  12. CPU給出了一個字m+b的主存地址,為了實現快速檢索,主存地址中的m位的塊號與Cache中所有行標記同時在比較器中比較。
  13. 優點是機制靈活、命中率高。
  14. 缺點是比較器電路難於設計和實現,因此只適合於小容量的Cache。

    3.組相聯映射

  15. 組相聯的方式是將Cache分成2^(c-r)組,每組r行,主存中的字塊放Cache到哪個組是固定的,映射到哪一行是不確定的。有如下函數關系:j = (i mod 2^(c-r))乘以 2^r + k,其中,0 <= k <= z^r - 1
  16. 大大增加了映射的靈活性,提高了命中率。

第五章存儲體系5_2