20155218 《信息安全系統設計基礎》第十三週學習總結

20155218 《信息安全系統設計基礎》第十三週學習總結

詳細總結本章要點:

1. 存儲器系統是一個層級結構(具備不一樣容量,成本和訪問時間的存儲設備)。
2. 隨機訪問存儲器(RAM):
  • 靜態RAM:
    SRAM將每一個位存儲在一個雙穩態(因爲此特性,SRAM只要有電,就會永遠保持它的值)的存儲器單元裏。
  • 動態RAM:DRAM將每一個位存儲爲對一個電容的充電
  • 總結:只要有電,SRAM就會保持不變且不須要刷新。SRAM的存取比DRAM快,對光和電噪聲的干擾不敏感,但價格高,功耗大。
  • 傳統的DRAM:DRAM芯片中的單元被分爲d個超單元,咩歌超單元都由w個DRAM單元組成。一個d*w的DRAM總共存儲了dw位信息;DRAM組成二維列陣而不是線性數組的一個緣由是下降芯片上地址引腳的數量;DRAM芯片封裝在內存模塊中。
  • 加強的DRAM:快頁模式、拓展數據輸出、同步DRAM、雙倍數據速率同步DRAM、視頻RAM。算法

    3. 非易失性存儲器:DRAM 、SRAM會由於斷電丟失它們的信息。ROM(雖然ROM中有的類型就能夠讀也能夠寫,但總體上都被稱爲只讀存儲器),並以它們可以從新編程(寫)的次數和對它們從新編程所用的機制來區分;
    4. ROM分類:
  • PROM:只能被編寫一次;
  • EPROM可以被擦除和從新編寫的次數的數量級能夠達到1000次;
  • 閃存;編程

    5. 訪問主存:數據流經過總線的共享電子電路在處理器和DRAM主存之間傳輸;
  • 讀事務:主存----->CPU
  • 寫事務:CPU------>主存數組

    6. 磁盤存儲:
  • 磁盤由盤片構成(一個或多個疊放在一塊兒的盤片組成),每一個盤片有兩面或者稱爲表面,表面覆蓋着磁性材料。每一個表面是由一組稱爲磁道的同心圓組成。
  • 磁盤容量
  • 磁盤操做:磁盤用讀/寫頭來讀寫存儲在磁性表面的位,在任什麼時候刻,全部的讀/寫頭都位於同一個柱面。
  • 磁盤以扇區大小的塊來讀寫數據。對扇區的訪問時間主要分爲:尋道時間、旋轉時間、傳送時間。
  • 邏輯磁盤塊
  • 連接I/O設備
  • 訪問磁盤:CPU使用一種稱爲內存映射I/O的技術來向I/O設備發送命令。緩存

    7. 固態硬盤:SSD是一種基於閃存的存儲技術,由一個或多個閃存芯片和閃存翻譯層組成。讀SSD比寫要快,隨機讀和寫的性能差異由底層閃存基本屬性決定的。
  • 隨機寫很慢的緣由:1.擦除塊須要相對較長的時間。2.若是寫操做試圖修改一個包含已經有數據的的頁p,那麼這個塊中全部帶有用數據的頁都必須被複制到一個新(擦除過的)塊,而後才能進行對頁p的寫。安全

    8. 局部性
  • 局部性原理:良好的程序傾向於引用臨近於其餘最近引用過的數據項的數據項,或者最近引用過的數據項自己。
  • 局部性分爲時間局部性和空間局部性;
  • 對程序數據引用的局部性
  • 取指令的局部性
  • 評價局部性的原則:1.重複引用相同變量的程序具備良好的時間局部性;2.對於具備步長爲k的引用模式的程序,步長越小,空間局部性越好。具備步長爲1的引用模式的程序有很好的空間局部性。在內存中以大步長跳來跳去的程序空間局部性會不好。3.對於取指令來講,循環有好的時間和控件局部性。循環體越小,循環迭代次數越多,局部性越好。函數

    9. 存儲器層次結構

    10. 存儲器層次結構中的緩存
  • 存儲器層次結構的中心思想是,層次結構中的每一層都緩存來自較低一層的數據對象,依次類推,直到最小的緩存---CPU寄存器組。
  • 數據以塊大小爲傳送單位在第k層和k+1層之間來回傳遞。
  • 緩存命中:當程序所須要第k+1層的某個數據對象d時,它首先在當前存儲的第k層的一個塊中查找d,若是恰好d緩存在第k層,則緩存命中。這樣就會比直接從k+1層讀取速度更快,體現了局部性的優勢;
  • 緩存不命中 :與緩存命中相反,所以就存在一個替換的過程,決定替換哪一個塊是由替換策略來決定的,在操做系統的課上,老師講過LRU,FIFO等;
  • 緩存不命中的種類:1.一個空的緩存被稱爲冷緩存,此類命中稱爲強制不命中或冷不命中;2.限制性的防治策略會引發一種不命中,稱爲衝突不命中;性能

    11. 高速緩存存儲器
  • 高速緩存存儲器組織結構:通常而言,能夠用元組(S,E,B,m)來描述。高速緩存的大小(容量)C指的是全部塊的大小的和。C=SxExB;
    學習

    12. 直接映射高速緩存
  • 高速緩存肯定一個請求是否命中,而後抽取出被請求的字的過程:(1)組選擇(2)行匹配(3)字抽取優化

    13. 運行中的直接映射高速緩存
  • 標記位和索引位連起來惟一地標識了內存中的每一個塊;
  • 映射到同一個高速緩存組的塊由標誌位惟一地標識;
  • 抖動:高速緩存反覆地加載和驅逐相同的高速緩存塊的組;操作系統

    14. 組相關高速緩存
    :每一個組都保存有多於一個的高速緩存行。一個1<E<C/B的高速緩存一般稱爲E路組相聯高速緩存
  • 相聯高速緩存中行比配的一個重要思想就是組中的任何一行均可以包含任何映射到這個組的內存塊,因此高速緩存必須搜索組中的一個行,尋找一個有效的行,其標記與地址中的標記相匹配;

    15. 全相聯高速緩存:是由一個包含全部高速緩存行的組(即E=C/B)組成的。
    16. 有關寫的問題:
  • 直寫:方法簡單,可是會引發總線流量;
  • 寫回:儘量的推遲更新,只有當替換算法要驅逐這個更新過的塊時,才把它寫到接近着的第一層中。能顯著的減小總線流量,但缺點是增長了複雜性
  • 如何處理寫不命中:寫分配/非寫分配

    17. 衡量高速緩存性能的指標:
  • 不命中率:不命中數/引用數量
  • 命中率:1-不命中率
  • 命中時間:從高速緩存傳送一個字到CPU所需的時間,
  • 不命中處罰

    18. 優化高速緩存的定性折中考慮:
  • 高速緩存大小的影響;
  • 塊大小的影響;
  • 相聯度的影響;
  • 寫策略的影響;

    19. 高速緩存行、組和塊有什麼區別:
  • 塊是一個固定大小的信息包,在高速緩存和下一層高速緩存之間來回傳遞;
  • 行是高速緩存中的一個容器,存儲快以及其餘信息。
  • 組是一個或多個行的集合。直接映射高速緩存中的組只由一行組成。組相聯和全相聯高速緩存中的組是由多個行組成。

    20. 編寫高速緩存友好的代碼:
  • 對局部變量的反覆引用是好的,由於編譯器可以將它們緩存在寄存器文件(時間局部性)。
  • 步長爲1的引用模式是好的,由於存儲器層次結構中全部層次上的緩存都是將數據存儲爲連續的塊(空間局部性)。

    21. 高速緩存對程序性能的影響
  • 存儲器山:讀帶寬(一個程序從存儲系統中讀數據的速率)的時間和空間局部性的二維函數。

    完成這一章全部習題

  • 6.1:

  • 6.2:8.192G
  • 6.3:10.008ms
  • 6.4:在最好的狀況下,只須要找到第一個扇區而後旋轉兩圈,time=seek+avg +max=20ms;
    在最壞的狀況下,time=2000*(seek+avg)=16s;
  • 6.7:這個題目很簡單,只須要將數組a中元素按循環的層次來就行了即a[i][j][k];
  • 6.8:1>2>3,原理與6.7相似;
  • 6.9:
  • 6.10:消除了衝突不命中,命中率爲四分之三;
  • 6.18:512個讀,256個不命中;不命中率爲50%;
  • 6.23:當x=0.5時,磁盤的容量最大;
  • 6.24:T=5.51;
  • 6.25:最好的狀況是都在同一個磁盤上且相連,T=35.5ms;最壞狀況是275.5s
  • 6.26:
  • 6.27:與6.25類似;

同伴反饋

- 同伴(20155218)給個人反饋:

知識點羅列的很詳細,習題學習也很深刻,看起來是下了功夫的。給你提意見小建議:基礎知識的學習能夠分層次來介紹,這樣博客看起來會更加美觀大方;其次是習題的學習能夠把本身的疑惑和感想寫一下,加深理解。

- 我給同伴的反饋:

個人同伴郝博雅同窗在這篇博客裏,帶着問題從新學習了第七章,堅持問題導向,學習到了新的知識點,解決的本身的疑惑。在第七章的學習中,共分爲了三個問題,每一個問題的解答都是很詳細的,既有基礎知識,也有直截了當的圖片和代碼。在小內容的學習中,也是不斷地經過提出問題來引導下一步的學習,讓我很是直接深入的認識到同伴爲何學習是爲了哪方面的知識,須要哪方面的知識。解答過程當中,步驟也是很詳細,每一步都有操做的方法和結果截圖,讓我也能夠按照步驟本身操做實現。在看同伴的博客時,發現她的博客形式很是的簡潔明瞭,相比之下,自愧不如。

相關文章
相關標籤/搜索