基于emu806的虛擬機床系統(tǒng)實驗設計_第1頁
基于emu806的虛擬機床系統(tǒng)實驗設計_第2頁
基于emu806的虛擬機床系統(tǒng)實驗設計_第3頁
基于emu806的虛擬機床系統(tǒng)實驗設計_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于emu806的虛擬機床系統(tǒng)實驗設計

虛擬化是當今信息技術最受歡迎的趨勢之一,并非偶然。當各種技術都包羅在虛擬化之中時,它們都正在以顯著的方式改變著IT世界。從經濟學角度來說,它主要有節(jié)約成本的優(yōu)點。虛擬技術的分類很多,具有代表的學者DavidChappell認為,虛擬技術分為硬件虛擬化、展示虛擬化和應用程序虛擬化3個領域。還有一些學者將虛擬技術分為硬件虛擬化、操作系統(tǒng)虛擬化和編程虛擬化。微機原理與接口技術課程的主要內容是微機系統(tǒng)的工作原理。在實際的教學中,實驗設備昂貴,造成實驗環(huán)節(jié)比重過少,不能充分發(fā)揮學習者的創(chuàng)造性和能動性。而實踐證明,做中學是一種非常高效的現(xiàn)代教育理論,做中學理論即“從活動中學”和“從經驗中學”。本文介紹一些基于仿真軟件EMU8086的虛擬微機系統(tǒng)實驗,使學習者容易達到做中學的目的。1基于emu8065的實現(xiàn)以Intel8086為CPU的微型計算機系統(tǒng)IBMPC/XT是16位計算機的代表性機型,它是學習32位乃至64位計算機原理的基礎。EMU8086是基于8086CPU和DOS操作系統(tǒng)的虛擬軟件,屬于硬件虛擬技術。EMU8086是交互式學習匯編語言(AssemblyLanguage)、計算機結構(ComputerArchitecture)和逆向工程(ReverseEngineering)的完整仿真體系。其內部集成了匯編程序匯編器、參考資料、程序實例、學習指南和虛擬硬件等。EMU8086是學習Intel8086微型計算機的虛擬工具。它模擬真實微處理器的每一步驟,并顯示內部寄存器、存儲器、堆棧、變量和標志寄存器,而且其中任何一個值都可通過鼠標雙擊來改變。同時它還可虛擬I/O接口,以及屏幕、電機、紅綠燈、LED等外部設備。微型系統(tǒng)實驗包括匯編語言實驗、硬件接口實驗、硬件中斷實驗、軟盤實驗以及操作系統(tǒng)實驗等幾個部分。1.1指令跟蹤運行界面要完成匯編語言實驗,可利用EMU8086中集成的編輯器、匯編器、連接器和跟蹤執(zhí)行器等模塊來實現(xiàn)。新建一個匯編語言源程序時,EMU8086自動給出了匯編語言的基本框架,在框架的基礎上,只用寫出匯編語言的核心語句,之后點擊相應按鈕,系統(tǒng)完成編譯、連接,無錯誤后即自動進入到指令跟蹤運行界面。該平臺具有單步和連續(xù)運行方式,連續(xù)運行每條指令的執(zhí)行間隔從0~400ms可調節(jié)。通過此界面還可以觀察CPU內部寄存器的值,觀察指令機器碼和對應的反匯編指令。跟蹤執(zhí)行器還可以顯示算術邏輯單元(ALU)的二進制數(shù)值和CPU內部標志寄存器(FLAGS)的值,用來供學習者全面理解CPU的工作機理和監(jiān)視內部運行狀態(tài)。1.2emu8065的虛擬表面處理8086微型計算機采用典型的總線結構,包括數(shù)據(jù)總線、地址總線和控制總線。CPU訪問內存和I/O外設都是通過地址來進行的,而且均采用獨立編址。訪問內存的方法較簡單,在此不做贅述。在此重點介紹訪問I/O外設的方法,EMU8086虛擬外設跟實際8086一樣,采用16位地址譯碼,共有65536個(地址范圍0000H~0FFFFH)I/O地址可供使用。EMU8086虛擬外設的機理是,使用一個純二進制文件EMU8086.io來存放所有端口的值,每個端口都存放著一個8位二進制數(shù),字節(jié)的序號與端口序號一一對應,即第0字節(jié)存放0000H端口的數(shù)據(jù),0100H存放0100H端口的數(shù)據(jù),以此類推?;谏鲜鲈?在EMU8086系統(tǒng)中,理論上可生成任何有效地址的用戶自定義外設,對于這些虛擬外設,可通過輸入輸出指令來訪問。EMU8086虛擬外設可由任何語言,如JAVA、VB、VC++、DELPHI、C#、.NET等來生成,或由其他可訪問文件的語言來生成。例如,用VB虛擬出一個輸出外設,其端口地址是200H,則在匯編語言中使用OUT指令往文件EMU8086.io的第200H字節(jié)處寫入數(shù)值“55H”,虛擬外設讀取該字節(jié),就會實時得到“55H”這個值,這樣就完成了輸出數(shù)據(jù)到外設。輸入的方法與之類似。EMU8086自帶了幾個虛擬外設,包括液晶顯示器、交通燈系統(tǒng)、機器人、打印機、步進電機等外設,可以完成基本的I/O實驗,每個外設對應一個或多個固定端口地址。1.3中斷號對應的請求標志硬件中斷是微機系統(tǒng)的重要組成部分。硬件中斷通常由外設觸發(fā),執(zhí)行特定的中斷服務程序。硬件中斷嚴格受硬件中斷控制標志IF位的控制,當IF為0時禁止中斷,為1時打開中斷。EMU8086實現(xiàn)硬件中斷的機理是,它將256個中斷(0~255號)的中斷請求標志存放于一個256字節(jié)的二進制文件EMU8086.hw,一個中斷號對應的請求標志,此標志占用一個字節(jié),該字節(jié)為0表示該中斷無請求,為非零時表示該中斷有請求。在中斷打開的情況下,系統(tǒng)不斷掃描保存在EMU8086.hw中的請求標志,當某個中斷號對應的標志字節(jié)為非零時,系統(tǒng)自動到中斷向量表(內存0000~003FH)查找該中斷的中斷向量,轉向該中斷服務程序執(zhí)行,并且將EMU8086.hw中的對應標志字節(jié)清零。CLI指令用來關閉中斷,STI用來打開中斷,無論在整個程序還是硬件中斷程序執(zhí)行過程中,硬件中斷都可設置為打開或關閉狀態(tài)。例如,主程序初始化代碼用STI打開中斷,主程序在執(zhí)行過程中,如果某虛擬外設將EMU8086.hw中第2個字節(jié)觸發(fā)為01H,這時第02H號中斷就被觸發(fā),假設02號中斷向量為1200H:0100H,則CPU保護好主程序的現(xiàn)場,轉向1200H:0100H處執(zhí)行中斷服務程序,之后恢復現(xiàn)場,返回主程序。1.4軟磁盤的虛擬應用EMU8086能夠生成純二進制代碼文件(*.bin)和基于軟磁盤的啟動程序。純二進制代碼文件類似于com文件,但沒有1MB的限制。由軟磁盤啟動時CPU讀取軟盤0面、0磁頭、0扇區(qū)代碼到內存0000H:7C00H處。軟磁盤是8086微機系統(tǒng)的主要組成部分,EMU8086可虛擬最多4個軟磁盤,分別命名軟磁盤0~軟磁盤3,虛擬軟磁盤與標準的1.4寸軟磁盤一樣,容量為1474560字節(jié)。通過EMU8086的菜單可添加或刪除軟磁盤的數(shù)量,軟磁盤的格式與IBM/MS-DOS的軟磁盤格式完全兼容??墒褂肂IOS的11H號軟中斷來獲取虛擬軟磁盤的數(shù)量,該中斷返回值保存在累加器AX中,其值的第6、7位決定了虛擬軟磁盤的數(shù)量,具體對應關系如下:00單個軟磁盤012個軟磁盤103個軟磁盤114個軟磁盤訪問軟磁盤可通過13H號中斷實現(xiàn),2號功能用于讀軟磁盤,3號功能用于寫軟磁盤。寄存器DL用于定位訪問哪個軟磁盤,DH用于定位磁頭,CH用于定位柱面號,CL用于定位扇區(qū)號,AL用于保存讀寫扇區(qū)的數(shù)量。內存緩沖區(qū)的位置由指針ES:BX來決定,這樣就可完成軟磁盤的讀寫操作。2虛擬實驗的不足之處EMU8086是基于Windows操作系統(tǒng)的仿真軟件,同其他仿真軟件一樣,它的仿真對象與真實對象有著部分功能或屬性上的差異,由于仿真系統(tǒng)需要處理大量的功能仿真數(shù)據(jù),沒有對時間嚴格的監(jiān)控,導致大部分仿真系統(tǒng)只側重功能仿真,輕視或忽略時間的真實性,這些差異需要在實踐過程中不斷改善和克服,才能保證仿真對象的真實度。通過實踐,虛擬實驗的不足之處體現(xiàn)在以下幾個方面。首先,EMU8086的仿真系統(tǒng)的運行速度與真實的8086系統(tǒng)不一樣,而且由于運行仿真軟件的計算機的性能有差異,導致仿真8086系統(tǒng)與實際的8086微機系統(tǒng)差異也不一致,在虛擬8086中代碼運行1s,對應成真實的8086系統(tǒng)其運行時間可能是數(shù)ms,簡言之,虛擬實驗的時序與實際時序有差異。其次,EMU8086的編譯系統(tǒng)不支持ORG、SEG等偽指令;對部分指令反匯編也不正確,如將指令LEABX,[200H]編譯再反匯編后成了MOVBX,200H。第三,系統(tǒng)提供的接口和外設不能完全滿足教和學的要求,部分硬件功能過于簡單,在接口和硬件中斷實驗中,采用了端口地址及中斷號固定位置映射的方法,沒有涉及系統(tǒng)總線的硬件仿真。如果能夠虛擬出系統(tǒng)總線,將總線加以開放并圖形化,讓使用者完成系統(tǒng)總線與虛擬接口之間的連線,這樣更利于學習者理解微機系統(tǒng)的硬件工作原理。第四,在實際應用過程中,需要避免具有同一端口地址多個接口或外設同時運行,否則會造成數(shù)據(jù)沖突,出現(xiàn)錯誤。3虛擬的鞣來語基于EMU8086可完成多項微機原理及接口實驗,主要有匯編語言、并行I/O接口、硬件中斷、軟盤讀寫、系統(tǒng)啟動代碼、操作系統(tǒng)等實驗。虛擬的外設主要有五位七

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論