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

2017-2018-1 20155227 《信息安全系統設計基礎》第九周學習總結

定量 高層 設計者 提升 維護 src 有一個 主存 https

2017-2018-1 20155227 《信息安全系統設計基礎》第九周學習總結

教材學習內容總結

第六章

隨機訪問存儲器

隨機訪問存儲器分為:靜態RAM(SRAM)和動態RAM(DRAM),靜態RAM(SRAM)比動態RAM(DRAM)更快,但也貴很多。

(1)靜態RAM

SRAM將每個位存儲在一個雙穩態的存儲器單元裏,每個單元是用一個六晶體管電路來實現的。

屬性:它可以無限制地保持在兩個不同的電壓配置或狀態之一。其他任何狀態都是不穩定的。

特點:由於SRAM的雙穩態特性,只要有電,它就會永遠地保持它的值,即使有幹擾,如電子噪音,來擾亂電壓,當幹擾消除,電路也能恢復到穩定值。
應用:高速緩存存儲器,即可以在CPU芯片上,也可以在片下。

(2)動態DRAM

DRAM將每個位存儲為對電容的充電。電容約為30×10-15F。

特點:對幹擾特別敏感,當電容的電壓被擾亂之後,它就永遠不會恢復了。暴露在光線下會導致電容電壓改變。

應用:主存以及圖形系統的幀緩沖區。

非易失性存儲器(ROM)

存儲在ROM設備中的程序通常稱為固件。

磁盤存儲
  • 磁盤構造:
    由盤片構成,每個盤片有兩面或者稱為表面,表面覆蓋著磁性記錄材料。盤片中央有一個可以旋轉的主軸,使得盤片以固定的旋轉速率旋轉,通常是5400~15000轉每分鐘(RPM)
    技術分享圖片

    每個表面是由一組稱為磁道的同心圓組成;每個磁道被劃分成一組扇區;每個扇區包含相等數量的數據位(通常是512字節);這些數據編碼在扇區上的磁性材料中。扇區之間由一些間隙分隔開,這些間隙中不存在數據位。間隙存儲用來標識扇區的格式化位。
  • 磁盤容量:

    一個磁盤上可以記錄的最大位數稱為它的最大容量/容量。

    磁盤容量的決定因素:

     記錄密度:磁道一英寸的段可以放入的位數。
    
     磁道密度:從盤片中心出發半徑上一英寸的段內可以有的磁道數。
    
     面密度:記錄密度與磁道密度的乘積。
    
     磁盤是重點,涉及到後面的i/o和文件系統,做好相關練習

    公式:
    技術分享圖片

磁盤操作:

磁盤用讀寫頭來讀寫存儲在磁性表面的位,而讀寫頭連接到一個轉動臂一端。尋道就是通過沿著半徑軸前後移動這個轉動臂,使得驅動器可以將讀寫頭定位在盤面上的任何磁道上。

訪問時間:

 尋道時間:為了讀取某個目標扇區的內容,傳動臂把讀/寫頭首先定位到包含目標扇區的磁道上,所需時間即為尋道時間,約等於最大旋轉時間。
 
 旋轉時間:定位到期望的磁道後,驅動器等待目標扇區的第一個位旋轉到讀/寫頭下。依賴於當讀寫頭到達目標扇區時盤面的位置和磁盤旋轉速度。最大旋轉時間 = 1/最大旋轉數率 。平均旋轉時間 = (1/2) * 最大旋轉時間。


 傳送時間:當目標扇區的第一個位位於讀寫頭下時,驅動器就可以開始讀或者寫該扇區的內容。依賴於旋轉速度和每條磁道的扇區數目。平均傳送時間 = (1/最大旋轉數率) * (1/每磁道的平均扇區數) 
邏輯磁盤塊

磁盤控制器:磁盤中一個小的硬件、固件設備,維護著邏輯塊號和實際物理磁盤扇區之間的映射關系。

現代磁盤構造復雜,有多個盤面,這些盤面上有不同的記憶區。為了對操作系統隱藏這樣的復雜性,現代磁盤將他們的構造呈現為一個簡單的試圖,一個B個扇區大小的邏輯塊的序列,編號為0,1,...,B-1。

連接到I/O設備

通用串行總線(USB):包括鍵盤、鼠標、調制解調器、數碼相機、遊戲操縱桿、打印機、外部磁盤驅動器和固態硬盤等。

I/O總線比系統總線比存儲器總線慢,但是它可以容納種類繁多的第三方I/O設備。

訪問磁盤

直接存儲器訪問:設備可以自己執行讀或者寫總線事務,而不需要CPU幹涉的過程。這種數據傳送稱為DMA傳送。

基本思想:中斷會發信號到CPU芯片的一個外部引腳上。這會導致CPU暫停它當前正在做的工作,跳轉到一個操作系統例程。這個程序會記錄下I/O已經完成,然後將控制返回到CPU被中斷的地方。

固態磁盤

固態硬盤是一種基於閃存的存儲技術。

優點:由半導體構成,沒有移動的部件;隨機訪問時間比旋轉磁盤要快、能耗低、結實。

缺點:易磨損、更貴。

局部性

局部性:傾向於引用鄰近與其他最近引用過的數據項的數據項,或者最近引用過的數據項本身,這種傾向性,被稱為局部性原理。

兩種不同形式:空間局部性、時間局部性。

 硬件層:局部性原理允許計算機設計者通過引入高速緩存存儲器來保存最近被引用的指令和數據項,從而提高對主存的訪問速度。

 操作系統級:局部性原理允許系統使用主存作為虛擬地址空間最近被引用塊的高速緩存,用主存來緩存磁盤文件系統中最近被使用的磁盤塊。

 應用程序中:例如,Web瀏覽器將最近被引用的文檔放在本地磁盤上。
存儲器層次結構

技術分享圖片

一般而言,高層往底層走,存儲設備變的更慢、更便宜、更大。

中心思想:每一層存儲設備都是下一層的緩存。

緩存管理:

 某種形式的邏輯必須管理緩存,而管理緩存的邏輯可以是硬件、軟件,或者兩者的集合。

技術分享圖片

高速緩存存儲器

高速緩存是一個高速緩存組的數組,高速緩存的結構將m個地址劃分成了t個標記位,s個組索引位和b個塊偏移位。

結構:

m:每個存儲器地址有m位,形成M=2^m個不同的地址
S:這個數組中有S=2^s個高速緩存組
E:每個組包含E個高速緩存行
B:每個行是由一個B=2^b字節的數據塊組成的

教材學習中的問題和解決過程

  • 問題1:高速緩存和高速緩沖有什麽區別?
  • 問題1解決

    高速緩沖主要作用是在一定程度上減少對IO設備訪問的次數,可以起到流量整形的作用,也提升了系統的性能,畢竟IO操作和內存和cpu的處理速度差距還是很大的,比如下載一個文件,是積攢到一定量才寫回磁盤,而不是下載一個字節寫回一個字節,這樣過不了多久,磁盤就損壞了。

    高速緩存主要作用是緩解處理數據的兩端速度不匹配這種情況帶來的時間上的浪費,這樣做就加快了訪問速度。比如大家都知道的cpu和內存之間的速度差異就特別大,所以需要cache緩存數據,以便提高速度。
    總之一句話,高速緩沖主要解決了空間上的問題,而高速緩存主要解決了時間上的問題。

  • 問題2: 為什麽組索引不采用高位地址,而是中間的地址?
  • 問題2解決

    這是因為如果采用高位地址,會導致連續的塊被映射到相同的高速緩存塊。

  • 問題3:塊和行的區別是什麽?
  • 問題3解決

    行是高速緩存中存儲塊以及其它信息的容器,塊是高速緩存存儲器和下一層存儲器傳輸的基本單位。因為一行總是存儲一個塊,術語“行”和“塊”總是互換使用

代碼調試中的問題和解決過程

代碼托管

(statistics.sh腳本的運行結果截圖)

技術分享圖片

上周考試錯題總結

結對及互評

點評模板:

  • 博客中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 代碼中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 其他

本周結對學習情況

-[20155318](http://www.cnblogs.com/lxy1997/)
- 結對照片
- 結對學習內容
    - 教材第六章內容
    - XXXX
    - ...

其他(感悟、思考等,可選)

通過這一章的學習,加深了對存儲器的模式的了解。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 133/133 1/1 8/8
第三周 159/292 1/3 10/18
第五周 121/413 1/5 10/28
第七周 835/3005 2/7 10/38
第八周 1702/4777 1/8 10/48
第九周 1664/6441 3/11 10/58

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟件工程軟件的估計為什麽這麽難,軟件工程 估計方法

  • 計劃學習時間:15小時

  • 實際學習時間:10小時

  • 改進情況:

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)

參考資料

  • 《深入理解計算機系統V3》學習指導
  • ...

2017-2018-1 20155227 《信息安全系統設計基礎》第九周學習總結