国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《計(jì)算機(jī)組成原理》虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2015-09-10 07:22陳智勇吳星星
關(guān)鍵詞:計(jì)算機(jī)組成原理存儲器原理

陳智勇 吳星星

摘 要:《計(jì)算機(jī)組成原理》課程理論性、實(shí)踐性強(qiáng),學(xué)生很難在有限的課時(shí)中掌握。針對其實(shí)驗(yàn)教學(xué)要求,作者結(jié)合TDN-CM+教學(xué)實(shí)驗(yàn)系統(tǒng),設(shè)計(jì)了一個(gè)簡單易用的虛擬實(shí)驗(yàn)系統(tǒng)。使用Visual C++6.0軟件作為編程開發(fā)工具,運(yùn)用圖形用戶界面,構(gòu)造了一個(gè)自主的實(shí)驗(yàn)環(huán)境,并以存儲器虛擬實(shí)驗(yàn)為例介紹了具體開發(fā)過程。通過對虛擬實(shí)驗(yàn)系統(tǒng)的測試,采用全軟件形式模擬計(jì)算機(jī)硬件實(shí)驗(yàn)系統(tǒng),不僅能夠完成計(jì)算機(jī)組成原理實(shí)驗(yàn)的要求,還提高了教師的工作效率,增強(qiáng)了學(xué)生的實(shí)踐能力,具有在實(shí)驗(yàn)教學(xué)中進(jìn)行推廣和應(yīng)用的價(jià)值。

關(guān)鍵詞:計(jì)算機(jī)組成原理;虛擬實(shí)驗(yàn);Visual C++6.0;圖形用戶界面

中圖分類號:G434 ? ? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A ? ? ? ? ? 文章編號:1673-8454(2015)04-0080-03

一、 引言

《計(jì)算機(jī)組成原理》是計(jì)算機(jī)專業(yè)的專業(yè)基礎(chǔ)課,既具有很強(qiáng)的理論性,生澀難懂,又具有很強(qiáng)的實(shí)踐性,需要在搞好課堂教學(xué)的同時(shí)加強(qiáng)實(shí)驗(yàn)教學(xué)。[1]《計(jì)算機(jī)組成原理》實(shí)驗(yàn)一般分解為運(yùn)算器、存儲器、微程序控制器等若干個(gè)實(shí)驗(yàn)單元,在有限課時(shí)的教學(xué)進(jìn)度下逐一安排教學(xué)。由于實(shí)驗(yàn)設(shè)備電路復(fù)雜、排布線密度高、調(diào)試?yán)щy等眾多因素影響,學(xué)生很難在實(shí)驗(yàn)室鞏固和掌握課堂內(nèi)容。[2]

為此,筆者在實(shí)驗(yàn)教學(xué)過程中結(jié)合西安唐都公司開發(fā)的TDN-CM+計(jì)算機(jī)組成原理教學(xué)實(shí)驗(yàn)系統(tǒng),采用面向?qū)ο蟮腣isual C++6.0軟件,基于Microsoft Foundation Classes(MFC)類庫,分析、設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)簡單、可靠,能夠移植到大多數(shù)Windows環(huán)境的PC機(jī),學(xué)生能夠在課外自由安排實(shí)驗(yàn)時(shí)間,完成對課堂和實(shí)驗(yàn)室內(nèi)容的補(bǔ)充學(xué)習(xí),進(jìn)而改善教學(xué)效果。

二、 虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)

1.TDN-CM+計(jì)算機(jī)組成原理教學(xué)實(shí)驗(yàn)系統(tǒng)簡介

TDN-CM+計(jì)算機(jī)組成原理教學(xué)實(shí)驗(yàn)系統(tǒng)采用部件單元式結(jié)構(gòu),包括運(yùn)算器、存儲器、控制器、總線、外圍接口及輸入輸出設(shè)備、大規(guī)??删幊踢壿嬈骷?。線路板上設(shè)置了大量的開關(guān)、指示燈、插線孔等,學(xué)生可根據(jù)自己設(shè)計(jì)的模型計(jì)算機(jī)結(jié)構(gòu)方案,運(yùn)用排線連接方式或計(jì)算機(jī)電子自動邏輯設(shè)計(jì)方式來構(gòu)造不同結(jié)構(gòu)及復(fù)雜程度的原理性計(jì)算機(jī),并觀察系統(tǒng)運(yùn)行過程中各種數(shù)據(jù)和控制信號狀態(tài)及其時(shí)空關(guān)系。系統(tǒng)微程序指令、控制器結(jié)構(gòu)及運(yùn)算器結(jié)構(gòu)的格式及定義均可由學(xué)生根據(jù)學(xué)習(xí)需要靈活改變或重新設(shè)計(jì),避免了單純驗(yàn)證性的實(shí)驗(yàn)?zāi)J?,提高了學(xué)生計(jì)算機(jī)系統(tǒng)的綜合設(shè)計(jì)能力。

2.計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)

計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)是對TDN-CM+系統(tǒng)的仿真,設(shè)計(jì)中除了要保持用戶界面的一致性,還要方便用戶操作和確保實(shí)驗(yàn)結(jié)果的高度準(zhǔn)確,即簡潔性和可靠性。計(jì)算機(jī)組成原理這門課程主要介紹各主要功能部件的基本結(jié)構(gòu)和工作原理。[3] [4] 因此,本系統(tǒng)在設(shè)計(jì)中利用面向?qū)ο蟪绦蛟O(shè)計(jì)方法,對TDN-CM+系統(tǒng)的運(yùn)算器、存儲器、微程序控制器和數(shù)據(jù)通路等功能部件進(jìn)行仿真,并通過課程設(shè)計(jì)實(shí)現(xiàn)一個(gè)較完整的模型機(jī),在實(shí)驗(yàn)中了解、熟悉完整的單臺計(jì)算機(jī)基本組成原理。

為方便教學(xué)和師生交流,還需實(shí)現(xiàn)教學(xué)模塊。學(xué)生從實(shí)驗(yàn)列表中選擇要進(jìn)行的實(shí)驗(yàn)項(xiàng)目。在做實(shí)驗(yàn)之前,用戶可以查看實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)指導(dǎo),了解實(shí)驗(yàn)的原理、要求和注意事項(xiàng),然后通過播放實(shí)驗(yàn)項(xiàng)目教學(xué)演示錄像加深理解。每個(gè)實(shí)驗(yàn)都準(zhǔn)備了一定數(shù)量的填空題和選擇題,學(xué)生在完成實(shí)驗(yàn)后填寫好答案提交后,系統(tǒng)即可自動給出得分。

虛擬實(shí)驗(yàn)系統(tǒng)總體結(jié)構(gòu)如圖1所示。

三、 虛擬實(shí)驗(yàn)系統(tǒng)的開發(fā)

1.實(shí)驗(yàn)操作界面的開發(fā)

為了保證虛擬實(shí)驗(yàn)系統(tǒng)與TDN-CM+系統(tǒng)的一致性,讓用戶獲得良好的體驗(yàn),本虛擬實(shí)驗(yàn)系統(tǒng)采用圖形用戶界面。系統(tǒng)界面采用數(shù)碼相機(jī)拍攝,截取出各個(gè)按鈕、元件、開關(guān)、LED燈、插頭等圖片,用Photoshop進(jìn)行優(yōu)化,并對應(yīng)加載VC++的靜態(tài)控件和按鈕控件。

本系統(tǒng)由學(xué)生自主插線,線區(qū)位于主界面右側(cè),線型分為二、四、六、八口線。點(diǎn)擊線區(qū)內(nèi)線型號標(biāo)識生成對應(yīng)型號的線,拖拽線頭移動到相應(yīng)接口,在控制信號的控制下產(chǎn)生流通數(shù)據(jù)。主界面的開關(guān)分為數(shù)據(jù)開關(guān)和控制開關(guān),利用鼠標(biāo)左鍵點(diǎn)擊主界面上的模擬開關(guān),即可產(chǎn)生數(shù)據(jù)或控制信息。為提高虛擬實(shí)驗(yàn)教學(xué)效果,本系統(tǒng)對用戶的錯(cuò)誤操作做出更正提示。例如,如果在電源打開狀態(tài)下進(jìn)行插線,系統(tǒng)將會彈出“請先關(guān)閉電源”的對話框,其他漏連、連錯(cuò)、反向等錯(cuò)誤操作產(chǎn)生的效果類似。虛擬實(shí)驗(yàn)界面和操作效果與真實(shí)系統(tǒng)保持完全一致,主界面如圖2所示。

2.存儲器虛擬實(shí)驗(yàn)的具體實(shí)現(xiàn)

下面以存儲器虛擬實(shí)驗(yàn)為例,說明本虛擬實(shí)驗(yàn)系統(tǒng)的虛擬實(shí)現(xiàn)原理。存儲器是計(jì)算機(jī)進(jìn)行各種信息存儲和交換的中心,存儲器的實(shí)驗(yàn)操作包括寫入數(shù)據(jù)和讀取數(shù)據(jù)。[5] 寫存儲器的操作步驟為數(shù)據(jù)開關(guān)輸入訪存地址,將地址存入地址寄存器;再從數(shù)據(jù)開關(guān)輸入數(shù)據(jù),若ROM存儲器的片選信號和寫信號有效,將數(shù)據(jù)存入由地址寄存器給出的RAM響應(yīng)地址的存儲單元中。讀存儲器的操作步驟為數(shù)據(jù)開關(guān)輸入訪存地址,將地址存入地址寄存器;若RAM存儲器的片選信號和讀信號有效,從響應(yīng)地址中讀出存儲單元中的數(shù)據(jù)。數(shù)據(jù)寫入和數(shù)據(jù)讀取均需要操作相應(yīng)的控制信號來使相應(yīng)部件執(zhí)行所規(guī)定的操作。程序流程圖如圖3所示。

線的產(chǎn)生與操作、信號的產(chǎn)生與傳遞的具體實(shí)現(xiàn)如下:

?(1)線的產(chǎn)生

線區(qū)共有八口線、六口線、四口線和二口線四種接線供選擇。通過矩形類CRect設(shè)置響應(yīng)產(chǎn)生新線的區(qū)域,點(diǎn)擊該區(qū)域,調(diào)用成員函數(shù)PtInRect(),如果生成新線變量preplug =FALSE,產(chǎn)生新線;如果線的類型變量linetype=2,產(chǎn)生二口線;如果preplug =TRUE,彈出對話框“當(dāng)前還有線未用”。

(2)線的操作

包括刪除、移動、旋轉(zhuǎn)以及與線柱的連接。通過矩形類CRect設(shè)置響應(yīng)刪除線的區(qū)域,只有線的兩端portA、portB皆處于刪除區(qū)才調(diào)用RemoveAt()函數(shù)刪除。

移動接口變量movingport='A'表示移動的是A端,B端靜止。調(diào)用MoveTo()和LineTo()函數(shù)繪制線。

線柱分為橫向線柱和豎向線柱。按下鼠標(biāo)右鍵時(shí)調(diào)用函數(shù)OnRButtonDown()實(shí)現(xiàn)接口的旋轉(zhuǎn),鼠標(biāo)右擊一次,線順時(shí)針旋轉(zhuǎn)90度一次。旋轉(zhuǎn)接口變量direction等于2和4表示線橫向,等于1和3表示線豎向。

通過矩形類CRect對象設(shè)置響應(yīng)插線區(qū)域,如INPUT DEVICE區(qū)SW_B線柱,用CRect對象PutLine_SwitchSWB_click()設(shè)置插線響應(yīng)區(qū)域,Removeline_SwitchSWB_click()設(shè)置拔線響應(yīng)區(qū)域。調(diào)用OnLButtonUp()函數(shù)和OnLButtonDown()函數(shù)分別完成插線操作和拔線操作。

(3)信號的產(chǎn)生

信號根據(jù)其作用可分為數(shù)據(jù)信號和控制信號兩種。各按鍵的響應(yīng)函數(shù)具體實(shí)現(xiàn)如下:

①電源開關(guān)響應(yīng)函數(shù):電源變量power = TRUE,電源打開,才會更新數(shù)據(jù),包括各種數(shù)據(jù)的輸入與輸出,控制信號的傳遞等;power = FALSE,電源關(guān)閉,通過調(diào)用Clearmem()函數(shù)清空存儲器,重置地址寄存器地址變量data=255。

②數(shù)據(jù)開關(guān)控制開關(guān)響應(yīng)函數(shù):用字符型變量data代表線與線之間傳遞的信號。data值從高位到低位依次代表數(shù)據(jù)開關(guān)按鈕D7-D0的輸入值,對應(yīng)位為低電平則加載向上撥的電平開關(guān)。因?yàn)榭刂菩盘柧啥诰€傳遞,所以用data高二位表示電平的高低,data=0代表低電平,其他非零情況代表高電平。

③start鍵響應(yīng)函數(shù):按下start鍵時(shí)調(diào)用OnLButtonDown()函數(shù),將控制信號賦給變量TS3。

(4)信號的傳遞

指針puton為指向插在線柱上的線,為NULL表示沒有插線。在插線狀態(tài)下,通過按鈕產(chǎn)生信號并傳遞,例如連接好INPUT DEVICE區(qū)和SWITCH UNIT區(qū)的SW_B線柱后,點(diǎn)擊SWITCH UNIT區(qū)SW_B按鈕,產(chǎn)生控制信號data,通過調(diào)用 Exportdata()函數(shù)和Inportdata()函數(shù)分別傳出和接收控制信號data,控制數(shù)據(jù)開關(guān)輸入的數(shù)據(jù)信號傳遞到數(shù)據(jù)總線,并通過總線LED燈顯示。存儲器實(shí)驗(yàn)數(shù)據(jù)信號、控制信號流向如圖4。

四、 結(jié)束語

《計(jì)算機(jī)組成原理》實(shí)驗(yàn)連線繁多,操作復(fù)雜,虛擬實(shí)驗(yàn)系統(tǒng)可以幫助學(xué)生實(shí)驗(yàn)前熟悉實(shí)驗(yàn)操作,減少由于學(xué)生錯(cuò)誤操作導(dǎo)致的芯片損耗、儀器破壞,有效降低維護(hù)成本。學(xué)生可以隨時(shí)隨地做實(shí)驗(yàn),不再受場地、課時(shí)的限制,有助于加深學(xué)生對實(shí)驗(yàn)原理的理解,提高教學(xué)質(zhì)量。通過對計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)的測試,采用全軟件形式模擬計(jì)算機(jī)硬件實(shí)驗(yàn)系統(tǒng),具有方便快捷、高效、交互性強(qiáng)等優(yōu)勢,不僅能夠完成計(jì)算機(jī)組成原理實(shí)驗(yàn)的要求,還提高了教師工作效率,增強(qiáng)了學(xué)生實(shí)踐能力,具有在實(shí)驗(yàn)教學(xué)中推廣和應(yīng)用的價(jià)值。

參考文獻(xiàn):

[1]王玉華,黃碩之.計(jì)算機(jī)組成原理課虛擬實(shí)驗(yàn)方案[J].實(shí)驗(yàn)技術(shù)與管理,2005(4):73-75,80.

[2]郝尚富,張志強(qiáng),孫佰利.計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)環(huán)境的設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,2009(11):320-323.

[3]陳智勇.計(jì)算機(jī)組成原理[M].西安:西安電子科技大學(xué)出版社,2009.

[4]白中英,戴志濤.計(jì)算機(jī)組成原理[M].北京:科學(xué)出版社,2013.

[5]王賢勇,王金亮,許艷麗.基于軟件仿真的存儲器實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2006(7):803-805.

(編輯:魯利瑞)

猜你喜歡
計(jì)算機(jī)組成原理存儲器原理
靜態(tài)隨機(jī)存儲器在軌自檢算法
了解咳嗽祛痰原理,有效維護(hù)健康
平均場正倒向隨機(jī)控制系統(tǒng)的最大值原理
化學(xué)反應(yīng)原理全解讀
面向計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)
用“工程思維”引領(lǐng)《計(jì)算機(jī)組成原理》課程教學(xué)
通信原理教學(xué)改革探索
《計(jì)算機(jī)組成原理》課程建設(shè)的改革與探索
存儲器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計(jì)