曹宇軒 李 波 孔金祥 陳正陽 王星博

摘? 要:隨著計算機模擬現實能力增強,有越來越多事物可以在計算機上操作實現,而許多學科的實驗器材損壞的速度都很快,學校進行維護和更換的開銷都很巨大,所以文章就有了利用計算機模擬實驗器材的邏輯,讓學生在虛擬實驗平臺完成自己學科所需的實驗要求的構想,該文章分為兩個模塊完成,即硬件模擬的實現和用戶操作界面。文章首先闡述了研究目的,再闡明了設計思路與模塊細節,還有國內外研究的現狀和發展動態
關鍵詞:模擬硬件;操作界面;硬件實驗;虛擬實驗平臺
中圖分類號:TP391.9? ? ? 文獻標識碼:A 文章編號:2096-4706(2020)01-0084-03
Abstract:With the enhancement of the ability of computer simulation reality,more and more things can be operated and realized on the computer,and the speed of experimental equipment damage in many disciplines is very fast,and the cost of school maintenance and replacement is huge,so we have the logic of using computer simulation experimental equipment,so that students can complete their own subjects in the virtual experimental platform concept of test requirements is divided into two modules,namely,the realization of hardware simulation and user interface. This paper first introduces the purpose of the research,then expounds the design ideas and module details,as well as the current situation and development trend of the research at home and abroad
Keywords:simulation hardware;operation interface;hardware experiment;virtual experiment platform
1? 研究目的
計算機技術的進步促使著人才涌入這個行業,這也使得行業對從業者的素質有著越來越高的要求,就目前市場而言,高端的軟件研發人員還是相當匱乏,而許多傳統行業研發人員的處境卻越來越尷尬,因此快速提升學生編程能力、加深學生對計算機底層原理的理解,成為不少學校和教育機構的訴求之一。學習編程需要了解底層語言的實現,只有在對計算機的組成原理有一個較為深刻的認識之后,才能系統地對各種編程語言進行學習,學生的知識體系才能更加完善。“計算機組成原理”這門課程是學習其他課程的前提和基礎,其本身具有承上啟下的作用,也是從事計算機行業開發、設計、維護的基礎。學生對這門課掌握得越好,在今后學習編程的道路中就能越輕松,處理相關編程難題時也就越得心應手。同時這門課程還在硬件和軟件之間建立起一道橋梁,讓軟件通過接口的方式操作硬件,繼而產生了許多基于硬件操作的實驗。而市面上與此有關的實驗設備卻價值不菲,學校的實驗設備年久失修。本文致力于搭建一個虛擬的硬件實驗教學平臺,將傳統的硬件實驗用計算機軟件實現,從而擺脫實驗設備易損壞的現狀。
2? 設計思路
(1)學生用戶可以通過賬號和密碼登錄本實驗平臺,平臺會將學生的實驗記錄保存在服務器中,從而使學生用戶更好地進行“計算機組成原理”的虛擬實驗,同樣也設計了教師用戶界面,從而使教師可以更方便地管理學生的成績。在數據存儲方面,本平臺選擇Oracle數據庫完成以上功能,并使用JDBC與平臺相連。
(2)在學生電腦裝有瀏覽器且能聯網的情況下即可使用本軟件,所以本文使用JSP設計頁面還有電路的模擬,并在其中添加一些CSS3的樣式來使操作界面更加美觀,同時我們還將為虛擬實驗平臺架設專門的服務器,并申請公網ip,學生可以通過菜單來獲取實驗報告內容以及提交完成的作業,還可以通過菜單來保存、刪除或新建實驗,我們還考慮為學生錄制教學視頻,從而幫助學生更好地使用本平臺,完成實驗內容。
(3)本校“計算機組成原理”課程實驗所需芯片有74LS181(運算器)、74LS244(三態門)、RAM6116(靜態存儲器由2片6116組成)、74LS374(觸發器)、74LS245 (三態門)、EPROM2816(電可擦寫儲存器),所需基本元件有開關、燈、單脈沖控制器、連續脈沖器、以及與門、或門、非門、與非門、或非門、與或門和最基礎的線路模擬。為在虛擬平臺上模擬以上元器件,我們采用的基本思路是用CSS+HTML5頁面來模擬圖形化的操作界面,用JS腳本實現內部邏輯判斷和是否與其他元器件相連,在學生完成連接并判斷達到運行條件后,平臺將會根據學生的后續操作給出運行結果。
實驗平臺的結構框架如圖1所示。
3? 芯片功能設計
本實驗平臺半導體芯片都采自Intel設計,具體引腳功能及分布如下。
3.1? 運算器設計
整個運算器由算術邏輯單元、數據暫存器和輸出用的三態門組成,算術邏輯單元由4片74LS181構成,74LS181一共有48個引腳,其中14個必要輸入、25個地線、8個輸出、1個電源。而2個16位數據暫存器由4片74LS273構成,74LS273一共有40個引腳,其中2個必要輸入、8個普通輸入、8個輸出、21個地線、1個電源線。輸出采用的是三態門74LS245,74LS245一共有40個引腳,其中9個必要輸入、9個輸出、20個地線、1個電源和1個其他類型的引腳。
3.2? 存儲器設計
半導體靜態隨機存儲器由2片RAM6116組成,RAM 6116一共有48個引腳,其中10個必要輸入、8個輸入/輸出、4個輸入、21個地線、1個電源、4個其他類型引腳。
3.3? 微程序控制器
微程序控制器由1片三態輸出觸發器74LS374、3片EEPROM2716c3、1片三態門74LS245組成,74LS374有40個引腳,其中10個必要輸入、8個輸出、21個地線、1個電源。EEPROM2716c3有80個引腳,其中8個必要輸入、5個輸入、24個輸出、36個地線、7個其他引腳。74LS245在上面已經敘述過,不再贅述。
4? 各個模塊介紹
4.1? 識別各芯片及實驗原件模擬
本平臺將每個元器件的陣腳設定為一個可連接的對象,再根據該元件類型判斷連接是否正確,如果正確即可連接,否則不可相連,再將所有創建的元器件通路判斷是否滿足運行條件,如果滿足運行條件,那么就更改元器件的圖片,例如使燈泡處于發亮狀態,具體實現方法是首先創建一個隊列,從隊頭開始依次向下循環判斷實驗元器件的連接情況,之后一直遍歷到隊尾,如果實驗器件擺放錯誤,那么將不會執行內部邏輯。
4.2? 用戶管理設計
采取Oracle數據庫來存放用戶信息,首先在數據庫中設計用戶表和增刪改查等一系列存儲過程,再把這些存儲過程打包為程序包,最后將數據庫與前端所創建的登錄頁面相連接,從而實現用戶登錄、用戶注冊、進行用戶名密碼修改等操作,這樣的設計結構可以方便教師區分每個學生的實驗完成進度。
4.3? 功能、操作界面
菜單的實現采用CSS和HTML5語言,其中使用HTML5構造框架與其具體功能,CSS負責頁面美化并實現二級菜單功能。首先消除HTML標簽默認的內外邊距,然后清除浮動,去掉默認a標簽的下劃線,設置鼠標滑過后的樣式,先使二級菜單的內容隱藏,設定鼠標滑過一級菜單后顯示的二級菜單,最后把樣式加入菜單,即可完成一個二級菜單的設計。
工具欄的實現使用HTML,jQuery和jQuery UI圖形庫,首先使用HTML來構筑工具欄的外框,再使用jQuery UI庫自帶的圖形函數來完成工具欄滑動的效果,之后使用SVG選擇所需要的元器件,將圖形拖拽出來,工具欄的每個標簽背后都有一個JavaScript實現的JS腳本,所以每個元件都是現場繪制,內部邏輯已經在JS腳本里實現,就完成了工具欄的設計。
連接線是使用SVG來繪制的,只有鼠標放在元器件引腳上方時才可繪制連接線。獲取兩點(鼠標點擊元器件引腳的坐標點與鼠標松開時另一個元器件引腳的坐標點)之后,根據特定的公式算出一些固定的折點,然后繪制。具體實現是將兩點坐標分別設為(x1,y1),(x2,y2),隨之獲取((x2-x1)/2,y1),(x2,(y2-y1)/2)這兩點,通過折線將兩個元器件最終連接到一起。
至此,功能操作界面基本實現完成。各個模板介紹也已完成。
5? 結? 論
本項目遵循方便、節約資源、可拓展性強的原則,為學校和學生搭建一個隨時隨地可用的虛擬實驗平臺。和原先學校使用的笨重的、封裝的實驗器材相比,在計算機上實現的實驗平臺更加直觀,更易于學生對照課本學習,而部署虛擬實驗平臺的費用也遠低于原先購買器材的價格。和其他類似的虛擬實驗平臺相比,本平臺更加美觀,兼容性更強,學生的實驗成果能以更加清晰的方式呈現在虛擬實驗平臺上。“計算機組成原理”這門課程的開展是為了使學生以宏觀的思維來對待組織繁雜的計算機內部結構,所以學生如果在做實驗的過程中能一目了然地看到一個結構簡單的計算機內部組成的示意圖,自然會極大地提高學習效率。未來會有越來越多的學校或組織采用類似的虛擬平臺的方式對學員進行培養,虛擬實驗平臺在教育領域的優勢會隨著技術的發展而越發突顯。
參考文獻:
[1] 唐朔飛.計算機組成原理:第2版 [M].北京:高等教育出版社,2008.
[2] 唐朔飛.計算機組成原理——學習指導與習題解答:第2版 [M].北京:高等教育出版社,2012.
[3] 張珈珣,范立鋒.HTML5+CSS3基礎開發教程:第2版 [M].北京:中國人民郵電出版社,2017.
[4] 陳矗,任平紅.Web編程基礎——HTML、CSS、JavaScript [M].北京:清華大學出版社,2014.
[5] 孫風棟.Oracle11g數據庫基礎教程:第2版 [M].北京:電子工業出版社,2017.
作者簡介:曹宇軒(2000.09-),男,漢族,吉林磐石人,本科在讀,研究方向:軟件工程。