天天看點

20145233 《資訊安全系統設計基礎》第7周學習總結20145233 《資訊安全系統設計基礎》第7周學習總結

20145233 《資訊安全系統設計基礎》第7周學習總結

教材學習内容總結

存儲技術

随機通路存儲器(RAM)

RAM分類:

20145233 《資訊安全系統設計基礎》第7周學習總結20145233 《資訊安全系統設計基礎》第7周學習總結
  • 靜态的SRAM-更快,更貴,作為高速緩存存儲器,CPU片上或片下
  • 動态的DARM-作為主存以及圖形系統的幀緩沖區

1.傳統的DRAM

(1)超單元

  • 晶片中的單元位被分為d個超單元,每個超單元有w個DRAM單元組成,一個dxw的DRAM總共存儲了dw位資訊。
  • 超單元被組織成一個r行c列的長方形,即rc=d。
  • 每個超單元有形如(i, j)的位址,i表示行,j表示列。

(2)資訊的流入流出

資訊通過引腳流入流出晶片,每個引腳攜帶一個1位的信号。

(3)存儲控制器

這個電路可以一次傳入或傳出w位。

  • RAS-行通路選通脈沖-行位址i
  • CAS-列通路選通脈沖-列位址j
  • RAS和CAS請求,共享相同的DRAM位址引腳。

    2.存儲器子產品

    20145233 《資訊安全系統設計基礎》第7周學習總結20145233 《資訊安全系統設計基礎》第7周學習總結

DRAM晶片包裝在存儲器子產品中,是插在主機闆的擴充槽上的。

168個引腳的雙列直插存儲器子產品-以64位為塊傳送或傳出資料。

72個引腳的單列直插存儲器子產品-以32位為塊傳送資料。

3.增強的DRAM

  • 快頁模式-FPM DRAM:允許對同一行連續的通路可以直接從行緩沖區得到服務。(原本的DRAM對同一行的四條指令時,每條指令取完後都會丢棄,然後重新讀取。)
  • 擴充資料輸出-EDO DRAM:允許單獨的CAS信号在時間上靠的更緊密一點。

    同步-SDRAM:用與驅動存儲控制器相同的外部時鐘信号的上升沿來代替許多這樣的控制信号-比異步的更快。

  • 雙倍資料速率同步-DDR SDRAM:通過使用兩個時鐘沿作為控制信号,進而使DRAM的速度翻倍。分類:DDR(2位),DDR2(4位),DDR3(8位)

    RDRAM

  • 視訊-VRAM:用在圖形系統的幀緩存區中,思想類似FPM DRAM,差別:
1.VRAM的輸出是通過依次對内部緩沖區的整個内容進行移位得到的
2.VRAM允許對存儲器并行的讀和寫。
           

4.非易失性存儲器——ROM

  • RAM斷電丢失資料,是易失的;
  • ROM是非易失的,統稱為隻讀存儲器

(1)分類

  • PROM-可程式設計ROM,隻能被程式設計一次
  • EPROM-可擦寫可程式設計ROM,能夠被擦除和編寫的次數的數量級大概為1000次
  • EEPROM,電子可擦除PROM,能夠被程式設計的次數的數量級在10的五次方。

(2)閃存FLASH

  • 基于EEPROM,為大量的電子裝置提供快速而持久的非易失性存儲。
  • 存在于:數位相機、手機、音樂播放器、PDA、筆記本、桌上型電腦、伺服器計算機系統

(3)固件

  • 存儲在ROM裝置中的程式通常被稱為固件,當一個計算機系統通電以後,他會運作存儲在ROM中的固件。

磁盤存儲

1.磁盤構造

20145233 《資訊安全系統設計基礎》第7周學習總結20145233 《資訊安全系統設計基礎》第7周學習總結

盤片

表面:每個盤片有兩個表面

主軸:盤片中央,可旋轉

旋轉速率:通常5400~15000/min

磁道:同心圓們

扇區:每個磁道被劃分為一組扇區

資料位:每個扇區包含相等數量的~,通常為512位元組

間隙:存儲用來辨別扇區的格式化位

磁盤驅動器-磁盤-旋轉磁盤

柱面:所有盤片表面上到主軸中心的距離相等的磁道的集合。

2.磁盤容量

(1)影響因素:

記錄密度-位/英寸

磁道密度-道/英寸

面密度-位/平方英寸

提高面密度即可提高容量。

(2)現代大容量磁盤——多區記錄

将柱面的集合分割成不相交的子集合(記錄區),每個區包含一組連續的柱面;

一個區中的每個柱面的每條磁道都有相同數量的扇區,這個扇區的數量由該區中最裡面的磁道所能包含的扇區數确定

注意:軟碟仍是老式方法,每條磁道的扇區數是常數

三、固體磁盤

固态硬碟是一種基于閃存的存儲技術,差別于旋轉磁盤:固态磁盤沒有移動的部分。

讀/寫

(1)順序讀寫

速度相當,順序讀比順序寫稍微快一點

(2)随機讀寫

寫比讀慢一個數量級

原因:底層閃存基本屬性決定。

一個閃存由B個塊的序列組成,每個塊由P頁組成。通常頁的大小是512~4kb,塊是由32~128頁組成的,塊的大小為16kb~512kb。

資料是以頁為機關讀寫的。

四、存儲技術優勢

  • 不同的存儲技術有不同的價格和性能折中
  • 不同存儲技術的價格和性能屬性以截然不同的速率變化着
  • 增加密度進而降低成本比降低通路時間更容易
  • DRAM和磁盤的性能滞後于cpu的性能

局部性

分類:

  • 時間局部性
  • 空間局部性

應用:

1.硬體層:

通過引入高速緩存存儲器來儲存最近被引用的指令和資料項,進而提高對主存的通路速度。

2.作業系統級:

系統使用主存作為虛拟位址空間最近被引用塊的高速緩存,用主存來緩存磁盤檔案系統中最近被使用的磁盤塊

3.應用程式中:

Web浏覽器将最近被引用的文檔放在本地磁盤上。

一、對程式資料引用的局部性

步長為k的引用模式

定義:一個連續變量中,每隔k個元素進行通路,就被稱為步長為k的引用模式。

步長為1的引用模式:就是順序通路一個向量的每個元素,有時也被稱為順序引用模式,它是程式中 空間局部性常見和重要的來源。

一般來說,随着步長增加,空間局部性下降。

存儲器層次結構

一、緩存

高速緩存:是一個小而快速的儲存設備,它作為存儲在更大、更慢的裝置中的資料對象的緩沖區域。

緩存:使用高速緩存的過程稱為緩存。

資料總是以塊大小為傳送單元在第k層與第k+1層之間來回拷貝。任一對相鄰的層次之間塊大小是固定的,但是其他的層次對之間可以有不同的塊大小。

一般來說:層越低,塊越大。

1.緩存命中

當程式需要第k+1層的某個資料對象d時,首先在目前存儲在第k層的一個塊中查找d,如果d剛好緩存在第k層中,就稱為緩存命中。

該程式直接從第k層讀取d,比從第k+1層中讀取d更快。

2.緩存不命中

即第k層中沒有緩存資料對象d。

這時第k層緩存會從第k+1層緩存中取出包含d的那個塊。如果第k層緩存已滿,就可能會覆寫現存的一個塊。

3.緩存不命中的種類

(1)強制性不命中/冷不命中

即第k層的緩存是空的(稱為冷緩存),對任何資料對象的通路都不會命中。

(2)沖突不命中

由于一個放置政策:将第k+1層的某個塊限制放置在第k層塊的一個小的子集中,這就會導緻緩存沒有滿,但是那個對應的塊滿了,就會不命中。

(3)容量不命中

當工作集的大小超過緩存的大小時,緩存會經曆容量不命中,就是說緩存太小了,不能處理這個工作集。

高速緩存存儲器

L1高速緩存:

位于CPU寄存器檔案和主存之間,通路速度2-4個時鐘周期

L2高速緩存:

位于L1高速緩存和主存之間,通路速度10個時鐘周期

L3高速緩存:

位于L2高速緩存和主存之間,通路速度30或40個時鐘周期

一、通用的高速緩存存儲器結構

高速緩存是一個高速緩存組的數組,它的結構可以用元組(S,E,B,m)來描述:

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

除此之外還有标記位和有效位:

有效位:每個行有一個有效位,指明這個行是否包含有意義的資訊
标記位:t=m-(b+s)個,唯一的辨別存儲在這個高速緩存行中的塊
組索引位:s
塊偏移位:b
           

高速緩存的結構将m個位址劃分成了t個标記位,s個組索引位和b個塊偏移位。

二、直接映射高速緩存

根據E(每個組的高速緩存行數)劃分高速緩存為不同的類,E=1的稱為直接映射高速緩存,以此為例:

高速緩存确定一個請求是否命中,然後取出被請求的字的過程,分為三步:

  • 1.組選擇
  • 2.行比對
  • 3.字抽取

    三、組相聯高速緩存

E路組相聯高速緩存:1<E<C/B

1.組選擇

和直接的一樣。

2.行比對和字選擇

形式是(key, value),用key作為标記和有效位去比對,比對上了之後傳回value。

3.行替換

有空行替換空行,沒有空行,應用替換政策:

随機替換

  • 最不常使用政策LFU:替換在過去某個時間視窗内引用次數最少的那一行。
  • 最近最少使用政策LRU:替換最後一次通路時間最久遠的那一行。

本周代碼托管連結

-代碼托管連結

本周的個人思考問題

本周對與git按照老師分類要求做的更多了,但是每個代碼都在不同的檔案夾下,我隻會在每個檔案夾下計算代碼行數,我如何計算幾個檔案夾下的代碼行數?

20145233 《資訊安全系統設計基礎》第7周學習總結20145233 《資訊安全系統設計基礎》第7周學習總結
20145233 《資訊安全系統設計基礎》第7周學習總結20145233 《資訊安全系統設計基礎》第7周學習總結

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

本周學習了存儲器層次結構,之前一直隻是知道各種存儲工具的名稱以及它們的一點好處,在系統的學習了知識後,我明白了其中的原理,不再像之前一樣的似懂非懂,我覺得在學習知識的時候對于其中每部分的基礎學習還是挺重要的。

本周的知識點其實也不少,對于這些需要記憶的知識以及計算,我覺得多次複習會起到很好地作用,這些知識中,存儲器山的圖還是比較難理的,但是轉換成柱狀圖後就很明顯,這說明其他各科的學習對于自己都是很有幫助的,是以多看多學是一種不錯的學習方式。

練習題

習題6.2

計算這樣一個磁盤的容量。它有2個盤片,10000個柱面,每條磁道平均有400個扇區,每個扇區平均有512個位元組

根據後面的公式計算,在書上的p442頁

磁盤容量 = 512*400*10000*2*2= 8 192 000 000 位元組 = 8.192GB
           

習題6.3

估計通路下面的一個磁盤上的一個扇區需要的時間(以ms為機關)。旋轉速率:15000RPM;Taveseek = 8ms;每條磁道的平均扇區數:500

通路時間 = Taveseek+Taverotation+Tavetransfer = 8ms+0.51/15000RPM60secs.min1000ms/s+1/15000RPM1/50060secs/min1000ms/s=8ms+2ms+0.008ms=10.008ms

習題6.4

假設1MB的檔案由512位元組的邏輯塊組成,存儲在有如下特性的磁盤驅動器上(旋轉速率:10 000RPM,Taveseek=5ms,平均扇區/磁道 = 1000)。

(利用書上393頁的公式來計算,省略計算過程)

(1)最好的情況:給定邏輯塊到磁盤扇區的最好的可能的映射(即,順序的),估計讀這個檔案需要的最優時間

(2)随機的情況:如果塊是随機地映射到磁盤扇區的,估計讀這個檔案需要的時間

(1)T=Taveseek+Taverotation+2Tmaxrotation=5ms+3ms+2*6ms=20ms

 (2)在這種情況下,塊被随機的映射到扇區上,讀2000塊的每一塊都需要Taveseek+Tavgrotation=8ms。是以讀這個檔案的總時間為T = 8ms*2000=16000ms=16s
           

習題6.8和習題6.9

代碼在Git中。

習題6.11

在前面dotprod的例子中,在我們對數組x做了填充之後,所有對x和y的引用的命中率是多少?

在填充了之後,對于x和y數組,消除了沖突不命中。因而命中率為75%
           

其餘練習題因過于複雜在書上進行計算了。

學習進度條

代碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目标 5000行 24篇 350小時
第一周 0/0行 1/2 20小時
第二周 53/53行 1/3 25/45小時
第三周 130/183行 1/4 30/75小時
第四周 0/183行 0/4 5/80小時
第五周 158/341行 1/5 30/110小時
第六周 84/425行 2/7 30/140小時
第七周 209/634行 1/7 30/170小時

注釋

-深入了解計算機系統,實驗樓

-程式的機器級表示

轉載于:https://www.cnblogs.com/hanhaochen/p/6013061.html

繼續閱讀