一、概述
1.分類
按存儲介質分類:
按存取方式分類:
1)隨機存儲器(Random Access Memory,RAM):可讀可寫的存儲器,可隨機存取,存取時間與存儲單元位置無關。
又分爲靜態RAM(以觸發器原理寄存信息)和動態RAM(以電容充放電原理寄存信息)。
2)只讀存儲器(Read Only Memory,ROM):能讀不能寫。包括掩模型只讀存儲器(Masked ROM,MROM)、可編程只讀存儲器(Programmable ROM,PROM)、可擦除可編程只讀存儲器(Erasable PROM,EPROM)、用電可擦除可編程只讀存儲器(Electrically EPROM,EEPROM)。
3)串行訪問存儲器:磁盤、磁帶等。
按在計算機中的作用分類:
分爲:主存、輔存和緩存。
主存:可以和CPU直接交換信息;
輔存:主存的後備軍,存放暫時不用的程序和數據,不能和CPU直接交換信息;
緩存:用在兩部不同速度的部件中。
2.層次結構
存儲系統層次結構主要體現在緩存-主存和主存-輔存這兩個存儲層次上。顯然,CPU與主存、緩存能直接交換信息;緩存能直接和CPU、主存交換信息;主存可以與CPU、緩存、輔存交換信息。
緩存-主存主要用於解決CPU和主存速度不匹配問題。數據調動由硬件自動完成,對程序員透明。
主存-輔存主要解決存儲系統容量問題。數據調動由硬件和操作系統共同完成。後來又形成了虛擬存儲系統,虛實地址之間轉換問題。
二、主存儲器
1.基本組成
主存由存儲體、MAR和MDR組成。
現代計算機的主存由半導體集成電路組成。驅動器、譯碼器和讀寫電路均製作在存儲芯片內,而MAR和MDR製作在CPU芯片內。存儲芯片和CPU芯片可通過總線連接。
當要從主存中讀出某一信息字時,首先由CPU將該字地址送到MAR,經地址總線送到主存,然後發出讀命令。主存接到讀命令之後,得知需要將該地址單元的內容讀出,便完成讀操作,將該單元的內容讀至數據總線上,至於該信息由MDR送到什麼地方,由CPU決定。若要向主存存入一個信息字時,首先CPU將該字所在主存單元的地址經MAR送到地址總線,並將該信息字送入MDR,然後向主存發出寫命令,主存接到寫命令後,便將數據線上的信息寫入到對應地址線指出的主存單元中。
2.主存中存儲單元的分配
分爲大端方式和小端方式。內存中按字節編址。一個字節佔8位,即兩個十六進制位,如12H。計算機中左邊爲高。
大端方式:高字節放在低地址內;小端方式:低字節放在低地址內。
上圖中,24根地址線,按字節尋址範圍爲16M,因爲2的20次方爲1M,2的4次方爲16,按字節尋址說明,一個地址有1B。
若一個字爲2B,即16位,所以24根地址線,按字尋址範圍爲8M;若一個字爲4B,即32位,則爲4M。
注意:地址範圍不能用字節(B)表示,上圖中,後面的B和W爲單位,表示尋址方式,即存儲單位。
3.主存的技術指標
(1)存儲容量:存放二進制代碼的位數,即存儲容量=存儲單元個數*存儲字長,單位爲:bit,即位。
(2)存儲速度:由存取時間和存取週期來表示的。
存取時間:又稱爲存儲器的訪問時間,指啓動一次存儲操作(讀或寫)到完成該操作所需的時間。分爲讀出和寫入時間。分別指從接收到有效地址,到讀出或寫入的全部時間。
存取週期:指存儲器進行連續兩次獨立的存儲操作(如連續兩次讀操作)所需的最小間隔時間。通常存取週期大於存取時間。因爲存取週期=存取時間+恢復時間。
三、半導體存儲芯片
1.存儲芯片的基本結構
芯片內由具有記憶功能的存儲矩陣、譯碼驅動電路和讀/寫電路等構成。其中:
地址線單向傳輸,數據線雙向傳輸,共同決定存儲芯片的容量。如地址線爲10根,數據線爲4根,則芯片容量爲2的十次方*4=4K位。
控制線有讀/寫控制線和片選線兩種。讀/寫控制線決定芯片進行讀/寫操作,片選線用來選擇存儲芯片。讀/寫控制線可由一或兩根組成。64K*8位的存儲器可由32片16K*1位的存儲芯片組成,其中選擇8片16K*1位的芯片構成1個16K*8位的芯片,然後選4組就構成一個64K*8位的芯片,每讀一個字時,選擇8片,因爲數據線爲8位。片選信號決定選擇的哪一組,比如地址爲65535,由片選信號選擇最後一組。
2.半導體存儲芯片的譯碼驅動方式
(1)線選法
下圖爲2的四次方*8=16*8字節的存儲芯片示意圖。
如當地址線A3A2A1A0爲1111時,則第15根線被選中,下面8位線便可直接讀出或寫入。
缺點:當1M的存儲單元時,地址線需要20根,但字線需要2的20次方根,存儲體內字線數目衆多。
(2)重合法
下圖爲1K*1位衝重合法結構示意圖。
X和Y兩個方向各32根線,即可選擇32*32矩陣中的任一位。如當地址線全爲0時,譯碼輸出X0和Y0有效,矩陣中第0行、第0列共同選中的那位即被選中。當欲構成1K*1字節的存儲器時,用8片即可。