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

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

芯片 ... 旋轉速度 陣列 引入 進度條 依據 htm ras

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

教材學習內容總結

  • 存儲器系統:存儲器系統是一個具有不同容量、成本和訪問時間的存儲設備的層次結構
  • 隨機訪問存儲器分為兩類:

    1)靜態的RAM(SRAM)

    2)動態的RAM(DRAM)

  • 靜態RAM:SRAM將每個微存儲在一個雙穩態的存儲器單元裏。每個單元使用一個六晶體管電路來實現,它可以無限期地保持在兩個不同的電壓配置或狀態之一,其他任何狀態都是不穩定的,從不穩定的狀態開始,電路會迅速地轉移到兩個穩定狀態中的一個
  • 動態RAM:DRAM將每個位存儲為對一個電容的充電。與SRAM不同,DRAM對幹擾十分敏感。當電容的電壓被擾亂之後,他就永遠都不會恢復了。
  • 傳統的DRAM:DRAM芯片中的單位被分成d個超單元,每個超單元都由w個DRAM單元組成,一個d×w的DRAM總共存儲了dw位信息。超單元被組織成一個r行c列的長方形陣列。
  • DRAM芯片封裝在內存模塊中,它插到主辦的擴展槽上。
  • DRAM芯片被分成d個超單元,每個單元w位。用I,j來表示一個超單元。芯片連接到存儲控制器電路,一次可以傳出(入)w位(即一個超單元的內容)。先傳出I(RAS)將第I行所有超單元拷貝到內部緩沖區,再是列地址j(CAS)將(I,j)超單元發送.
  • 存儲器模塊
    1)雙列直插存儲器模塊(DIMM):168個引腳,以64位為塊傳入/傳出數據到存儲控制器
    2)單列直插存儲器模塊(SIMM):72個引腳,以32位為塊傳入/傳出數據到存儲控制器
  • 增強的DRAM:有許多種DRAM存儲器,每種都是基於傳統的DRAM單元,並進行一些優化,tigaofangwenjibenDRAM單元的速度。

1)快頁模式DRAM(FPM DRAM),FPM DRAM允許對同一行連續第訪問可以直接從行緩沖區得到服務。

2)擴展數據輸出DRAM(EDO DRAM),FPM DRAM的一個增強的形式,它允許各個CSA信號在時間上考的更緊密一點。

3)同步DRAM(SDRAM)SDRAM用於驅動內存控制器相同的外部時鐘信號的上升沿來代替許多這樣的控制信號。

4)雙倍數據速率同步(DDR SDRAM)DDR SDRAM是對SDRAM的一種增強,它通過使用兩個時鐘沿作為控制信號,從而使DRAM的速度翻倍。

5)視頻RAM(VRAM),它用在圖形系統的幀緩沖區中。
  • 非易失性存儲器,再短點的情況下,DRAM和SRAM會丟失它們的信息,所以它們是易失的,而非易失性存儲器即使是在關電後,仍然保存著他們的信息,它們被稱為ROM。
    1)PROM只能被編程一次
    2)可擦寫可編程ROM(EPROM),使用紫外線實現,被擦除和重寫的次數可以達到1000次
    3)電子可擦除PROM(EEPROM),使用印制電路卡實現,能夠被編程的次數可以達到100000次
  • 訪問主存 ,數據流通過總線的共享電子電路在處理器和DRAM之間來回
    1)讀事務:從主存傳送數據到CPU

2)寫事務:從CPU傳送數據到主存

3)總線:一組並行的導線,能攜帶地址、數據和控制信號

4)系統總線:連接總線接口和I/O橋

5)存儲器總線:連接I/O橋和主存

技術分享圖片
技術分享圖片

  • 磁盤構造,保存大量數據的存儲設備,但讀取速度慢。由盤片構成,表面覆蓋著磁性記錄材料,中央有一個可以旋轉的主軸, 磁盤的每個表面是一組稱為磁道的同心圓組成,每個磁道被劃分為一組扇區,扇區之間由一些間隙隔開,間隙存儲用來標識扇區的格式化位。
  • 柱面是所有盤片表面到主軸中心距離相等的磁道的集合
    技術分享圖片
  • 磁盤容量的三要素:
    1)記錄密度:磁道一英寸的段中可以放入的位數。

    2)磁道密度:從盤片中心出發半徑上一英寸的段內可以有的磁道數

    3)面密度=記錄密度*磁道密度

技術分享圖片

  • 磁盤操作,用讀/寫頭來讀寫存儲在磁性表面的位,而讀寫頭連接到一個傳動臂一端,通過移動轉動臂將讀寫頭定位在磁道上的機械運動稱為尋道。對扇區的訪問時間有三個主要的部分。
    1)尋道時間:移動傳送臂所需要的時間

    2)旋轉時間:一旦讀寫頭定位你到了期望的磁道,驅動器等待目標扇區的第一個位旋轉到讀寫頭

    3)傳送時間:一個扇區的傳送時間依賴於旋轉速度和每條磁道的扇區數目
  • 邏輯磁盤塊,目的是為了向操作系統隱蔽磁盤的結構復雜性,磁盤中有一個固件設備,稱為磁盤控制器,維護者邏輯酷愛號和實際磁盤扇區之間的映射關系。操作系統是以邏輯塊號為單位進行尋址操作的。邏輯塊號可識別為一個盤面、磁道、扇區三元組,唯一的標識了相對應的物理扇區。
  • 存儲技術趨勢
    1)不同的存儲技術有不同的價格和性能折中。

    2)不同存儲技術的價格和性能屬性以截然不同的速率變化著

    3)DRAM和磁盤的性能滯後於CPU的性能。

  • 局部性原理,一個編寫良好的計算機程序傾向於引用鄰近於其他最近引用過的數據項,或者最近引用過的數據項本身。有良好局部性的程序比局部性差的程序運行的更快,在硬件層引入高速緩存存儲器就體現了局部性原理。
  • 時間局部性,存儲器位置多次被引用。
  • 空間局部性,存儲器位置附近的位置在不遠的將來被引用
  • 對程序數據引用的局部性,每隔K個元素進行訪問,稱為步長為K的引用模式
  • 取指令的局部性,程序指令是存放在存儲器中的,CPU讀取這些指令的過程中評價一個程序關於取指令的局部性,代碼區別於程序數據的一個重要屬性是在運行時它是不能被修改的
  • 局部性小結
    1)重復引用同一個變量的程序有良好的時間局部性

    2)對於具有步長為k的引用模式的程序,步長越小,空間局部性越好

    3)對於取指令來說,循環有好的時間和空間局部性。循環體越小,循環叠代次數越多,局部性越好
    -存儲器層次結構
    技術分享圖片
    高速緩存:是一個小而快速地存儲設備,它作為存儲在更大、也更慢的設備中的數據對象的緩沖區域

緩存:使用高速緩存的過程

  • 緩存命中,當程序需要第k+1層的某個數據對象d時,首先在當前存儲在第k層的一個塊中查找d,如果d剛好緩存在第k層中,就稱為緩存命中。
    該程序直接從第k層讀取d,比從第k+1層中讀取d更快
  • 緩存不命中,第k層中沒有緩存數據對象d
  • 當第k層緩存會從第k+1層緩存中取出包含d的那個塊。如果第k層緩存已滿,就可能會覆蓋現存的一個塊。
    覆蓋一個現存的塊的過程稱為替換/驅逐這個塊
  • 緩存不命中的種類
    1)強制性不命中,即第k層的緩存是空的(稱為冷緩存),對任何數據對象的訪問都不會命中

    2)沖突不命中,由於一個放置策略:將第k+1層的某個塊限制放置在第k層塊的一個小的子集中,這就會導致緩存沒有滿,但是那個對應的塊滿了,就會不命中

    3)容量不命中,當工作集的大小超過緩存的大小時,緩存會經歷容量不命中,就是說緩存太小了,不能處理這個工作集
  • 高速緩存存儲器,存儲器地址有m位,高速緩存組有2^S^位,每組E行高速緩存行,每行1個B=2b字節的數據塊,標記位t=m-(b+s)是唯一標識高速緩存行的塊
  • 直接映射高速緩存,每個組只有一行的高速緩存,分類依據是每個組的行數。每組一行的高速緩存,稱為直接映射高速緩存。
  • 組選擇,高速緩存從w的地址中間抽取出s個組索引位,組索引位:一個對應於一個組號的無符號整數
  • 高速緩存確定一個請求是否命中,然後取出被請求的字的過程,分為三步
    1)組選擇

    2)行匹配

    3)字抽取
  • 組相聯高速緩存,其中的
    1)組選擇與直接映射高速緩存中的組選擇一樣,組索引位標識組

    2)行匹配和字選擇,把每個組看做一個小的相關聯存儲器,是一個(key,value)對的數組,以key為輸入,返回對應數組中的value值。高速緩存必須搜索組中的每一行,尋找有效的行其標記與地址中的相匹配

    3)組相連高速緩存中不命中時的行替換:最簡單的替換策略是隨機選擇要替換的行,其他復雜的策略則使用了局部性原理,例如最不常使用、最近最少使用
  • 全相聯高速緩存,其中的
    1)組選擇,只有一個組,沒有組索引位。

    2)行匹配和字選擇,與組相連高速緩存是一樣的,但規模大很多,因此只適合做小的高速緩存,例如虛擬存儲系統中的翻譯備用緩沖器
  • 高速緩存參數的性能影響
    1)不命中率:不命中數量/引用數量

    2)命中率:1-不命中率

    3)命中時間:從高速緩存傳送一個字到CPU所需的時間,包括組選擇,行匹配,字抽取的時間

    4)不命中處罰:由於不命中所需要的額外時間

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

    (一個模板:我看了這一段文字 (引用文字),有這個問題 (提出問題)。 我查了資料,有這些說法(引用說法),根據我的實踐,我得到這些經驗(描述自己的經驗)。 但是我還是不太懂,我的困惑是(說明困惑)。【或者】我反對作者的觀點(提出作者的觀點,自己的觀點,以及理由)。 )

  • 問題1:XXXXXX
  • 問題1解決方案:XXXXXX
  • 問題2:XXXXXX
  • 問題2解決方案:XXXXXX
  • ...

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

  • 問題1:XXXXXX
  • 問題1解決方案:XXXXXX
  • 問題2:XXXXXX
  • 問題2解決方案:XXXXXX
  • ...

代碼托管

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

上周考試錯題總結

  • 錯題1及原因,理解情況
  • 錯題2及原因,理解情況
  • ...

結對及互評

點評模板:

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

本周結對學習情況

- [結對同學學號1](博客鏈接)
- 結對照片
- 結對學習內容
    - XXXX
    - XXXX
    - ...

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

xxx
xxx

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

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

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

  • 計劃學習時間:XX小時

  • 實際學習時間:XX小時

  • 改進情況:

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

參考資料

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

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