1. 程式人生 > >第三章 存儲器的層次結構

第三章 存儲器的層次結構

wid 標記 分類 字長 工作 開始 ash 隊列 地址映射

總覽:

  1. 存儲器的分類
  2. 存儲器的層次化結構
  3. 半導體隨機存取存儲器
    1. SRAM存儲器
    2. DRAM存儲器
    3. 只讀存儲器
    4. Flash存儲器
  4. 主存儲器與CPU的連接
  5. 雙口RAM和多模塊存儲器
  6. 高速緩沖存儲器
    1. Cache的基本工作原理
    2. Cache和主存之間的映射方式
    3. Cache中主存塊的替換算法
    4. Cache寫操作策略
  7. 虛擬存儲器
    1. 虛擬存儲器的基本概念
    2. 頁式虛擬存儲器
    3. 段式虛擬存儲器
    4. 段頁式虛擬存儲器
    5. TLB(快表)
  8. 外存儲器

  1. 存儲器的基本概念
    1. 存儲器的分類
      1. 按存儲器介質分類:半導體、磁表面、磁心、光盤
      2. 按存取方式分類:RAM/ROM/順序存取存儲器/直接存取存儲器
      3. 按在計算機中的作用分類:主存、輔存、緩沖存儲器
    2. 存儲器的性能指標
      1. 存儲容量=存儲字數*字長
      2. 單位成本:每位價格=總成本/總容量
      3. 存儲速度:數據傳輸率=數據的寬度/存儲周期
      4. 存儲周期:從上一次訪問存儲器的操作開始(讀/寫),到下一次訪問存儲器的操作(讀/寫)為止,所花費的總時間。
  2. 存儲器的層次化結構

    技術分享圖片

  3. 半導體隨機存取存儲器
    1. 基本概念
      1. 基本結構

        技術分享圖片

      2. 譯碼驅動方式
        1. 線選法:假設矩陣有N行,則地址線有條,向上取整;讀/寫控制電路與矩陣每行的位數相同
        2. 重合法:有X地址譯碼器和Y地址譯碼器,通過坐標定位單元,有單獨的讀/寫控制電路
      1. 讀周期指芯片兩次連續讀操作的最小時間間隔;讀時間表示進行一次存儲器讀操作的時間,顯然讀時間小於讀周期;寫周期與寫時間類似。
    2. SRAM存儲器
      1. 規定:T1通、T2止,存"0";T1止、T2通,存"1"
      2. 電路圖

        技術分享圖片

    3. DRAM存儲器
      1. 工作原理:電容上有電荷存"1",電容上無電荷存"0",需要刷新
      2. 電路圖

      技術分享圖片

      1. DRAM存儲器的刷新:讀出後再原樣寫入,如果題目沒有特別註明,刷新一行的時間就是一個存儲周期;如果說明了刷新操作由讀操作和寫操作一起執行,那麽刷新一行的時間就按照兩倍的存儲周期計算。
        1. 集中刷新:集中在一段時間內刷新(死時間)
        2. 分散刷新:分散的周期性的進行
        3. 異步刷新:有計劃的刷新
      2. 刷新和再生的區別

        對某個單元的刷新和再生操作過程是一樣的,即讀後恢復,但再生操作是隨機的,只對所讀單元進行,而刷新操作是按順序定時一行一行進行的。

    4. 只讀存儲器
    5. Flash存儲器

      技術分享圖片

  4. 主存儲器與CPU連接
    1. 位擴充:僅擴充數據線。
    2. 字擴充:僅擴充地址線,擴充的地址線作為片選信號。
    3. 字位擴充:先進行位擴充,對芯片進行分組,再進行自擴充。
  5. 雙口RAM和多模塊存儲器
    1. 雙口RAM
    2. 單體多字存儲器:指令和數據在主存內必須連續存放才能發揮預期效果
    3. 多體並行存儲器

      高位交叉編址的多體存儲器(順序存儲)

      低位交叉編制的多體寄存器(交叉存儲)

      特點

      每個模塊內的體內地址是連續的,高位表示體號,低位表示體內地址

      程序存放在相鄰的體中,低位用來表示體號,高位用來定位體內地址

      優點

      非常有利於存儲器的擴充,只需將存儲單元的編號往後加即可

      可以實現多模塊流水線式並行存取,同時從主存中取出n條指令,大大提高存儲器的帶寬

      缺點

      由於各個模塊一個接一個的串行工作,因此存儲器的帶寬收到限制

      並行的體現

      不同的請求源並行的訪問不同的體

      同一請求源並行的訪問不同的體

  6. 高速緩沖存儲器(Cache)
    1. 基本工作原理:局部性原理(時間、空間)
      1. 主存和Cache的編址:主存中的每塊大小應與Cache中每塊的大小相同
        1. 主存

          主存的地址分為兩部分:一部分用來尋找某個字塊;另一部分用來尋找該字塊中的字或字節。

        2. Cache

          Cache的地址也分為兩部分:高c位表示Cache的塊號,低b位表示其塊內的字或者字節數,Cache的塊數遠小於主存塊數。

          命中率的概念:CPU要訪問的信息在Cache中的比例

          平均訪問時間的概念:假設命中率為h,tc為命中時訪問Cache的時間,tm為未命中時的主存訪問時間,則Cache主存系統的平均訪問時間ta為:

          Ta=h*tc+(1-h)*tm

          Cache主存系統效率的概念:

          用e表示效率,則e=tc/ta

          Cache的命中率只和Cache的容量、Cache的字塊長度有關

      2. Cache的基本結構

        技術分享圖片

    2. Cache與主存之間的映射方式

      直接映射

      全相聯映射

      組相聯映射

      優點

      1)實現簡單。利用主存地址之間判斷,即可確定所需字塊是夠在Cache中。

      2)無需考慮替換策略

      1) Cache的命中率可以提高

      2)"有位置就可以做",Cache的利用率提高

      對直接映射和全相聯映射進行折中的一種方式,組相連映射中的一組看做直接相聯中的一塊。

      缺點

      1. 不夠靈活
      2. 沖突概率高

      Tag的位數增加了,訪問Cache時主存字塊標記需要和Cache的全部"標記"進行比較,才能判斷所訪問的主存地址的內容是否已在Cache內。

      應用場合

      適合大容量Cache

      適用於小容量的Cache

      操作原理

      首先,CPU指令指出一個內存地址,該地址包含tag、塊號、字等字段。然後,根據內存地址的塊號c找到Cache中對應的塊號,找到Cache中對應的塊號後將該塊中的標記和內存地址中的t位tag標記送入比較器比較。若相符且有效位為"1",即表示命中,然後用內存地址的低b位在Cache中讀取所需要的字即可。若不相符或有效位為"0",則需要從主存中讀取所需要的塊來替換Cache中舊的塊,同時將信息送往CPU,修改Cache的標記,如果原來有效位為"0",還得將有效位置"1"

      首先,CPU訪存指令指出一個內存地址,該內存地址包含塊號、字等字段。為了加快檢索速度,Cache所有行的標記位和內存地址的塊號一同送入比較器中比較,如果塊號命中,則直接從Cache命中的塊號中讀取所需的字;如果塊號不命中,則按內存地址讀取這個字,同時吧內存塊讀入Cache行中。

      首先,CPU訪存指令指出一個內存地址,該地址包含tag、組號、字等字段。通過組號找到Cache中對應的組,然後將Cache該組中每一塊的tag和內存地址的tag送入比較器進行比較。如果Cache中由某塊的tag與之符合,則表示Cache命中,通過內存地址的低b位確定需要該塊中的哪一個字,然後進行存取操作。如果Cache中每行tag都與之不相符,則不命中,需要去內存取需要的字,並將內存中該字所在的塊送入Cache中

    3. Cache中主存塊的替換算法
      1. FIFO
      2. LRU
      3. 隨機法
    4. Cache寫操作策略:CPU更改了Cache的內容,會導致Cache的內容和主存內容不一致。
      1. 寫回法
      2. 全寫法
      3. 寫一次法
  7. 虛擬存儲器
    1. 基本概念

      頁式虛擬存儲器

      段式虛擬存儲器

      段頁式虛擬存儲器

      劃分單位

      把程序分段,再把每個段分固定大小的頁

      優點

      由於頁面的起點、終點地址是固定的,因此頁表簡單,調入方便,主存空間浪費小。

      段的分界與程序的自然分界相對應;段的邏輯獨立性使他易於編譯、管理、修改和保護,也便於多道程序共享;某些類型的段(堆棧、隊列)具有動態可變長度,允許自由調度以便有效利用主存空間。

      兼備頁式虛擬存儲器和段式虛擬存儲器的優點。

      缺點

      由於頁面不是邏輯上的獨立實體,因此處理、保護和共享都不如段式虛擬存儲器方便。

      段的長度各不相同,段的起點和終點不定,給主存空間分配帶來麻煩,而且容易在段間留下去多空余的不易利用的零散存儲空間,造成浪費。

      在地址映射過程中需要多次查表。

    2. TLB(快表):快表是頁表的子集,快表命中頁表一定命中
  8. 外存儲器
    1. 硬盤存儲器
      1. 如何記錄數據:歸零制(RZ)、不歸零制(NRZ)、"見1就翻"的不歸零制"NRZ1"
      2. 技術指標:記錄密度、存儲容量、平均尋址時間、數據傳輸率、誤碼率
    2. 磁盤陣列
      1. RAID0
      2. RAID1
    3. 光盤存儲器
      1. 只讀型光盤CD-ROM
      2. 只寫一次型光盤
      3. 可擦寫光盤

感想:

上一章是看了難的不會做,這一章是看了和沒看一樣,根本不知道題目到底該咋做,TAT;昨天關word的時候居然忘了保存,今天寫的80%都是昨天寫的TAT;博客只總結了絕大部分的概念,對於計算題沒有涉及。

第三章 存儲器的層次結構