計算機組成原理 主存儲器2

2.4只讀存儲器(ROM)

一、掩模ROM(MROM)

二、PROM(一次性編程)

三、EPROM(多次性編程)

四、EEPROM(多次性編程)

五、Flash Memory(閃速型存儲器)

2.5存儲器與CPU的連接

一、存儲器容量的擴展

1、位擴展(增加存儲字長)

2、字擴展(增加存儲字的數量)

二、存儲器與CPU的連接

1、地址線的連接

2、數據線的連接

3、讀/寫命令線的連接

4、片選線的連接

5、合理選擇芯片

2.6存儲器的校驗

合法代碼集合

一、編碼的最小距離

二、漢明碼的組成

2.7 提高訪存速度的措施

一、單體多字系統

二、多體並行系統

1、高位交叉 順序編址

2、低位交叉 各個體輪流編址

三、高性能存儲芯片

1、SDRAM(同步DRAM)

2、RDRAM

3、帶Cashe的DRAM


2.4只讀存儲器(ROM)

  • 早期只讀存儲器--廠家提前寫好內容
  • 改進1 --用戶可以自己寫--一次性
  • 改進2--可以多次寫--要能對信息進行擦除
  • 改進3--電可擦寫--特定設備
  • 改進3--電可擦寫--直接連接到計算機

一、掩模ROM(MROM)

廠家把信息直接寫在ROM上

  1. 1K*1的掩模ROM
  2. 最上面一排晶體管是預充電管
  3. 經過預充電管預充電後(當作限流電阻使用),所有V線都是高電平,在行列交叉點上有的有晶體管,有的沒有晶體管
  4. 假設某交叉點被選中且有晶體管,若被選中晶體管被導通,兩端被導通,V線高電平會變成低電平
  5. 輸出放大器會對數據進行反向
  6. 行列選擇線交叉處有MOS管爲1否則爲0

二、PROM(一次性編程)

  1. 熔絲如果進行讀出和寫入可以用熔絲的通和斷來保存信息,如果想保存0用大電流燒斷熔絲
  2. 編程後如果程序需要修改,只能重新購買芯片

三、EPROM(多次性編程)

N型溝道浮動柵MOS電路

  • G 柵極、S 源、D漏
  • 若在D加正電壓,就會在源和漏之間形成浮動柵,使源和漏不導通,保存的信息認爲是0
  • 如果在D不加電壓,不形成浮動柵 S與D導通 爲1
  • 如果要進行修改,重新寫入,需要驅散浮動柵
  • 使用紫外線照射進行擦洗

 

四、EEPROM(多次性編程)

  • 電可擦寫
  • 局部擦寫
  • 全部擦寫

五、Flash Memory(閃速型存儲器)

用在u盤或者硬盤,緩存

2.5存儲器與CPU的連接

一、存儲器容量的擴展

1、位擴展(增加存儲字長)

  • 用  2片  1K*4位存儲芯片組成1K*8位的存儲器
  • 2114 1K的容量需要10根地址線,將十根地址線輸入到每一個2114地址管腳
  • 2114是4位的 2個2114提供8位數據 每個2114數據線分別和cpu數據線上的四條進行連接,這樣可以滿足cpu需要8位數據的要求
  • 兩個芯片的片選要連接在一起,使兩個芯片同時進行工作
  • 一旦有讀寫信號會從兩個芯片內部相同的地址單元各讀出4位數據信息放在8條不同的數據線上

2、字擴展(增加存儲字的數量)

  • 用  2片 1K*8位 存儲芯片組成2K*8位的存儲器 2K需要11條地址線
  • 每個芯片用的是A0-A9,系統餘了一條地址線A10 
  • 若A10=0選擇第一個芯片如果A10=1就選擇第二個芯片,A10就是片選信號

3、字、位擴展

  • 用 8片 1K*4位 存儲芯片組成 4K*8位的存儲器 12根地址線 8根數據線
  • 使用2-4譯碼器 00第一組 01第二組 10第三組 11第四組 

二、存儲器與CPU的連接

1、地址線的連接

CPU給出地址,存儲器找到相應存儲單元,一般地址連接時,地址低位作爲地址送到存儲器地址線中,高位作爲芯片選擇信號

2、數據線的連接

CPU的數據線條數可能比存儲器長度多,這時要做位擴展,使存儲器輸入輸出數據滿足CPU要求。

3、讀/寫命令線的連接

ROM除外(只讀不寫)

4、片選線的連接

片選線連接時要確認CPU要訪問存儲器,每一個內存芯片都有自己的地址範圍,這個地址範圍要滿足CPU的要求

5、合理選擇芯片

保存系統程序用ROM,保存配置信息的部分用ROM,用戶程序或者系統程序運行區域是可讀可寫的用RAM芯片

  • MREQ信號一定要用,只有這個信號是低電平時這次訪問的地址纔在存儲器當中

 

2.6存儲器的校驗

內存爲例,內存是電子設備,信息保存在電容當中,如果採用靜態RAM,會保存在四管觸發器當中,如果內存所處的電磁環境比較複雜,或者是在空間環境下收到帶電粒子的打擊,就可能會造成電容的充電放電,或者是觸發器的反轉,存放在存儲器當中的信息就可能會出錯。存儲器中保存了程序運行需要用的代碼,如果不進行校驗,會導致程序的運行錯誤

合法代碼集合

1、{000,001,010,011,100,101,110,111} 檢0位錯、糾0位錯

從000-111連續變換,其中任何代碼出錯變化之後依然是集合中的合法代碼,計算機檢測不出代碼出錯。

2、{000,011,101,110} 檢1位錯,糾0位錯

000 101 110 錯1位都可以轉爲100

3、{000,111}檢1位錯,糾1位錯

4、{0000,1111}檢2位錯,糾1位錯

5、{00000,11111}檢2位錯,糾2位錯

一、編碼的最小距離

最小距離:合法代碼集中,任意兩組合法代碼之間二進制位數的最小差異。

編碼的檢錯、糾錯能力與編碼的最小距離有關

二、漢明碼的組成

漢明碼採用奇偶檢驗

  • 奇校驗:加上一個校驗位,加上原來的數據位,讓代碼1的個數是奇數個
  • 偶校驗:加上一個校驗位,加上原來的數據位,讓代碼1的個數是偶數個

漢明碼採用分組校驗

00100011  -> 100100011 第一位校驗位,總共偶數個1 偶校驗 ->1001000011 兩位校驗位分兩組校驗

 

漢明碼的分組是一種非劃分方式

三個圈爲P3 P2 P1三組 

分成三組,每組1位校驗位,幷包括4位數據位,1、2、4、8位置放校驗碼

2.7 提高訪存速度的措施

內存速度與cpu速度提升速度相差很多,但是cpu運行程序的時候,需要的數據和指令都要來自於內存,訓醒的結果要保存的內存當中去,如果存儲器很慢,cpu再快也無法提升整機的速度,cpu得不到所需要的數據和指令就只能空等,這種現象叫做存儲牆。

  • 採用高速器件
  • 採用Cashe-主存
  • 調整主存的結構

一、單體多字系統

把存儲器的存儲字長加長,CPU的字長是16位,存儲器的存儲字長設爲64位,cpu每次存儲器,都可以訪問出4個機器字,每一個都可以是一個機器指令,或者是長度爲16的數字,一次性把這個4個字取出存到數據寄存器當中,用的時候從數據寄存器中將其取走即可提升速度。

問題1:cpu向存儲器中某單元寫一個長度爲16的字,先寫到單字長寄存器,再寫到4個字長的數據寄存器中,再寫入到存儲器當中。會造成,我們可能只需要寫16位,但剩下的48位也會被寫入到給定的存儲單元,會造成給定的存儲字有48位被修改,修改可能是錯誤修改。

問題2:如果我們要取的數據或指令不是連續存儲的,比如一次取出了4條指令,第一條就是跳轉指令,但是跳轉比較大,不在這4條當中,這時取出的4位只有一條有用。

 

二、多體並行系統

1、高位交叉 順序編址

給存儲體構成的存儲器進行編址時,從某一個存儲體開始順序對其中單元進行編址

若每個存儲體都有自己的控制電路,都有自己的MAR、MDR、地址譯碼器,能夠對讀寫信號進行鎖存,那麼4個存儲體就可以進行並行操作了

把多個存儲體進行獨立,並且每個存儲體都有自己的控制電路來進行訪存操作,四個存儲體就有了並行操作的基礎

問題:如果用戶使用一個程序,程序在計算機中是按序存儲的,若一條指令存在000000,下一條存在000001,指令按序執行,在執行程序過程中M0被CPU不停訪問,其他存儲體是空閒的,按照程序存取特徵來說,會造成一個繁忙其他空閒的問題

用高位作爲選擇信號,選擇存儲體,低位作爲存儲體內部的地址輸入到存儲體當中尋找存儲單元。適合存儲器容量擴展不適合提高帶寬和訪存速度

2、低位交叉 各個體輪流編址

代碼在存儲體當中按地址進行順序存儲,000000,000001,cpu取指令時,在一個訪存週期的開始給出要訪問的地址包括體號和體內地址。這個信號假如訪問M0,M0會把內部地址和讀寫命令進行鎖存,自己完成讀操作,cpu在同一個主存週期中繼續傳輸地址給M1、M2,輪流的對M0、M1、M2、M3進行訪問。如果M0準備好了數據,在一個存取週期要結束時,可以向cpu進行傳送。此方法爲分離式通訊提高存儲器帶寬

三、高性能存儲芯片

1、SDRAM(同步DRAM)

在系統時鐘的控制下進行讀出和寫入

如果採用同步方式要求CPU和存儲器之間在給定的時間點上必須開始或者完成給定的操作,這樣存儲器的操作就可以和cpu的速度保持一致,cpu不需要等待

這要求存儲器芯片速度非常快

2、RDRAM

主要解決存儲器帶寬問題

3、帶Cashe的DRAM

在DRAM的芯片內集成了一個由SRAM組成的Cashe,有利於猝發式讀取

讀第一個數據時要從內存中讀,速度比較慢,但是讀後續的數據,因爲已經被緩衝到Cashe當中,速度會非常快。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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