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