只讀存儲器,大部分只讀存儲器用金屬—氧化物—半導體(MOS)場效應管制成,是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導體存儲器。只讀存儲器所存數(shù)據(jù),一般是裝入整機前事先寫好的,整機工作過程中只能讀出,而不像隨機存儲器那樣能快速地、方便地加以改寫。只讀存儲器所存數(shù)據(jù)穩(wěn)定 ,斷電后所存數(shù)據(jù)也不會改變;其結(jié)構(gòu)較簡單,讀出較方便,因而常用于存儲各種固定程序和數(shù)據(jù)。除少數(shù)品種的只讀存儲器(如字符發(fā)生器)可以通用之外,不同用戶所需只讀存儲器的內(nèi)容不同。
為便于使用和大批量生產(chǎn),進一步發(fā)展了可編程只讀存儲器(PROM)、可擦可編程序只讀存儲器(EPROM)和電可擦可編程只讀存儲器(EEPROM)。EPROM需用紫外光長時間照射才能擦除,使用很不方便。20世紀80年代制出的EEPROM,克服了EPROM的不足,但集成度不高,價格較貴。于是又開發(fā)出一種新型的存儲單元結(jié)構(gòu)同EPROM相似的快閃存儲器,其集成度高、功耗低、體積小,又能在線快速擦除,因而獲得飛速發(fā)展,并逐漸取代硬盤和軟盤成為主要的大容量存儲媒體。
結(jié)構(gòu)
只讀存儲器主要由地址譯碼器、存儲矩陣和輸出緩沖器三部分組成,如圖:
存儲矩陣是存放信息的主體,它由許多存儲單元排列組成。每個存儲單元存放一位二值代碼(0 或 1),若干個存儲單元組成一個“字”(也稱一個信息單元)。 地址譯碼器有n條地址輸入線A0~An-1,2n條譯碼輸出線W0~W2n-1,每一條譯碼輸出線Wi稱為“字線”,它與存儲矩陣中的一個“字”相對應。因此, 每當給定一組輸入地址時,譯碼器只有一條輸出字線Wi被選中,該字線可以在存儲矩陣中找到一個相應的“字”,并將字中的m位信息Dm-1~D0送至輸出緩沖器。讀出Dm-1~D0的每條數(shù)據(jù)輸出線Di也稱為“位線”,每個字中信息的位數(shù)稱為“字長”。
ROM的存儲單元可以用二極管構(gòu)成,也可以用雙極型三極管或MOS管構(gòu)成。存儲器的容量用存儲單元的數(shù)目來表示,寫成“字數(shù)乘位數(shù)”的形式。對于上圖的存儲矩陣有2n個字, 每個字的字長為m,因此整個存儲器的存儲容量為2n×m位。 存儲容量也習慣用K(1 K=1024)為單位來表示,例如1 K×4、2 K×8和64 K×1的存儲器,其容量分別是1024×4 位、2048×8 位 和65536×1 位。
地址譯碼器的作用是將輸入的地址代碼譯成相應的控制信號,利用這個控制信號從存儲矩陣中把指定的單元選出,并把其中的數(shù)據(jù)送到輸出緩沖器。
輸出緩沖器的作用有兩個,一是能提高存儲器的帶負載能力,二是實現(xiàn)對輸出狀態(tài)的三態(tài)控制,以便與系統(tǒng)的總線聯(lián)接。
如圖10-2所示的是一個由二極管構(gòu)成的容量為4×4的ROM。將地址譯碼器部分和二極管與門對照,可知地址譯碼器就是一個由二極管與門構(gòu)成的陣列,稱為與陣列。將存儲矩陣部分和二極管或門對照,可以發(fā)現(xiàn)存儲矩陣就是一個由二極管或門構(gòu)成的陣列,稱為或陣列。由此可以畫出如圖10-3所示的ROM邏輯圖。由圖10-3可知,該ROM的地址譯碼器部分由四個與門組成,存儲矩陣部分由四個或門組成。兩個輸入地址代碼A1A0經(jīng)譯碼器譯碼后產(chǎn)生四個字單元的字線W0W1W2W3,地址譯碼器所接的四個或門構(gòu)成四位輸出數(shù)據(jù)D3D2D1D0。
圖10-2
圖10-3
由圖10-3可得地址譯碼器的輸出為
存儲矩陣的輸出為
由這些表達式可求出如圖10-2所示的ROM存儲內(nèi)容,如表10-1所示。
表10-1
結(jié)合圖10-2及表10-1可以看出,圖10-2中的存儲矩陣有四條字線和四條位線,共有16個交叉點(注意,不是結(jié)點),每個交叉點都可以看作是一個存儲單元。交叉點處接有二極管時相當于存1,沒有接二極管時相當于存0。例如,字線W0與位線有四個交叉點,其中只有兩處接有二極管。當W0為高電平(其余字線均為低電平)時,兩個二極管導通,使位線D3和D1為1,這相當于接有二極管的交叉點存1。而另兩個交叉點處由于沒有接二極管,位線D2和D0為0,這相當于未接二極管的交叉點存0。存儲單元是存1還是存0,完全取決于只讀存儲器的存儲需要,設(shè)計和制造時已完全確定,不能改變;而且信息存入后,即使斷開電源,所存儲信息也不會消失。所以,只讀存儲器又被稱為固定存儲器。
圖10-4
圖10-2所示的ROM可以畫成如圖10-4所示的陣列圖。在陣列圖中,每個交叉點表示一個存儲單元。有二極管的存儲單元用一個黑點表示,意味著在該存儲單元中存儲的數(shù)據(jù)是1。沒有二極管的存儲單元不用黑點表示,意味著在該存儲單元中存儲的數(shù)據(jù)是0。例如,若地址代碼為A1A0=01,則W1=1,字線W1被選中,在W1這行上有三個黑點(存1),一個交叉點上無黑點(存0),此時字單元W1中的數(shù)據(jù)被輸出,即只讀存儲器輸出的數(shù)據(jù)為D3D2D1D0=1101。當然,只讀存儲器也可以從D0~D3各位線中單線輸出信息,例如位線D2的輸出為D2=W1+W2+W3。
類型
一般稱向ROM寫入數(shù)據(jù)的過程為對ROM進行編程,根據(jù)編程方法的不同,ROM通常可以分為幾類。
1.掩模式ROM
MROM的內(nèi)容是由半導體制造廠按用戶提出的要求在芯片的生產(chǎn)過程中直接寫入的,寫入之后任何人都無法改變其內(nèi)容。
MROM的優(yōu)點是可靠性高,集成度高,形成批量之后價格便宜;缺點是用戶對制造廠商的依賴性過大,靈活性差。
2.一次可編程ROM
PROM允許用戶利用專門的設(shè)備(編程器)進行一次寫入操作,但有且僅有一次。一旦寫入后,其內(nèi)容將無法改變。
3.可擦除可編程ROM
EPROM中的內(nèi)容既可以讀出,也可以寫入。但是在一次寫操作之前必須用紫外線照射15~20分鐘以擦去所有信息,然后再寫入,可以寫多次。
EPROM又可分為兩種,分別是紫外線擦除(UVEPROM)和電擦除(E2PROM)。
UVEPROM需用紫外線燈制作的擦抹器照射存儲器芯片上的透明窗口,使芯片中原存內(nèi)容被擦除。由于是用紫外線燈進行擦除,所以只能對整個芯片擦除,而不能對芯片中個別需要改寫的存儲單元單獨擦除。
E2PROM是采用電氣方法來進行擦除的,在聯(lián)機條件下既可以用字擦除方式擦除,也可以用數(shù)據(jù)塊擦除方式擦除。以字擦除方式操作時,能夠只擦除被選中的那個存儲單元的內(nèi)容;在數(shù)據(jù)塊擦除方式操作時,可擦除數(shù)據(jù)塊內(nèi)所有單元的內(nèi)容。
雖然EPROM是可讀寫的ROM,但由于它壽命有限,寫入時間過長等因素,仍不能取代RAM。
4.閃速存儲器
閃速存儲器(Flash Memory,閃存)是20世紀80年代中期出現(xiàn)的一種快擦寫型存儲器,其性能介于 EPROM與 E2PROM之間。與E2PROM相似,可使用電信號進行刪除操作。整塊閃速存儲器可以在數(shù)秒內(nèi)刪除,速度遠快于EPROM,而且可以選擇刪除某一塊而非整塊芯片的內(nèi)容,但還不能進行字節(jié)級別的刪除操作。集成度與EPROM相當,高于E2PROM。
目前,大多數(shù)微型計算機的主板采用閃速存儲器來存儲BIOS程序。因為閃速存儲器除了具有ROM的一般特性外,還有低電壓改寫的特點,便于用戶自動升級BIOS。
應用
在數(shù)字系統(tǒng)中,只讀存儲器的應用十分廣泛,如用于實現(xiàn)組合邏輯函數(shù)、進行波形變換、構(gòu)成字符發(fā)生器以及存儲計算機的數(shù)據(jù)和程序等。
1.用ROM實現(xiàn)組合邏輯函數(shù)
從上面的分析可知,ROM中的地址譯碼器實現(xiàn)了對輸入變量的與運算;存儲矩陣實現(xiàn)了有關(guān)字線變量的或運算。因此,ROM實際上是由與陣列和或陣列構(gòu)成的組合邏輯電路。從原則上講,利用ROM可以實現(xiàn)任何組合邏輯函數(shù)。
用ROM來實現(xiàn)組合邏輯函數(shù)的本質(zhì)就是將待實現(xiàn)函數(shù)的真值表存入ROM中,即將輸入變量的值對應存入ROM的地址譯碼器(與陣列)中,將輸出函數(shù)的值對應存入ROM的存儲單元(或陣列)中。電路工作時,根據(jù)輸入信號(即ROM的地址信號)從ROM中將所存函數(shù)值再讀出來,這種方法稱為查表法。
2.用ROM作函數(shù)運算表電路
數(shù)學運算是數(shù)控裝置和數(shù)字系統(tǒng)中需要經(jīng)常進行的運算。如果事先把要用到的基本函數(shù)變量在一定范圍內(nèi)的取值和相應的函數(shù)值列成表格寫入ROM中,則在需要時只要給出規(guī)定的地址就可非??焖俚氐玫较鄳暮瘮?shù)值。這種只讀存儲器實際上已經(jīng)成為函數(shù)運算表電路。函數(shù)運算表電路的實現(xiàn)方法與用ROM實現(xiàn)組合邏輯函數(shù)的方法相同。
3.用ROM作字符發(fā)生器電路
字符發(fā)生器也是利用ROM實現(xiàn)代碼轉(zhuǎn)換的一種組合邏輯電路,常用于各種顯示設(shè)備、打印機及其他一些數(shù)字裝置中。被顯示的字符以像點的形式存儲在ROM中,每個字符由7×5(或7×9)點陣組成。數(shù)據(jù)經(jīng)輸出緩沖器接至光柵矩陣。當?shù)刂反aA2A1A0選中某行時,該行的內(nèi)容即以光點的形式反映在光柵矩陣上。單元內(nèi)容為1,相應于光柵上就出現(xiàn)亮點。若地址碼周期性地循環(huán)變化,則各行的內(nèi)容就會相繼地反映在光柵上,從而顯示出所存儲的字符。
責任編輯人:CC
評論