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