天天看點

資訊安全系統設計基礎第七周學習總結

存儲器層次結構

6.1 存儲技術

6.1.1 随機通路存儲器(RAM) 運存

·靜态(SRAM):用來作為高速緩存存儲器。将每個位存儲在一個雙穩态的存儲器單元裡。
                并無限期的保持在兩個狀态或配置之一。其他任何狀态都是不穩定的。
                在有幹擾的情況下,當幹擾消除電路恢複穩定。
·動态(DRAM):用來作為主存以及圖形系統的幀緩沖區。将每個位存儲為對一個電容的充電。
                對幹擾十分敏感,當電容電壓被擾亂之後就不會恢複了。
  靜态與動态的差別:
     ·隻要有供電SRAM就會保持不變,與DRAM不同不需要重新整理
     ·SRAM的存取比DRAM快
     ·SRAM對抗幹擾能力比DRAM強,而功耗更大

·傳統的DRAM
  DRAM中的單元被分為d個超單元,超單元被分為r行c列的陣型,d=rc。每個超單元都由w個DRAM單元組成。
           
資訊安全系統設計基礎第七周學習總結
資訊通過外部引腳連接配接器流入和流出晶片
  引腳可以傳送位元組date或者超單元位址addr
  行位址i稱為RAS,列位址j稱為CAS,請求共享相同的位址引腳,中間會過渡一個内部行緩沖區
  采用二位陣列而不是線性數組的優點是減少位址引腳的數量,缺點是必須分兩步發送位址增加通路時間

·增強的DRAM 
  快頁模式:傳統模式對同一行連續通路超單元需要發送多次請求,而快頁模式一次RAS或CAS後跟多個CAS請求可直接達到目的,進而時間更快。
  擴充資料輸出:快頁模式的增強版,CAS信号在時間上靠的更緊
  同步:同步比異步存儲器更快的輸出超單元的内容
  雙倍資料速率同步:同步的增強模式,兩個時鐘沿作為控制信号,速度翻倍。

·非易失性存儲器(ROM)  記憶體
  區分方式:被重新編寫的次數和重編所用的機制
     ·可程式設計ROM:隻能編寫一次
     ·可擦寫可程式設計ROM:多次編寫
  
·通路主存
  資料流在處理器和DRAM中來回通過。讀事物指主存傳送資料到CPU;寫事物指CPU傳送資料到主存
  I/O橋的作用:将系統總線的電子信号翻譯成存儲器總線的電子信号
  讀寫事物基本分為三步:CPU讀位址→傳送資料字→存儲資料
           

6.1.2 磁盤存儲

·磁盤構造:由一個或多個盤片構成,盤片表面覆寫磁性記錄材料,通過中央的轉軸旋轉。

盤片上有同心圓圍成的磁道每個磁道劃分為一組扇區

資訊安全系統設計基礎第七周學習總結
·磁盤容量:可記錄的最大位數。決定因素:記錄密度、磁道密度、面密度
      計算磁盤容量:   
           
資訊安全系統設計基礎第七周學習總結
練習題6.2,可以根據公式算出,其中,有多少個柱面就代表有多少個磁道的集合

·磁盤操作:尋道:沿着半徑軸前後移動傳動臂,可以定位在任何磁道上。
      對扇區的通路時間有三個主要的部分:(平均)
           
資訊安全系統設計基礎第七周學習總結
尋道時間:移動傳動臂所需的時間,依賴于讀寫頭以前的位置以及讀寫的速度
          旋轉時間:驅動器等待目标扇區的第一個旋轉位的到達,依賴于讀寫頭到達目标磁道是盤面的位置和磁盤的旋轉速度
          傳送時間:目标扇區第一個位位于讀寫頭下,依賴于旋轉速度和磁道的扇區數目
           
資訊安全系統設計基礎第七周學習總結
從公式可以看出:平均傳送時間 = 最大傳送時間 * 1/一個磁道的扇區數

·邏輯磁盤塊:維護着邏輯塊号和實際磁盤扇區之間的映射關系
      三元組:盤面,磁道,扇區

·連接配接到I/O裝置:
      ·通用串行總線:連接配接USB總線,各種外圍I/O裝置。
      ·圖形卡;硬體和軟體邏輯,代表CPU在顯示器上畫像素。
      ·主機總線擴充卡:連接配接磁盤

·通路磁盤:CPU使用存儲器映射技術
           

6.1.3 固态硬碟:處理來自PCU的讀寫邏輯磁盤塊的請求

·順序讀比順序寫稍微快一點,但随即通路寫比讀慢一個數量級,原因:擦除塊需要時間;修改資料需要拷貝到新的塊。
           
資訊安全系統設計基礎第七周學習總結
·SSD的優缺點:由半導體儲存器構成,沒有移動的部件,是以通路速度快,能耗低,結實
               但是容易磨損
           

6.2 局部性

時間局部性:被引用過的存儲器的位置在将來可能被多次引用 (同一存儲器)

空間局部性:被引用過的存儲器的位置在将來可能引用附近一個存儲器的位置 (不同存儲器)

6.2.1 對程式資料引用的局部性

·順序引用模式:步長為1的引用模式。随着步長的增加,空間局部性下降
           

6.2.2 取指令的局部性:程式指令是放在存儲器中的,CPU必去讀取指令,是以能評價程式關于取指令的局部性

CPU隻能讀取指令不能修改或重寫

·對于取指令來說,循環良好的時間和空間局部性,循環體越小,疊代次數越多,局部性越好。

練習題6.8 步長為1,遵循行優先順序來通路,從内到外。
練習題6.9 關鍵是明白數組在存儲器中排列的。
          函數1,步長為1,始終遵循從内到外,空間性最好
          函數2,N個結構中的每一個局部性最好,但是需要跳轉到下個結構。
          函數3,結構内跳轉,結構與結構之間跳轉,是以空間性最差
           

6.3 存儲器層次結構

6.3.1 存儲器結構中的緩存

·中心思想:位于k層的更小更快的儲存設備作為位于k+1層更大更慢的儲存設備的緩存

資料總是以塊大小為傳送單元在上下層之間來回拷貝。離CPU越遠,使用的塊越大。

·緩存命中:需要k+1層的某個資料d,剛好在k層找到

 ·緩存不命中:覆寫現象:從k=1層取出包含d的塊到k層,如果k層滿則覆寫
           

6.3.2 小結

資訊安全系統設計基礎第七周學習總結

6.4 高速緩存存儲器

6.4.1 通用的高速緩存存儲器結構

·高速緩存包含S個高速緩存組2^s
 ·每個組包含E個高速緩存行
 ·每個行有2^b位元組的資料塊
  是以高速緩存的大小 C = S * E * B

 ·練習題6.10 根據6-28的表推理計算
           
資訊安全系統設計基礎第七周學習總結

6.4.2 直接映射高速緩存:高速緩存行數隻有一行

·組選擇:高速緩存從w位的位址中抽取s組索引位
 ·行比對:确定是否有字w的一個拷貝存儲在組i包含的一個高速緩存行中。每個組隻有一行。
 ·字選擇:确定所需的字在快中從哪裡開始。塊偏移提供了所需的字的第一個位元組的偏移
           
資訊安全系統設計基礎第七周學習總結
·不命中時的行替換:從存儲器層次結構中的下一層取出被請求的塊

 ·綜合
    ·标記位和索引位連接配接起來唯一的标示了存儲器中的每個塊
    ·多個塊同一映射到一個高速緩存組
    ·映射到同一高速緩存組的塊由标記位唯一标示

 ·CPU執行一系列讀時都發生了什麼
   1)讀位址0的字:緩存不命中,從第一層取出塊0并傳回存儲器位置0的内容
   2)讀位址1的字:高速緩存命中,立即從高速緩存行的塊1中傳回
   3)讀位址13的字:緩存不命中,是以塊6加載到組2
   4)讀位址8的字緩存不命中,但是緩存行有效,标記位不比對,塊4加載到組0。

 ·沖突不命中:即使有良好的空間局部性且好俗緩存中也有足夠的空間,但是引用還是會導緻沖突不命中,因為:
               這些塊被映射到了同一個高速緩存組,導緻速度下降
               每組隻有一行
           

6.4.3 組相連的高速緩存

·組選擇:與直接映射高速緩存相同
 ·行比對和字選擇:高速緩存必須搜尋組中的每一行,尋找一個有效的行标記與位址中的标記相比對
     !圖6-36 !
 ·不命中時對的行替換:替換政策就是随機選擇要替換的行
           
資訊安全系統設計基礎第七周學習總結

6.4.4 全相連高速緩存

·是有一個包含所有高速緩存行的組組成
 ·組選擇:注意位址中沒有組索引位,位址被劃分為标記和塊偏移
 ·行比對和字選擇:與組相連是規模大小的差別
           

6.4.5 有關寫的問題

·直寫:立即将w的高速緩存塊寫回到緊挨着的低一層
 ·寫回:盡可能的推遲存儲器更新直到替換算法要驅逐更新過的塊
 ·寫配置設定:加載相應的低一層中的塊到高速緩存中,然後更新這個高速緩存塊
           

6.4.7 高速緩存參數的性能影響

·不命中率:不命中數量/引用數量
 ·命中率:1-不命中率
 ·命中時間:高速緩存傳送一個字到CPU的時間
 ·不命中處罰:

 ·高速緩存大小的影響、塊大小的影響、相連度的影響、寫政策的影響。
           

6.5 編寫高速緩存友好的代碼

基本方法:讓最常見的情況運作得快
             在每個循環内部緩存不命中數量最小
           

6.6 綜合:高速緩存對程式性能的影響

6.6.1 存儲山

資訊安全系統設計基礎第七周學習總結
資訊安全系統設計基礎第七周學習總結