1. 程式人生 > >2018-2019-1 20165306 《信息安全系統設計基礎》第五周學習總結

2018-2019-1 20165306 《信息安全系統設計基礎》第五周學習總結

靜態 磁道 請求 簡單 同步 類型 數據對象 傳統 art

2018-2019-1 20165306 《信息安全系統設計基礎》第五周學習總結

教材學習內容總結

6.1存儲技術

6.1.1隨機訪問存儲器

  • 靜態RAM(SRAM):雙穩態特性,只要有電,它就會永遠地保持它的值。即使有幹擾來擾亂電壓,當幹擾消除時,電路就會恢復到穩定值。

  • 動態RAM(DRAM):當電容的電壓被擾亂之後,它就永遠不會恢復了。

  • 傳統的DRAM:行地址i稱為RAS請求,列地址j稱為CAS請求,註意RAS和CAS請求共享相同的DRAM地址引腳。

  • 增強的DRAM
    • FTP DRAM(快頁模式):允許對同一行連續地訪問可以直接從行緩沖區得到服務。
    • EDO DRAM(擴展數據輸出):允許各個CAS信號在時間上靠的更緊密一點。
    • SDRAM(同步):更快。
    • DDR SRAM(雙倍數據速率):使用兩個時鐘沿作為控制信號,從而使DRAM的速度翻倍。
    • VRAM(視頻):用在圖形系統的幀緩沖區中。
  • 非易失性存儲器
    • PROM(可編程):只能被編程一次;EPROM(可擦寫可編程):1000次;EEPROM(電子可擦除):10^5次。
    • 閃存:基於閃存的磁盤驅動器稱為SSD(固態硬盤),更快速、更強健、更低能耗。
  • 固件:存儲在ROM設備中的程序。

  • 總線是一組並行的導線,能攜帶地址、數據和控制信號。

6.1.2磁盤存儲

  • 磁盤構造:
    - 磁盤由盤片構成,每個盤片有兩個表面。
    - 通常是5400-15000轉每分鐘(RPM)。
    - 每個表面是由一組稱為磁道的同心圓組成的。
    - 每個磁道被劃分為一組扇區,每個扇區包含相等數量的數據位(通常是512字節)。
    - 間隙存儲用來標識扇區的格式化位。
    - 柱面是所有盤片表面上到主軸中心的距離相等的磁道的集合。

技術分享圖片

  • 磁盤以扇區大小的塊來讀寫數據。訪問一個磁盤扇區內容的平均時間為平均尋道時間、平均旋轉延遲和平均傳送時間之和。
    - 訪問一個磁盤扇區中512個字節的時間主要是尋道時間和旋轉延遲。
    - 將尋道時間乘2是估計磁盤訪問時間的簡單而合理的方法。

6.2局部性

  • 局部性原理:引用臨近於其他最近引用過的數據項的數據項,或者最近引用過的數據項本身。

  • 步長為1的引用模式為順序引用模式。一般而言,隨著步長的增加,空間局部性下降。

  • 循環體裏的指令是按照連續地內存順序執行的,因此循環具有良好的空間局部性。因為循環體會被執行多次,所以它也有良好的時間局部性。

  • 重復引用相同變量的程序有良好的時間局部性。步長越小,空間局部性越好。

6.3存儲器層次結構

  • 存儲器層次結構的中心思想:位於k層的更快更小的存儲設備作為位於k+1層的更大跟慢的存儲設備的緩存。
  • 數據總是以塊大小為傳送單元在第k層和第k+1層之間來回復制的。雖然在層次結構中任何一對相鄰的層次之間塊大小是固定的,但是其他的層次對之間可以有不同的塊大小。
  • 緩存不命中:冷緩存(強制性不命中或冷不命中);沖突不命中;容量不命中。
  • 存儲器層次結構的本質:每一層存儲設備都是較低一層的緩存。
  • 基於緩存的存儲器層次結構行之有效,是因為較慢的存儲設備比較快的存儲設備更便宜,還因為程序傾向於展示局部性(時間、空間)。

6.4高速緩存存儲器

  • 高速緩存的結構將m個地址劃分成了t個標記位、s個索引位和b個塊偏移位。
  • (S,E,B,m)C=S×E×B

技術分享圖片

  • 直接映射高速緩存:E=1
    - 組選擇:高速緩存從w的地址中間抽取出s個組索引位。
    - 行匹配:當且僅當設置了有效位,而且高速緩存行中的標記與w的地址中的標記相匹配時,這一行中包含w的一個副本。
    - 字選擇:塊偏移位提供了所需要的字的第一個字節的偏移。
    - 不命中時的行替換:用新取出的行替換當前的行。

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

  • 讓最常見的情況運行的快。
  • 盡量減小每個循環內部的緩存不命中數量。
  • 對局部變量的反復引用是好的,步長為1的引用模式是好的。

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

  • 存儲器山:讀帶寬的時間和空間局部性的二維函數。存儲器系統的性能不是一個數字就能描述的,相反,它是一座時間和空間局部性的山,這座山的上升高度差別可以超過一個數量級。

  • 在程序中利用局部性:
    - 將你的註意力集中在內循環上;
    - 以步長為1來讀數據;
    - 一旦從存儲器中讀入了一個數據對象,就盡可能地多使用它。

教材問題及解決

  • 練習題6.4見書P411,答案見P459

解析中有一句話不太理解這個文件由2000個512字節的邏輯塊組成。

  • 參考資料

書P409:對於與像磁盤和網絡這樣的I/O設備容量相關的計量單位,通常K=10^3,M=10^6,G=10^9,T=10^12。

我的理解是:1MB=10^6字節,512≈5×10^2,10^6/(5×10^2)=2000。

上周考試錯題總結

技術分享圖片

  • 書中P261:組合邏輯電路可以設計成在字級數據上執行許多不同類型的操作。算術/邏輯單元(ALU)是一種很重要的組合電路。

  • 書中P262:為了產生時序電路,也就是有狀態並且在這個狀態上進行計算的系統,我們必須引入按位存儲信息的設備。存儲設備都是由同一個時鐘控制的,時鐘是一個周期性信號,決定什麽時候要把新值加載到設備中。
    - 時鐘寄存器(簡稱寄存器)存儲單個位或字。時鐘信號控制寄存器加載輸入值。
    - 隨機訪問存儲器(簡稱內存)存儲多個字,用地址來選擇該讀或該寫哪個字。

2018-2019-1 20165306 《信息安全系統設計基礎》第五周學習總結