吳榮海+姚麗+李霞
摘 要: 將Logisim引入計(jì)算機(jī)硬件基礎(chǔ)課程開放實(shí)驗(yàn)項(xiàng)目的綜合性實(shí)驗(yàn)項(xiàng)目中,并給出“利用Logisim設(shè)計(jì)實(shí)現(xiàn)原碼一位乘法器”實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)仿真過程,仿真結(jié)果證明,將Logisim引入綜合性實(shí)驗(yàn)項(xiàng)目中具有可行性。
關(guān)鍵詞: 計(jì)算機(jī)硬件基礎(chǔ)課程 開放實(shí)驗(yàn)項(xiàng)目 綜合性實(shí)驗(yàn)項(xiàng)目 Logisim
“計(jì)算機(jī)組成原理”與“數(shù)字邏輯電路”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的硬件基礎(chǔ)課程,這兩門課程均需要通過實(shí)驗(yàn)教學(xué)加深學(xué)生對(duì)理論知識(shí)的理解及動(dòng)手能力的培養(yǎng)。盡管上述兩門課程理論與實(shí)驗(yàn)教學(xué)的先后銜接關(guān)系非常明確,但是長(zhǎng)期以來兩門課程的實(shí)驗(yàn)教學(xué)缺少有效銜接,導(dǎo)致學(xué)生在計(jì)算機(jī)硬件實(shí)驗(yàn)技術(shù)方面訓(xùn)練嚴(yán)重不足并影響對(duì)相關(guān)知識(shí)點(diǎn)的理解和掌握[1],從而出現(xiàn)計(jì)算機(jī)硬件基礎(chǔ)課程教師難教、學(xué)生厭學(xué)的不利現(xiàn)狀。
開放實(shí)驗(yàn)的目的是更好地培養(yǎng)學(xué)生的創(chuàng)新精神和實(shí)踐能力,其中開設(shè)的綜合性實(shí)驗(yàn)項(xiàng)目旨在培養(yǎng)學(xué)生的綜合分析能力、實(shí)驗(yàn)動(dòng)手能力、數(shù)據(jù)處理能力及查閱中外文獻(xiàn)資料的能力。研究如何利用開放實(shí)驗(yàn)中的綜合性實(shí)驗(yàn)項(xiàng)目,實(shí)現(xiàn)在涵蓋計(jì)算機(jī)組成原理課程教學(xué)重點(diǎn)的同時(shí)又兼顧到與數(shù)字邏輯電路課程間的相互銜接,以形成計(jì)算機(jī)專業(yè)硬件基礎(chǔ)課程實(shí)驗(yàn)教學(xué)體系是十分必要的[2-4]。
1.Logisim在計(jì)算機(jī)專業(yè)硬件基礎(chǔ)課程實(shí)驗(yàn)教學(xué)中的應(yīng)用可行性
Logisim[6]作為一個(gè)數(shù)字邏輯電路的設(shè)計(jì)與仿真軟件,相比較EWB,LabVIEW,Multisim,ELVIS,Proteus等軟件,具有開源免費(fèi)可二次開發(fā)、無須安裝即可運(yùn)行、軟件使用簡(jiǎn)單易學(xué)、仿真結(jié)果直觀易于理解等優(yōu)點(diǎn),適合用于數(shù)字邏輯電路的設(shè)計(jì)與仿真。Logisim除了提供基本的門電路(Gate),還提供編碼器(Plexer)、算術(shù)單元(Arithmatic)、存儲(chǔ)(時(shí)序)電路(Memory)、按鈕、LED、7段數(shù)碼管等輸入輸出(Input/Output)設(shè)備。在Logisim中通過簡(jiǎn)單的鼠標(biāo)拖拽操作就可以建立起邏輯電路,并通過仿真直觀地看到運(yùn)行結(jié)果;另外,在Logisim中還可以利用真值表、邏輯表達(dá)式的方式建立邏輯電路。Logisim在“數(shù)字邏輯電路”實(shí)驗(yàn)教學(xué)中的應(yīng)用是完全可行的[5]。
利用Logisim所提供的子電路(Subcircuit)工具、探查(Probe)工具、通道(Tunnel)工具與分割(Splitter)工具,可以將各個(gè)功能部件封裝為獨(dú)立的子電路,然后通過總線連接為一個(gè)整體?!坝?jì)算機(jī)組成原理”中大量由基本門電路通過總線連接而成的計(jì)算機(jī)功能部件實(shí)例適合利用Logisim軟件設(shè)計(jì)及仿真[7]。
2.基于Logisim的計(jì)算機(jī)硬件基礎(chǔ)課程綜合性實(shí)驗(yàn)項(xiàng)目實(shí)例
借助Logisim所提供的組件,將理論教學(xué)中一些抽象、不便于理解的概念和實(shí)現(xiàn)技術(shù)進(jìn)行門電路級(jí)的仿真實(shí)現(xiàn)并加以調(diào)試,加深學(xué)生對(duì)于所學(xué)知識(shí)的理解,加強(qiáng)學(xué)生利用所學(xué)知識(shí)解決實(shí)際問題的能力。
原碼一位乘法對(duì)于學(xué)生進(jìn)一步認(rèn)識(shí)計(jì)算機(jī)ALU中數(shù)據(jù)信息的加工處理流程,從而進(jìn)一步加深對(duì)計(jì)算機(jī)硬件組成及整機(jī)工作原理的理解,并綜合運(yùn)用硬件基礎(chǔ)科學(xué)和所學(xué)知識(shí)設(shè)計(jì)實(shí)現(xiàn)功能部件有重要意義[8]?!袄肔ogisim設(shè)計(jì)實(shí)現(xiàn)原碼一位乘法器”實(shí)驗(yàn)項(xiàng)目要求實(shí)現(xiàn)兩個(gè)17位原碼表示機(jī)器數(shù)的乘法,并能夠仿真通過。學(xué)生在設(shè)計(jì)實(shí)現(xiàn)乘法器過程中,必須綜合運(yùn)用“數(shù)字邏輯電路”、“計(jì)算機(jī)組成原理”課程中學(xué)過的設(shè)計(jì)方法、理論知識(shí)才能最終完成項(xiàng)目。因此,將“利用Logisim設(shè)計(jì)實(shí)現(xiàn)原碼一位乘法器”作為計(jì)算機(jī)專業(yè)硬件基礎(chǔ)課程的綜合性實(shí)驗(yàn)項(xiàng)目,實(shí)現(xiàn)了“利用開放實(shí)驗(yàn)中的綜合性實(shí)驗(yàn)項(xiàng)目涵蓋計(jì)算機(jī)組成原理課程教學(xué)重點(diǎn)的同時(shí)又能夠兼顧到與數(shù)字邏輯電路課程間的相互銜接,以形成計(jì)算機(jī)專業(yè)硬件基礎(chǔ)課程實(shí)驗(yàn)教學(xué)體系”的目標(biāo)。
2.1原碼一位乘法
利用原碼實(shí)現(xiàn)乘法運(yùn)算是十分方便的。原碼表示的兩個(gè)數(shù)相乘,其乘積符號(hào)為相乘兩個(gè)數(shù)符號(hào)的異域值,數(shù)值則為兩個(gè)數(shù)絕對(duì)值之積。設(shè):
2.2基于Logisim的原碼一位乘法的仿真電路
2.2.1基于Logisim的原碼一位乘法的仿真電路控制部分
2.1.2基于Logisim的原碼一位乘法的仿真電路運(yùn)算部分
2.3原碼一位乘仿真電路3組測(cè)試數(shù)據(jù)驗(yàn)證
2.3.1第1組測(cè)試數(shù)據(jù)結(jié)果
寄存器X:0 1111 1111 1111 1111 B,寄存器Q:1111 1111 1111 1111 B,結(jié)果為(其中左邊17個(gè)LED對(duì)應(yīng)乘積的高17位,右邊16個(gè)LED對(duì)應(yīng)乘積的低16位):
寄存器X中存放的是被乘數(shù)的數(shù)值部分,寄存器Q中存放的是乘數(shù)的數(shù)值部分,即:
利用原碼1位乘運(yùn)算規(guī)則[8]計(jì)算得:
電路仿真結(jié)果與計(jì)算結(jié)果一致,該組測(cè)試數(shù)據(jù)通過。
2.3.2第2組測(cè)試數(shù)據(jù)結(jié)果
寄存器X:0 0001 0010 0011 0100 B,寄存器Q:1010 1011 1100 1101 B,結(jié)果為(其中左邊17個(gè)LED對(duì)應(yīng)乘積的高17位,右邊16個(gè)LED對(duì)應(yīng)乘積的低16位):
寄存器X中存放的是被乘數(shù)的數(shù)值部分,寄存器Q中存放的是乘數(shù)的數(shù)值部分,即:
利用原碼1位乘運(yùn)算規(guī)則[8]計(jì)算得:
電路仿真結(jié)果與計(jì)算結(jié)果一致,該組測(cè)試數(shù)據(jù)通過。
2.3.3第3組測(cè)試數(shù)據(jù)結(jié)果
寄存器X:0 0000 0000 0000 0000 B,寄存器Q:0000 0000 0000 0000 B,結(jié)果為(其中左邊17個(gè)LED對(duì)應(yīng)乘積的高17位,右邊16個(gè)LED對(duì)應(yīng)乘積的低16位):
寄存器X中存放的是被乘數(shù)的數(shù)值部分,寄存器Q中存放的是乘數(shù)的數(shù)值部分,即:
利用原碼1位乘運(yùn)算規(guī)則[8]計(jì)算得:
電路仿真結(jié)果與計(jì)算結(jié)果一致,該組測(cè)試數(shù)據(jù)通過。
3.結(jié)語
通過仿真結(jié)果及驗(yàn)證,3組測(cè)試數(shù)據(jù)均通過測(cè)試,證明所給基于Logisim的原碼一位乘法仿真電路正確,“利用Logisim設(shè)計(jì)實(shí)現(xiàn)原碼一位乘法器”作為計(jì)算機(jī)硬件類基礎(chǔ)課程開放實(shí)驗(yàn)項(xiàng)目中的綜合性實(shí)驗(yàn)項(xiàng)目可行。
參考文獻(xiàn):
[1]盛建倫,鞏玉璽,劉淑霞,等.計(jì)算機(jī)專業(yè)硬件基礎(chǔ)課程實(shí)驗(yàn)教學(xué)體系的研究[J].實(shí)驗(yàn)室研究與探索,2013(10):387-391.
[2]侯宏霞.關(guān)于提高“計(jì)算機(jī)組成原理實(shí)驗(yàn)”課程教學(xué)質(zhì)量的探索[J].計(jì)算機(jī)教育,2009(15):154-156.
[3]劉京銳,李志平.計(jì)算機(jī)硬件類課程實(shí)踐教學(xué)改革與實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(4):130-132.
[4]馬漢達(dá),鮑可進(jìn).計(jì)算機(jī)硬件課程實(shí)驗(yàn)教學(xué)改革與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2013(10):360-362.
[5]胡世昌.用Logisim改革數(shù)字電路實(shí)驗(yàn)[J].沈陽師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,33(2):301-304.
[6]BURCH C.Logisim[EB/OL].[2016-1-23].http://www.cburch.com/logisim/
[7]Minnies Stuff.An Example Hardwired CPU[EB/OL].[2016-1-23].http://minnie.tuhs.org/CompArch/Tutes/week03.html
[8]唐朔飛.計(jì)算機(jī)組成原理[M].北京:高等教育出版社,2008:219-247.