陳 衡,馮凱平
(四川旅游學(xué)院 信息技術(shù)系,四川 成都 610100)
在高職高專的計(jì)算機(jī)基礎(chǔ)課教學(xué)過程中,關(guān)于硬件部分的實(shí)驗(yàn)極少,特別是對(duì)內(nèi)存的實(shí)驗(yàn)則完全是空白。因此,設(shè)計(jì)一種關(guān)于內(nèi)存讀寫數(shù)據(jù)過程的模擬實(shí)驗(yàn)過程顯得十分必要。當(dāng)前,電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)在工業(yè)領(lǐng)域應(yīng)用較多,其中比較成熟的EDA軟件,如美國NI公司的Multisim 10軟件就是電子產(chǎn)品設(shè)計(jì)領(lǐng)域一個(gè)極好的應(yīng)用工具[1]。其實(shí),Multisim 10良好的動(dòng)態(tài)仿真技術(shù)還可以很好地解決課程教學(xué)過程中理論教學(xué)與實(shí)際動(dòng)手實(shí)驗(yàn)相脫節(jié)的這一老大難問題。
圖1 ROM存儲(chǔ)原理Fig.1 Principle of ROM storage
圖1 為ROM數(shù)據(jù)存儲(chǔ)與讀數(shù)據(jù)原理簡化圖[2],僅為一個(gè)四位存儲(chǔ)器。其中,譯碼器輸出4根地址線A0、A1、A2、A3,屬于字線。該存儲(chǔ)器每個(gè)字為4位,分別存儲(chǔ)有二進(jìn)制數(shù)據(jù):
字A0:1011
字A1:1001
字A2:1110
字A3:0011
即,在字線和位線間跨接了二極管的位存儲(chǔ)1,未接二極管的位存儲(chǔ)0。
當(dāng)A、B(CPU地址信號(hào))分別發(fā)出代碼00、01、10、11地址時(shí),分別從D0、D1、D2、D3輸出字A0、字A1、字A2、字A3四個(gè)單元中的某一個(gè)中所存儲(chǔ)的數(shù)據(jù)。
教學(xué)實(shí)踐中,主要講解的內(nèi)容有3點(diǎn):
1)A、B地址關(guān)系:A、B是CPU發(fā)出的地址信號(hào),如果地址線有n根,輸出狀態(tài)則有2n個(gè),對(duì)應(yīng)著2n個(gè)字線。本例有2根地址線,因此字線有22=4根。
2)譯碼器:譯碼器的作用是將地址信號(hào)轉(zhuǎn)化為字線信號(hào)。字線的數(shù)量等于2n。在這2n根字線上,任何時(shí)候最多只有一根字線狀態(tài)為高電位,即“有效”,其余的字線全部無效。
3)數(shù)據(jù)存儲(chǔ)單元:在位線和字線間跨接了二極管的交叉點(diǎn),其邏輯值為1,否則為0。因此,圖1 4個(gè)單元所存儲(chǔ)的數(shù)據(jù)分別為1011、1001、1110、0011。但是,每個(gè)單元里的數(shù)據(jù)只有當(dāng)該單元對(duì)應(yīng)的字線為高電平時(shí)才能夠通過4根位線D0、D1、D2、D3輸出。
其教學(xué)內(nèi)容可以延伸至隨機(jī)存儲(chǔ)器RAM,僅需要將圖1中的二極管改為可讀可寫的其他存儲(chǔ)器件即可,工作原理與ROM幾乎相同。
在Multisim 10中,有一個(gè)極具特色的但鮮為人知的虛擬儀器Logic Converter,即邏輯轉(zhuǎn)換儀。此儀器是現(xiàn)實(shí)工作中沒有的[3-4]。它具有以下功能:1)將邏輯電路轉(zhuǎn)換為真值表;2)將真值表轉(zhuǎn)換為邏輯表達(dá)式;3)將真值表轉(zhuǎn)換為簡化的邏輯表達(dá)式;4)將邏輯表達(dá)式轉(zhuǎn)化為真值表;5)將表達(dá)式轉(zhuǎn)換為邏輯電路;6)將邏輯表達(dá)式轉(zhuǎn)換為與非門邏輯電路等。靈活運(yùn)用此虛擬儀器,可以給數(shù)字電路設(shè)計(jì)者帶來極大的方便。
圖2 邏輯轉(zhuǎn)換儀圖標(biāo)Fig.2 Ico of logic converter
圖3 邏輯轉(zhuǎn)換儀面板Fig.3 Panel of logic converter
圖2 為邏輯轉(zhuǎn)換儀圖標(biāo),有9個(gè)端子,左面8個(gè)為輸入端,最右邊一個(gè)為輸出端。
圖3為其面板。A-H對(duì)應(yīng)圖2的8個(gè)輸入端,表示最多可以應(yīng)用8個(gè)變量。但實(shí)際操作中,變量的個(gè)數(shù)視邏輯電路的實(shí)際需求而定。
中間的3個(gè)白色區(qū)域中,最左邊的顯示輸入變量取值組合所對(duì)應(yīng)的十六進(jìn)制數(shù)碼;中間的顯示輸入變量的全部二進(jìn)制取值;右邊顯示中間區(qū)域各種取值下可能的結(jié)果,它需要操作員點(diǎn)擊?號(hào)取0或1完成。
圖3右邊有6個(gè)按鈕,分別是:由邏輯電路轉(zhuǎn)換為真值表、由真值表導(dǎo)出邏輯表達(dá)式、由真值表導(dǎo)出簡化的邏輯表達(dá)式、從邏輯表達(dá)式得出真值表、從邏輯表達(dá)式得到邏輯電路、由邏輯表達(dá)式得到與非門電路。
圖4 譯碼器表達(dá)式轉(zhuǎn)換圖Fig.4 Transition diagram of decoder expression
由于圖1采用的是二四譯碼器,因此僅需要兩個(gè)變量A、B即可。由圖3可見,A、B具有4種不同的取值。
對(duì)于圖1中的A0取值,只有當(dāng)A、B等于00時(shí)輸出為1,而A、B為01、10、11時(shí)輸出均為0。為此,操作員需要用鼠標(biāo)在右邊白色區(qū)域分別點(diǎn)擊4個(gè)?讓其為1000,然后再點(diǎn)擊右邊第二個(gè)或第三個(gè)按鈕,此時(shí)在圖3的下邊會(huì)出現(xiàn)A’B’(A’表示A的非)字樣,表示A非和B非的與。見圖4最下方所示。
點(diǎn)擊圖4右邊第五個(gè)按鈕可以將表達(dá)式A’B’轉(zhuǎn)化為圖5(a)的邏輯電路圖。
同理,在右側(cè)白色區(qū)域分別設(shè)置成0100、0010、0001時(shí),可分別轉(zhuǎn)換成圖5電路中的(b)、(c)、(d)。將圖5中4個(gè)電路圖中的輸入變量A、B統(tǒng)一連接,即得到圖1中的二四譯碼器。
圖5 二四譯碼器的4種輸入方式Fig.5 Four kinds of input way of two to four decoder
如圖1,在字線和位線上交叉點(diǎn)上接上二極管處,該點(diǎn)的邏輯值為1,否則為0。
二極管的選擇如圖6,在元件工具欄中選擇二極管符號(hào),然后選擇1N4001,點(diǎn)擊OK選中。
按圖1設(shè)計(jì)的仿真電路如圖7。在圖7中,將二極管拖至合適的位置即可。
圖7中開關(guān)J1、J2的設(shè)置。
在元件工具欄中選中兩個(gè)開關(guān)J1和J2,當(dāng)開關(guān)向上撥時(shí),J1、J2與Vcc的5 V電源連接,模擬值為1,向下時(shí)J1、J2接地,為邏輯0。
圖6 選擇二極管Fig.6 Selecting diode
在Multisim儀表欄中選中8個(gè)XMM儀表,分別連接至4根位線和4根字線,如圖7所示,用于顯示數(shù)據(jù)輸出邏輯值以及字線狀態(tài)。
圖7所示的模擬輸入狀態(tài)即A、B值為00,A0字線被選中,A0字線的輸出值為1011。此時(shí),雙擊位線上的4個(gè)電壓表XMM1-XMM4,其電壓值分別顯示的是4.388 V、0 V、4.388 V、4.388 V,分別代表1、0、1、1。而4根字線僅有A0線顯示5 V,A1、A2、A3三根字線顯示的電壓值均為0 V,如圖8。
同理,如果將J1開關(guān)撥至Vcc,則A、B輸入值為10,字線A2將被選中,其輸出值為1110。不斷地轉(zhuǎn)換J1和J2的位置,將選中不同的字線,并輸出各自字線上所存儲(chǔ)的邏輯值。
圖7 ROM實(shí)驗(yàn)整體結(jié)構(gòu)Fig.7 Whole structure of ROM experiment
圖8 運(yùn)行結(jié)果Fig.8 Result of operation
從圖7可見,二四譯碼器由兩個(gè)非門和4個(gè)與門組成,每個(gè)與門的輸出端為字線信號(hào)。
J1、J2代表CPU發(fā)出的地址信號(hào),經(jīng)過譯碼器譯碼后變成為字線信號(hào),并且在所有的字線信號(hào)中僅有唯一被選中的字線為1信號(hào),其余全部字線信號(hào)必須為0。
非計(jì)算機(jī)專業(yè)高職高專生對(duì)計(jì)算機(jī)硬件的理解極易產(chǎn)生偏差[5],因此,教學(xué)中應(yīng)當(dāng)注意以下幾點(diǎn):
1)需重點(diǎn)講解J1、J2作為地址信號(hào)的作用、二極管存儲(chǔ)結(jié)構(gòu)如何輸出所存儲(chǔ)的邏輯值。至于二極管的工作原理、電阻R1-R4起何種作用、二四譯碼器的工作原理等無需作詳細(xì)講解。
2)正常情況下,每根字線上有8位二進(jìn)制位,需要8根位線,即一個(gè)字節(jié),其工作原理與圖7四位位線的存儲(chǔ)器工作原理完全相同。至于字線的擴(kuò)展,如欲將圖7擴(kuò)展到8個(gè)數(shù)據(jù)單元,可將譯碼器改為三八譯碼器,此時(shí)地址線達(dá)到三根,字線則達(dá)到8根,存儲(chǔ)單元的個(gè)數(shù)增加了一倍。至于更多字線擴(kuò)展的原理與其完全相同。
3)當(dāng)字線電壓為5 V時(shí),如果位線上有二極管,則該位線電壓為4.388 V,這是由于當(dāng)二極管正向?qū)〞r(shí),其上有大約0.6 V的壓降所至。關(guān)于此知識(shí)原理不作為知識(shí)點(diǎn)對(duì)高職高專生加以介紹,僅簡述二極管可有0.6 V的壓降、或1.4 V以上均稱為高電平即可。
通過老師的演示,學(xué)生對(duì)ROM的工作原理已經(jīng)建立了較為直觀的印象,再讓學(xué)生自己在計(jì)算機(jī)實(shí)驗(yàn)室親自動(dòng)手操作,包括電路的設(shè)計(jì)、元件的布置、儀器的使用、邏輯關(guān)系的轉(zhuǎn)換等[6],最后得到所需要的操作結(jié)果。當(dāng)學(xué)生真正掌握了ROM、RAM的工作原理之后,對(duì)其他硬件內(nèi)容的理解就容易得多了。
對(duì)于高職高專非計(jì)算機(jī)專業(yè)的新入校學(xué)生,作為計(jì)算機(jī)基礎(chǔ)課,什么是二進(jìn)制?二進(jìn)制如何應(yīng)用?計(jì)算機(jī)與二進(jìn)制之間的關(guān)系是什么?二進(jìn)制如何存儲(chǔ)?CPU如何存取二進(jìn)制數(shù)據(jù)等知識(shí),這些知識(shí)是十分抽象的,加之這些知識(shí)在計(jì)算機(jī)上很難用實(shí)驗(yàn)進(jìn)行驗(yàn)證,成為教學(xué)中的一大瓶頸。理論講解固然能夠?qū)⑵浠镜览韨魇诮o學(xué)生,但學(xué)生只能死記硬背,不能深刻理解其內(nèi)涵。要使得學(xué)生能夠?qū)W得更扎實(shí),印象更深刻,能很好地掌握二進(jìn)制的應(yīng)用方法,并進(jìn)而理解計(jì)算機(jī)是如何工作的,需要找到一種靈活的、動(dòng)態(tài)的、形象的教學(xué)工具。Multisim 10以其優(yōu)秀的仿真功能,可以作為計(jì)算機(jī)基礎(chǔ)教學(xué)的有力輔助工具。
[1]郭振民,丁紅等.電子設(shè)計(jì)自動(dòng)化EDA[M].北京.中國水利水電出版社,2009.
[2]Niklaus Wirth.Digital Circuit Design[M].北京.高等教育出版社,2002.
[3]程勇.實(shí)例講解Multisim10電路仿真[M].北京.人民郵電出版社,2010.
[4]程思寧,耿強(qiáng),姜文波,等.虛擬仿真技術(shù)在電類實(shí)驗(yàn)教學(xué)中的應(yīng)用與實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理.2013,30(7):94-97.CHENG Sining,GENG Qiang,JIANG Wen-bo,et al.Application and practice of virtual simulation technology in experimental teaching of electrical courses[J].Experimental Technology and Management.2003,30(7):94-97.
[5]張文梅,黃曉紅,崔楠.仿真技術(shù)在電類課程實(shí)踐教學(xué)中的應(yīng)用[J].廣東農(nóng)工商職業(yè)技術(shù)學(xué)院學(xué)報(bào),2013,29(2):42-46.ZHANG Wen-mei,HUANG Xiao-hong,CUI Nan.Application of simulation technology in practicalteaching of elelctric courses[J]. Journal of Guangdong AIB Polytechnic College,2013,29(2):42-46.
[6]王剛,王艷芬,于洪珍.基于Multisim的鎖相環(huán)應(yīng)用電路仿真[J].電氣電子教學(xué)學(xué)報(bào),2008,30(3):67-69.WANG Gang,WANG Yan-fen,YU Hong-zhen.The simulation of PLL and its application circuit based multisim[J].Journal of IEEE,2008,30(3):67-69.