計算機組成原理複習3

存儲器的層次結構

1.存儲器的分類

層次分類

主存儲器(內存):存放程序和數據,CPU可以直接隨機訪問,可以和高速緩衝存儲器(Cache)以及輔助存儲器交換數據。特點是容量較小,存取速度較快,每位價格較高

輔助存儲器:外存,存放暫時不用的程序和數據,以及永久保存的信息,不能與Cpu直接交換信息,特點是容量大存取速度慢,成本低。

高速緩衝存儲器:Cache,位於主存和CPU之間,用來存放正在執行的程序段和數據

cpu不能直接訪問硬盤


多級存儲系統

主存和Cache之間的數據調動由硬件自動完成

主存和外存是由硬件和操作系統共同完成的


半導體隨機存儲器

1.半導體存儲芯片的基本結構

半導體存儲芯片內有存儲矩陣(存儲體),譯碼驅動電路和讀寫電路

  • 存儲矩陣:由大量相同的位存儲單元陣列構成
  • 譯碼驅動:將來自地址總線的地址信號翻譯成對應的存儲單元的選通信號,該信號在讀寫電路的配合下完成對選中單元的讀寫操作
  • 讀寫電路:包括讀出放大器和寫入電路,用來完成讀寫操作
  • 讀/寫控制線:決定芯片進行讀寫操作
  • 片選線:確定哪個存儲芯片被選中
  • 地址線:是單向輸入的,其位數與存儲字的個數有關
  • 數據線:雙向的,位數與讀寫的數據位有關,數據線和地址線共同反映存儲芯片容量的大小。

2.隨機存儲器

3..只讀存儲器ROM

ROM和RAM都支持隨機存取的存儲器,ROM一旦有信息不會隨斷電丟失,結構簡單,位密度比可讀寫存儲器高,非易失性

掩膜式只讀存儲器(MROM):寫入後無法改變,可靠性高,集成度高,價格便宜,靈活性差

一次可編程只讀存儲器(PROM):寫入無法改變

可擦除可編程只讀存儲器(EPROM):可以改寫,全部擦出後編程,紫外線擦除和電擦除,寫入時間長

閃速存儲器(Flash Menory):

固態硬盤(Solid State Drives)


主存儲器與CPU的連接

1.連接原理

  • 主存儲器通過數據總線,地址總線和控制總線與CPU連接,
  • 數據總線的位數與工作頻率的乘積正比於數據傳輸率
  • 地址總線的位數決定了可尋址的最大內存空間
  • 控制總線(寫讀)指出總線週期的類型和本次輸入/輸出操作完成的時刻

2.位擴展法

   對存儲芯片擴位(即進位擴展,用多個存儲器件對字長進行擴充,增加存儲字長),使其擴展位數與CPU的數據線數相等。位擴展的連接方式是將多個存儲芯片的地址端,片選端和讀寫控制端相應並聯,數據端分析引出。

3.字擴展法

指增加存儲器中字的數量,位數不變。字擴展將芯片的地址線,數據線,讀寫控制線相應並聯,由片信號來區分各芯片的地址範圍。

4.字位同時擴展法

即增加字數量,也增加字長;

5.存儲芯片的地址分配和片選

CPu要實現對存儲單元的訪問,首先要選擇存儲芯片,即進行片選;,然後再爲選中的芯片依地址碼選擇相應的存儲單元,以進行數據數據的存取,即字選。

片內的字選通常是由CPU送出的N條低位地址線完成的,地址線直接接到所有存儲芯片的地址輸入端。

1)線選法

      用除片內尋址外的高位地址線直接分別接至各個存儲芯片的片選端,片選地址線每次尋址時只能有一位有效,不允許同時多位有效;優點:不需要地址譯碼器,線路簡單。缺點:地址空間不連續,選片的地址線必須分時爲低電平,不能充分利用系統的存儲空間,造成地址資源浪費。

2)譯碼片選法    

     用除片內尋址外的高位地址線通過地址譯碼器芯片產生片選信號。

6.存儲器與CPU的連接

 1) 合理選擇存儲芯片

   存儲芯片類型(RAM和ROM)和數量的選擇。選擇ROM存放系統程序,標準子程序和各類常數,RAM是爲用戶編程而設置的。

 2)地址線的選擇

   存儲容量不同地址線數不同,通常將CPU地址線得低位與存儲芯片得地址相連接,,以選擇芯片中的某一單元,

 3)數據線的連接

   CPU得數據線與存儲芯片得數據線數不一定相等,想等時可以直接連接;不相等時必須對存儲芯片擴位。

 4)讀寫命令線的連接

   一般可以直接與存儲芯片得讀寫控制端相連,通常高電平爲讀,低電平爲寫

 5)片選線得連接


雙口RAM和多模塊存儲器

爲提高CPU訪問存儲器的速度,可以採用雙端口存儲器,多模塊存儲器等技術,同屬並行技術,前者空間並行,後者時間並行。

1.雙端口RAM

   指同一個存儲器有左右兩個獨立的端口,分別具有兩組相互獨立的地址線、數據線和讀寫控制線,允許倆個獨立的控制器同時異步的訪問存儲單元,兩個端口地址不同,兩個端口上進行讀寫操作一定不會發生衝突。

兩個端口同時存取存儲器的同一地址單元時,就會因數據衝突造成數據存儲或讀取錯誤;

  • 兩個端口同時對同一地址單元寫入數據,發生寫入錯誤
  • 兩個端口同時對同一地址單元,一個寫入,另一個讀出數據,發生讀出錯誤

2.多模塊存儲器

  1) 單體多字存儲器

        特點:只有一個存儲體,每個存儲單元存儲m個字,總線寬度爲m個字,一次並行讀出m個字,地址必須順序排列並處於同一存儲單元。

       單體多字系統在一個存取週期內,從同一地址取出m條指令,逐條將指令送至CPU執行,每隔1/m存取週期;

       缺點:指令和數據在主存內必須是連續存放的。

2)多體並行存儲器

      由多體模塊組成,每個模塊都有相同的容量和存取速度,各模塊都有獨立的讀寫控制電路,地址寄存器和數據寄存器。

  •  高位交叉編址:高位地址表示體號,低位地址爲體內地址(順序存儲器)
  • 低位交叉編址:低位地址爲體號,高位爲體內地址

模塊字長等於數據總線寬度,模塊存取一個字的存取週期T,總線傳送週期爲r,爲實現流水線方式存取,存儲器交叉模塊數應大於等於:  m=T/r

m爲交叉存取度,連續時間需要  T+(m+1)r .  順序方式連續讀取m各字需要mT

 模塊序號=訪問地址%存儲器交叉模塊數


虛擬存儲器

主存和聯機工作的輔存構成了虛擬存儲器,虛擬存儲器是透明的。

                                            

3.段式虛擬存儲器

   段式虛擬存儲器中的段是按程序得邏輯結構劃分的,各段長度因程序而異,把虛擬地址分爲兩部分:段號和段內地址。虛擬地址到實際地址之間的變換是由段表來實現的。段表是程序的邏輯段和在主存中存放地址的對照表。段表每一行記錄了與某個段對應的段號,裝入位,段起點和段長等信息。具有邏輯獨立性,易於編譯,管理,修改和保護,便於多道程序的共享。

5.快表TLB

  把經常訪問的頁表放在高速緩衝器組成的快表中,放在主存上的頁表表示慢表,同時進行查找,

6.虛擬存儲器與Cache比較

  不同:

  • Cache主要解決系統速度,而虛擬存儲器爲了解決主存容量
  • Cache全由硬件實現,是硬件存儲,對程序員透明;虛擬存儲器由OS和硬件共同實現,是邏輯上的存儲器,對系統程序員不透明,對應用程序員透明。

 

 

 

 

 

 

 

 

 

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