計算機組成原理與體系結構----存儲系統

  • 數據的表示
  • 計算機結構
  • Flynn分類法
  • CISC與RISC
  • 流水線技術
  • 存儲系統
  • 總線系統
  • 可靠性
  • 校驗碼

 

  • 存儲系統

1、存儲的層次化結構

CPU(寄存器) <=>Cache(按內容存取) <=> 內存(主存) <=> 外存(輔存)

存取速度從左向右依次遞減,存儲容量從左向右依次變大。常用的外存有硬盤、光盤、U盤等。

2、Cache

(1)功能:提高CPU數據輸入輸出的速率,突破馮.諾依曼瓶頸,即CPU與存儲系統間數據傳送帶寬限制。

(2)在計算機的存儲系統體系中,Cache是訪問速度最快的層次。

(3)使用Cache改善系統性能的依據是程序的局部性原理。

3、常考計算題

使用Cache+主存儲器的系統平均週期。

如果以h代表對Cache的訪問命中率,t_{1}表示Cache的週期時間,t_{2}表示主存儲器週期時間,以讀操作爲例,使用“Cache+主存儲器”的系統的平均週期爲t_{3},則:

                                               t_{3} = h\times t_{1} + (1-h)\times t_{2}

其中,1-h稱爲失效率(未命中率)。

4、局部性原理

(1)概念

局部性原理是指CPU訪問存儲器時,無論是存取指令還是存取數據,所訪問的存儲單元都趨於聚集在一個較小的連續區域中。

(2)分類

  • 時間局部性:如果一個信息項正在被訪問,那麼在近期它很可能會被再次訪問;
  • 空間局部性:在最近的將來將用到的信息很可能與正在使用的信息在空間地址上是臨近的;
  • 順序局部性。

程序循環、堆棧等是產生時間局部性的原因;

指令的順序執行、數組的連續存放等是產生順序局部性的原因。

工作集理論:工作集是進程運行時被頻繁訪問的頁面集合。

5、主存

(1)分類

  • 隨機存取存儲器(RAM),如內存,特點:斷電數據丟失
  • 只讀存儲器(ROM),特點:斷電數據不丟失

(2)編址

存儲器地址(Memory address)是存儲器中存儲單元的編號。由於存儲器中存儲單元數量很多,爲了進行查找,需要給每個存儲單元賦予一個存儲器地址。每個存儲單元存放一個字節量的數據:一個字節B(Byte)= 8個二進制位b(bit)。

(3)例子

內存地址從AC000H到C7FFFH,共有(1)K個地址單元,如果該內存地址按字(16bit)編址,由28片存儲器芯片構成。已知構成此內存的芯片每片有16K個存儲單元,則該芯片每個存儲單元存儲(2)位。

  • (1)A.96   B.112   C.132      D.156
  • (2)A.4     B.8       C.16       D.24

解析:內存地址中的H或h表示十六進制。從AC000H到C7FFFH共有地址單元(C7FFF-AC000+1)H個=(C7FFF+1-AC000)H個=(C8000-AC000)H個=1C000H個地址單元,即1C000H個B,換算成K,則除以1024,即2^{10}

1C000 = 1\times 16^{4} + 12 \times 16^{3} + 0 \times 16^{2} + 0\times 16 + 0\times 1=(16+12)\times 16^{3}

地址單元:28\times 16^{3}\div 1024=28\times 16^{3}\div (4\times 16\times 16)=112 K。

內存地址從AC000H到C7FFFH有112K個地址單元,每個地址單元存儲16bit,則總容量是112K*16bit,

所以該芯片每個存儲單元存儲112K*16bit/(28*16K)bit=4bit

6、磁盤

(1)磁盤結構

磁盤由磁道和扇區構成。

                                                          

(2)磁盤的存取時間

存取時間 = 尋道時間 + 等待時間(平均定位時間 + 轉動延遲)

其中,尋道時間是指磁頭移動到磁道所需的時間;等待時間是等待讀寫的扇區轉到磁頭下方所用的時間。

(3)例子

假設某磁盤的每個磁道劃分成11個物理塊,每塊存放1個邏輯記錄。邏輯記錄R_{0},R_{1},R_{2},......,R_{10}存放在同一個磁道上,記錄的存放順訊如下表所示:

物理塊 1 2 3 4 5 6 7 8 9 10 11
邏輯記錄 R_{0} R_{1} R_{2} R_{3} R_{4} R_{5} R_{6} R_{7} R_{8} R_{9}​​​​​​​ R_{10}​​​​​​​

如果磁盤的旋轉週期爲33ms,磁頭當前處在R_{0}的開始處。若系統使用單緩衝區順序處理這些記錄,每個記錄處理時間爲3ms,則處理這11個記錄的最長時間爲(1);若對信息存儲進行優化分佈後,處理11個記錄的最少時間爲(2)

  • (1)A.33ms  B.336ms  C.366ms  D.376ms
  • (2)A.33ms  B.66ms    C.86ms    D.93ms

 解析:旋轉週期爲33ms,則旋轉一個物理塊所需時間3ms,磁盤是勻速不停歇的旋轉,所以最差(即用時最長)是磁盤旋轉一週處理一個物理塊,最差的物理塊排序如下圖所示,

                                                                     

        這種情況下,當磁盤從R_{0}的開始位置旋轉時,耗時3ms磁盤旋轉到R_{0}的結束位置,然後耗時3ms處理R_{0}中的記錄,處理完成後,磁盤剛好旋轉到R_{1}的結束位置。因爲系統使用單緩衝區順序處理這些記錄,這時系統應該處理R_{1}物理塊的內容,所以磁盤需要旋轉到R_{1}的結束位置,用時33ms,這時R_{1}物理塊的內容讀取出來了,然後再耗時3ms處理R_{1}中的記錄,這時磁盤已旋轉至R_{1}的結束位置...

        這種情況下,處理這11個記錄的耗時爲(3+3)+(33+3)*10=366ms。

        最好的情況是處理完一個物理塊後,正好磁盤旋轉到下一個要處理的物理塊,即物理塊的分佈如下圖所示,

                                                                    

        這種情況下,總耗時爲(3+3)*11=66ms。

所以,答案是C,B。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章