在電腦等各種計算裝置中,大量的使用了半導體儲存空間。相對於硬碟,磁碟片,磁帶等磁性儲存空間,CD/VCD/DVD/PD等光學儲存空間,和MD磁光儲存空間而言,半導體儲存空間的優點很明顯:速度快,體積小,耐用。不過半導體儲存空間的價格也相對昂貴,而且容量並不大。
ROM和RAM指的都是半導體儲存空間。本來的含義是:ROM是Read Only Memory的意思,也就是說這種儲存空間只能讀,不能寫。而RAM是Random Access Memory的縮寫。這個詞的由來是因為早期的電腦曾經使用磁鼓作為記憶體,而磁鼓和磁帶都是典型的順序讀寫裝置。RAM則可以隨機讀寫,因此得名。
不過這是30年前的概念了。在半導體和計算技術突飛猛進的30年中,它們的含義都發生了一些變化。
現在ROM通常指非揮發的儲存空間,或者說,不掉電。系統停止供電的時候它們仍然可以保持資料。所以光碟片也有CD-ROM或者DVD-ROM的說法。而RAM通常都是沒電之後就沒有資料的,典型的就象電腦的記憶體,需要系統重新啟動的時候從硬碟重新載入資料。有的時候,如果資料可以擦寫,也會借用RAM這個概念,譬如DVD-RAM,其實只是可以擦寫的DVD光碟片而已,並非真正的半導體儲存空間。
ROM有很多種類,適合不同的使用需要。常見的有:
Mask-ROM
這種ROM的資料是在生產的時候寫入的,實際上它很象CD光碟片的原理,在半導體的光刻工藝過程中寫入了資料狀態。這中ROM的資料是不可能丟失的,而且它的成本非常低。在不需要資料更新的裝置中,Mask ROM被非常廣泛的使用。但是它完全不能擦寫的特點,使得它在計算裝置中不那麼受歡迎。比如在掌上型電腦中,我知道的只有Handspring生產的Visor系列的Palm OS PDA,和SONY生產的低端Clie SL-10使用了這種ROM。
FLROM / Fusible Link ROM
在晶片生產商處寫入資料,有的時候不那麼靈活,還會有保密問題。所以還有一種叫做Fusible Link的ROM。這種ROM在內部使用了一種可以熔斷的連線,裝置製造商可以用高電壓寫入資料,資料寫入之後,內部的部分連線就熔斷了,資料就永久保持在內部,和Mask ROM一樣了。這種一次性寫入的ROM不太常用。
EPROM / Erasible Programmable ROM
這是一種可以多次寫入的ROM了。因為可以多次寫入,所以叫做Programmable。EPROM的寫入需要專門的裝置,而資料的擦除則需要把ROM上的保護標籤取下,把內部晶片暴露在紫外光的照射下一段時間。實際上這種ROM稱為Programmable相當勉強,因為寫入電路是專用的,通常不會整合在計算裝置之中,所以它通常做成不常更新,而且是插拔方式的。當需要更新的時候,取下來放入專用的寫入裝置改寫。早期的某些電腦主板的BIOS,就使用了這種ROM。
EEPROM / E2PROM(E平方ROM) / Electrically Erasible Programmable ROM
EPROM不同,E2PROM的擦寫可以用電路而不是紫外線完成。擦寫的電壓比讀入電壓要高,通常在20V以上,擦寫速度也較EPROM快,在毫秒量級。EEPROM一度使用很多,不過目前被一種改進的ROM - Flash ROM代替了。
Flash ROM / Flash EEPROM
這是目前最常見的可擦寫ROM了,廣泛的用於主板和顯卡音效卡網卡等擴充卡的BIOS儲存上。而現在各種郵票尺寸的半導體儲存卡,包括Compact Flash/CF,Smart Media/SM,Security Digital/SD,Multimedia Card/MMC,Memory Stick/MS,以及FUJI新出的標準vCard,還有各種鑰匙鏈大小的USB移動硬碟/USB Drive/優盤,內部用的都是Flash ROM。絕大多數PDA/掌上型電腦也用它來儲存作業系統和內建程式。還有數位相機,數位攝像機,MD/MP3播放器內部的Fireware(用於儲存DSP/ASIC程式),也大多使用Flash ROM了。與EEPROM相比,Flash ROM有寫入速度快,寫入電壓低的優點。不過它的成本也是較高的,所以在很多低端裝置中,仍然會有廠商使用Mask ROM來降低成本,提高價格競爭力。
RAM,最常見的就是電腦的記憶體了。PDA/掌上型電腦中也會使用RAM來讓使用者儲存程式和資料,不過在PDA/掌上型電腦中,由電池供電,所以只要電池有電,RAM中的資料還是保留的,不會丟失。在MD/MP3播放器,DC/DV中也會使用RAM來儲存程式資料或者作為資料緩衝。
RAM有兩大類,一種稱為靜態RAM,Static RAM/SRAM。SRAM速度非常快,是目前讀寫最快的存放裝置了,但是它也非常昂貴。所以只在要求很苛刻的地方使用,譬如CPU的一級緩衝,二級緩衝。另一種稱為動態RAM,Dynamic RAM/DRAM,動態RAM的速度比SRAM慢,不過比任何ROM都要快。電腦記憶體就是DRAM的。
DRAM的種類太多了,無法一一列舉,這裡只列出最常見的:
DRAM,如果和其它DRAM種類一起說這個名詞,那它指的就是最老式的DRAM儲存空間,在定址上沒有作任何最佳化,速度很慢,只在386以前的電腦上有了。
FPRAM/FastPage RAM,快頁記憶體,以頁面方式讀取資料,比DRAM快,486上用過。
EDORAM,Extended Data Output RAM,這是比快頁記憶體更快的一種讀取方式,廣泛見於486和早期Pentium時代的電腦,PC上使用的EDO RAM通常是72針腳單面的,現在你還可以在比較老的一些電腦中找到它們。在PDA/掌上型電腦中,這種EDO記憶體還在廣泛使用著。
SDRAM,Sychronous DRAM,同步記憶體。早期的PC記憶體的時鐘和CPU外部時鐘不是同步的,這就會導致在每次讀寫資料的時候有個協同時間,效率不高,而SDRAM是可以和CPU的外部時鐘同步啟動並執行,提高讀寫效率。Pentium到Pentium III時代一直是SDRAM主宰者PC,這種168pin雙面針腳的記憶體條現在仍然普遍。在低端的顯示卡上也常常使用這種記憶體。
DDR RAM,DDR SDRAM,Double Date-Rate RAM。這種改進型的RAM和SDRAM是基本一樣的,不同之處在於它可以在一個時鐘讀寫兩次資料,這樣就使得資料轉送速度加倍了。這是目前電腦中用得最多的記憶體,而且它有著成本優勢,事實上擊敗了Intel的另外一種記憶體標準-Rambus DRAM。在很多高端的顯卡上,也配備了高速DDR RAM來提高頻寬,這可以大幅度提高3D加速卡的像素渲染能力。
RDRAM,Rambus DRAM,這是Intel公司的專利技術,和原來的記憶體讀寫方式有很大不同,它使用了一種高速串列方式,對於連續讀寫的時候非常有利,不過在隨機讀寫的時候相對於DDR RAM的優勢不明顯。而且成本高昂,最終在Intel這個巨人的強力推動下也沒有成為主流,只用在一些高檔的P IV電腦和伺服器上。
VRAM,Video RAM,這是一種雙連接埠的RAM,雙連接埠的好處是一端寫入的時候另一端還可以在讀出,最常見的應用是用在顯卡上,一端可以寫入螢幕資料,另外一端由RAMDAC(數字/類比訊號轉換器)讀出並轉換成視頻訊號輸出到顯示器上。對於使用高解析度顯示器的平面設計者來說,顯卡上武裝高速的VRAM必不可少。VRAM成本很高。
SGRAM,是一個SDRAM的改良型號,成本較低,但是可以以類似VRAM雙連接埠的方式工作。Matrox曾經用它來武裝Mystique系列低端顯卡。
WRAM,Windows RAM,是VRAM的一個簡化型號,Matrox曾經用它來武裝Millennium系列高檔顯卡。
在除了電腦之外的其它裝置中,EDO RAM和SDRAM仍然有很大市場。
ROM和RAM的種類非常繁多,有大量的針對具體應用和裝置設計的產品,不過最常見的就這麼多了。
最後再針對PDA/掌上型電腦裝置總結一下。
通常我們會看到在PDA/掌上型電腦上標稱xxM ROM和xxM RAM,這裡的ROM就是指儲存作業系統和內建程式的空間,掉電的時候,這些資料依然存在。除了使用Mask ROM的低端裝置,其它都是使用Flash ROM的,這意味著作業系統可以升級,某些程式還可以更改系統使得普通程式可以使用ROM中剩餘的空間。而RAM就是這些裝置可以儲存使用者程式和資料的空間,不過裝置徹底沒電的時候,這些資料都會丟失,所以通常的掌上型電腦/PDA裝置,都會在電池電壓較低的時候強行關機用剩餘的電量來保持資料,或者使用備用電池來完成這項工作。
新型號的掌上型電腦或者PDA裝置也都支援使用者使用外部擴充卡來儲存更多的程式和資料。這些外部擴充卡的種類在上面的文章裡都提到了,它們彼此不相容(SD和MMC可以使用同樣的插槽),效能和價格也不同,視使用者需要而定。這些擴充卡使用的都是Flash ROM。