經(jīng)常在書(shū)上看到這樣的字眼:RAM、ROM、內(nèi)存、外存,現(xiàn)做個(gè)總結(jié)。

首先我們要知道以上說(shuō)法都是對(duì)存儲(chǔ)器的分類,而存儲(chǔ)器就是用來(lái)存儲(chǔ)信息的。
1)按照相對(duì)于CPU的位置,分為寄存器、內(nèi)存、外存。關(guān)系如圖:

寄存器是在CPU之內(nèi)的存儲(chǔ)器,內(nèi)存、外存都是在CPU之外的存儲(chǔ)器。CPU能都直接訪問(wèn)的存儲(chǔ)器就是內(nèi)存,外存必須通過(guò)接口才能與CPU通信,因此從速度上比較:寄存器>內(nèi)存>外存。
2)按掉電后是否會(huì)丟失數(shù)據(jù),分易失性內(nèi)存(Volatile memory)、非易失性內(nèi)存(Non-Volatile memory,縮寫(xiě)為NVRAM)
易失性內(nèi)存主要有以下類型:
RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)
DRAM(Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)
SRAM(Static Random Access Memory,靜態(tài)隨機(jī)存取存儲(chǔ)器)
非易失性內(nèi)存主要有以下類型:
ROM(Read-only memory,只讀內(nèi)存)
PROM(Programmable read-only memory,可編程只讀內(nèi)存)
EAROM (Electrically alterable read only memory,電可改寫(xiě)只讀內(nèi)存)
EPROM(Erasable programmable read only memory,可擦可編程只讀內(nèi)存)
EEPROM(Electrically erasable programmable read only memory,電可擦可編程只讀內(nèi)存)
Flash memory(閃存)
? ? ? ?總的來(lái)說(shuō),ROM是在RAM的缺點(diǎn)下發(fā)展而來(lái)的,由于RAM掉電會(huì)丟數(shù)據(jù),所以人們考慮要把一些數(shù)據(jù)永久存起來(lái),于是有了ROM,只能讀不能寫(xiě)(比如計(jì)算機(jī)BIOS)。后來(lái)又發(fā)現(xiàn)ROM里的程序有時(shí)候需要改一改,于是又發(fā)展出可以寫(xiě)入新數(shù)據(jù)的ROM,如EPROM、EEPROM、Flash等。雖然已經(jīng)違背了ROM的本意——只能讀不能寫(xiě),但出于歷史原因,總體上還是稱為ROM。
? ? ? 因現(xiàn)今不能簡(jiǎn)單的把一個(gè)存儲(chǔ)器說(shuō)成是RAM或ROM,如電腦里的內(nèi)存條是內(nèi)存,有易失性,可讀可寫(xiě)(RAM的特性);移動(dòng)硬盤(pán)是內(nèi)存,有非易失性(ROM的特性),可讀可寫(xiě)(RAM的特性)。U盤(pán)是外存,有非易失性,可讀可寫(xiě)。
? ? ? ?在PC機(jī)里,內(nèi)存指的就是內(nèi)存條,CPU只能直接與內(nèi)存條交換數(shù)據(jù);外存指的是硬盤(pán),如win10系統(tǒng)就是裝在硬盤(pán)里的。開(kāi)機(jī)后,計(jì)算機(jī)把程序從硬盤(pán)(外存)調(diào)入內(nèi)存條(內(nèi)存)運(yùn)行
? ? ? ?在單片機(jī)里,由于它是SOC芯片,已經(jīng)把CPU、存儲(chǔ)器、I/O設(shè)備集成到了一塊小芯片上,它常用的存儲(chǔ)器是Flash,CPU能夠通過(guò)總線直接與其交換數(shù)據(jù),故把Flash稱為內(nèi)存,要燒寫(xiě)程序放在Flash,CPU直接從FLash讀取程序,里面也還有RAM,永遠(yuǎn)存放中間運(yùn)算結(jié)果,從這個(gè)角度講,這兩個(gè)存儲(chǔ)器都有內(nèi)存。
? ? ? ?另外還有一個(gè)緩存(Cache)的概念,它位于CPU與內(nèi)存之間,速度更快!現(xiàn)在在CPU里已經(jīng)有一級(jí)、二級(jí)、三級(jí)緩存了,但是容量小,因?yàn)閮r(jià)格太貴了。
參考資料:1.https://zh.wikipedia.org/wiki/%E9%9D%9E%E6%8F%AE%E7%99%BC%E6%80%A7%E8%A8%98%E6%86%B6%E9%AB%94
2.《嵌入式系統(tǒng)基礎(chǔ)--ARM與Realview MDK》 任哲 ?北京航空航天大學(xué)出版社 ?P31