為簡(jiǎn)單起見(jiàn),以圖1所示的二極管存儲(chǔ)器為例來(lái)說(shuō)明rom的工作原理。
圖1 二極管rom電路
(1)存儲(chǔ)陣列
存儲(chǔ)陣列有條字線和四條位線,形成16個(gè)交叉點(diǎn)。通過(guò)在交叉點(diǎn)處接或沒(méi)有接二極管,就可以在該點(diǎn)存1或存0,所以每點(diǎn)都是一個(gè)基本存儲(chǔ)單元。例如,字線w0在兩處與位線接有二極管。當(dāng)w0被譯碼器選中為高電平(其余字線未選中均為低電平)時(shí),兩個(gè)二極管導(dǎo)通,使位線d2和d0為1,這相當(dāng)于接有二極管的交叉點(diǎn)存1;而沒(méi)有接二極管的另外兩個(gè)交叉點(diǎn),位線d3和d1為0,相當(dāng)于未接二極管的交叉點(diǎn)存0。由于各基本存儲(chǔ)單元的內(nèi)容有二極管的分布決定,設(shè)計(jì)和制造時(shí)已完全確定不能改變,而且所存的信息不會(huì)因斷電而消失。故rom也稱固定存儲(chǔ)器。
(2)地址譯碼器
圖示的是一個(gè)二極管譯碼器,我們知道,兩位地址代碼a1a0能確定四個(gè)不同的地址。根據(jù)譯碼電路的邏輯關(guān)系,地址譯碼器輸出的四個(gè)地址分別是:
即當(dāng)a1a0分別為00,01,10,11四種組合時(shí),字線w0,w1,w2,w3分別為1而被選中。例如,當(dāng)?shù)刂反aa1a0=00時(shí),地址譯碼器中只有與字線w0相連的兩個(gè)二極管的陰極同時(shí)為1,二極管“與”門輸出w0=1(其余字線w1,w2,w3均為0)。于是,存儲(chǔ)陣列輸出的數(shù)據(jù)為d3d2d1d0=1010。
地址譯碼器具有如下特點(diǎn):
(1)最小項(xiàng)譯碼
n個(gè)地址變量a0~an-1最小項(xiàng)的數(shù)目是n=2n,譯碼器的輸出字線的數(shù)目也為n條:w0~wn-1。圖10.1.2所示,當(dāng)rom地址譯碼器有兩個(gè)輸入地址代碼a1和a0,全部最小項(xiàng)為。即共有n==4個(gè)最小項(xiàng)及4條字線,最小項(xiàng)其編號(hào)如表10.1.1所示。故地址譯碼器也是最小項(xiàng)譯碼器。四個(gè)地址的存儲(chǔ)內(nèi)容也列于表1中。
(2)n取1譯碼
這就是說(shuō),無(wú)論an-1…a1a0為何種取值,n條字線w0~wn-1中只能有一條為高電平。因此,地址譯碼器是n取1譯碼器。
表1 n取1譯碼及rom存儲(chǔ)內(nèi)容
rom就其電路的總體結(jié)構(gòu)來(lái)看:
圖2 簡(jiǎn)化的rom存儲(chǔ)陣列圖
·地址譯碼器是一個(gè)“與”邏輯陣列。
參考二極管“與”門邏輯電路,會(huì)發(fā)現(xiàn)圖1的譯碼器含有四個(gè)與門:
·存儲(chǔ)陣列是一個(gè)“或”邏輯陣列
參考二極管“或”門邏輯電路,會(huì)發(fā)現(xiàn)圖1儲(chǔ)存陣列中含有四個(gè)或門:
有了上述的兩個(gè)概念,我們可以將圖1所示的rom電路可以簡(jiǎn)單表示成圖2所示的簡(jiǎn)化電路。將有二極管的基本存儲(chǔ)單元用一黑點(diǎn)表示。
rom的存儲(chǔ)陣列也可由雙極型晶體管和mos型場(chǎng)效應(yīng)管構(gòu)成,分別如圖3和圖4所示。存儲(chǔ)陣列中每個(gè)基本存儲(chǔ)單元存儲(chǔ)內(nèi)容也是以該單元有無(wú)管子來(lái)表示的。
圖3 雙極型晶體管存儲(chǔ)陣列
圖4 mos型存儲(chǔ)陣列
在圖3中,字線和位線交叉點(diǎn)接有晶體管時(shí),相當(dāng)于存1,無(wú)晶體管時(shí)相當(dāng)于存0。w0~w3中某字線被選中時(shí)給出高電平,使接在這條字線上所有晶體管導(dǎo)通,這些晶體管的發(fā)射極所接的位線為高電平,因而使數(shù)據(jù)輸出端輸出信息1。
在圖4中,若w0~w3中某字線被選中輸出高電平,使接在這條字線上的所有nmos管導(dǎo)通,這些管子的漏極所接的位線為低電平,經(jīng)反相器后,使數(shù)據(jù)輸出端輸出信息1。