新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于網(wǎng)絡的虛擬實驗平臺的設計與實現(xiàn)

基于網(wǎng)絡的虛擬實驗平臺的設計與實現(xiàn)

作者: 時間:2017-02-27 來源:網(wǎng)絡 收藏
1 引言
西部大開發(fā)為提高西部的教育水平帶來了契機。建立一個低成本,易維護,仿真性好,具有靈活性,覆蓋面廣的系統(tǒng)化的虛擬接口、實驗平臺來解決西部教育中的實驗教學難題,成為目前遠程教育實驗教學的關鍵。
基于網(wǎng)絡環(huán)境的虛擬接口實驗平臺是一個可以在網(wǎng)絡環(huán)境下運行的虛擬實驗室。為用戶提供一個二維的可視化的環(huán)境,用戶通過匯編指令的調試、執(zhí)行和分析,最終將指令執(zhí)行結果反饋給以軟件形式展示的硬件系統(tǒng),驅動虛擬硬件工作,產生正確的時序和波形圖。
一個基于網(wǎng)絡的虛擬接口實驗室必須具備以下功能:①程序的仿真解釋執(zhí)行(程序解釋器):模擬執(zhí)行完整的程序段,利用高級語言的面向對象的技術仿真解釋用戶 提交的低級語言源程序;②虛擬芯片庫平臺:提供可視化的模擬圖形芯片和一些常見的虛擬門電路,用戶選擇芯片,門電路連線,接受程序執(zhí)行的結果數(shù)據(jù),觸發(fā)芯 片的工作,產生試驗結果的模擬時序波形圖。

2 系統(tǒng)設計與實現(xiàn)
系統(tǒng)實現(xiàn)基于Web瀏覽器/業(yè)務邏輯層/數(shù)據(jù)存儲層(B/A/S)的三層網(wǎng)絡架構計算模型,以Java為主要開發(fā)語言。瀏覽器端的展示層以JSP頁 面為主,用戶登陸試驗頁面,選擇以iava applet應用實現(xiàn)的虛擬芯片進行連線。用戶在網(wǎng)頁界面的提示處編寫試驗程序,提交程序到服務器,服務器端的解釋器平臺調用解釋規(guī)則庫,解釋程序結果并 可視化的返回給客戶端。用戶將結果數(shù)據(jù)提交給已連接好的虛擬接口電路,服務器端通過類庫設計定義各類芯片的工作方式、電氣特性、I/0特性和幾何特性等, 確定信號時延。對芯片的各個管腳分別建立子類.定義各管腳的電氣特性、I/0特性和幾何特性等,達到真實地模擬硬件結構,使運算結果與真實硬件相同,實現(xiàn) 對各個接口技術實驗環(huán)境進行仿真。系統(tǒng)可根據(jù)用戶端的不同設計進行重新配置執(zhí)行,使學習者感覺到其所應用的實驗平臺就是真實接口技術實驗室。

3 接口實驗流程建模
一個現(xiàn)實的接口實驗流程如下:學生接到實驗任務,進入實驗室:①打開集成實驗環(huán)境,在計算機上編寫匯編、C語言,通過詞法、語法檢查;②連接集成開發(fā)試驗箱,連接跳線,燒錄程序;③觀察實驗板上的現(xiàn)象,比對試驗結果;④如果與預期結果現(xiàn)象一致,則試驗程序正確,此試驗結束,課后書寫實驗報告,否則轉向;⑤修改程序,調試程序重復②~④。虛擬接口實驗平臺的模式如圖l所示。

4 匯編程序的仿真解釋執(zhí)行
匯編程序是一個接口實驗的基礎,由程序的正確執(zhí)行結果驅動相應的芯片工作產生時序圖,模擬真實的接口實驗環(huán)境,應具備的功能模塊如下:
(1)預處理模塊 除去注釋、偽指令,分析程序語句,分離出指令操作碼,第一、二操作數(shù),并存儲到指令數(shù)據(jù)表;
(2)數(shù)據(jù)表模塊建立匯編指令所需的寄存器表、內存表,端口表等,并提供通用的數(shù)據(jù)讀、寫接口;
(3)解釋執(zhí)行模塊(規(guī)則庫)核心是建立各類指令的規(guī)則庫,跟蹤模擬程序指針PC的流程,實例化指令碼對應的指令類,取出該條指令的操作數(shù)傳人類對象的成員函數(shù),進行對應的函數(shù)操作,返回計算結果,并寫入對應的數(shù)據(jù)表;
(4)通訊模塊 建立程序執(zhí)行與虛擬芯片工作的連接,程序執(zhí)行結果能透明的傳遞給虛擬芯片工作接口函數(shù),并接受虛擬芯片工作后的反饋數(shù)據(jù),透明的反饋給程序。
仿真解釋執(zhí)行的算法嘲描述:①從用戶程序表中取出一條源程序語句,記錄此語句對應的程序指針PC;②分離出語句中的操作碼、操作數(shù),在指令規(guī)則庫中查詢其 對應的指令類,若跳轉指令,轉至⑦否則轉至③;③查找數(shù)據(jù)字典中的尋址方式表,實例化出該指令對應的尋址類對象,取出操作數(shù),調用指令類對象的函數(shù)成員, 接受尋址類對象實例處理后的操作數(shù),進行函數(shù)運算,刷新其對應的寄存器表或內存表等;④取出各寄存器及內存單元對應的數(shù)據(jù),以圖表的形式展現(xiàn)在界面上,同 時將其與虛擬芯片相關的數(shù)據(jù)透明的傳遞給通訊接口;⑤計算該指令的運算時問,以靜態(tài)變量保存;⑥PC=PC+1取出下一條指令繼續(xù)執(zhí)行,轉至②;⑦若是無 條件跳轉指令,計算該標志對應的PC值,轉至對應的指令語句執(zhí)行,轉至②;若為有條件跳轉指令,取出狀態(tài)寄存器中該指令對應的PSW值,判斷條件是否成立,如成立按無條件跳轉指令執(zhí)行,否則PC=PC+1,轉至②;若是子程序(中斷程序),則保存該條語句的PC值,便于程序的返回執(zhí)行,同時按無條件跳轉指令執(zhí)行;若為RET指令則程序結束。

5 虛擬芯片的設計
5.1 設計思想
接口電路設計所用器材包括CPU、TTL門電路、可編程邏輯芯片、負載等。傳輸信號主要分控制、地址、數(shù)據(jù)電源和 地線。為實現(xiàn)實驗電路邏輯性正確與否的檢測,其設計方法是:針對每個芯片建立類,定義各種工作方式、電氣特性、I/O數(shù)據(jù)結構。對其各管腳的功能定義 (I/0特性、信號類型、電氣特性)建立子類,并構造I/0方法,確定信號時延。幾何特性描述芯片的外部特征;工作特性描述芯片的數(shù)據(jù)處理方式(即工作方 式);電氣特性描述芯片的工作周期;I/O數(shù)據(jù)結構負責芯片工作前數(shù)據(jù)的接受與工作中、后的數(shù)據(jù)輸出。
虛擬接口實驗室要涉及的硬件比較多,而每個硬件的外部幾何特性都不盡相同,在非固定實驗的情況下,用戶總是希望可以自由的選擇各類硬件,這樣就可以動態(tài)地 實現(xiàn)各類硬件的實例化操作。設計時采用硬件多態(tài)的思想,最大化的實現(xiàn)虛擬芯片類庫的復用,即設計抽象于所有硬件的一個主模塊,派生出具體的硬件類,可以實 現(xiàn)用戶隨意選擇芯片,也方便硬件鏈表的統(tǒng)一處理。
5.2 設計實例
5.2.1 設計思想
芯片具體實現(xiàn)包括芯片的幾何特性、工作特性、和電氣特性。幾何特性描述了芯片的外部特征;工作特性描述的是芯片的數(shù)據(jù)處理方式(即工作方式);電氣特性描述的是芯片的工作周期。不失一般性,在此以8253來說明設計思想和類之間的具體關系。
5.2.2 類圖關系
為實現(xiàn)硬件多態(tài),設計了硬件模板類、芯片引腳類、8253芯片類3個類,類圖及關系如圖2所示。

6 虛擬芯片操作
對設計好的虛擬芯片要進行移動、縮放、芯片間連線、連線變形和連線正確性檢測等操作。


評論


技術專區(qū)

關閉