計算機組成與系統(tǒng)結構設計論文
計算機組成原理與系統(tǒng)結構 是計算機科學與技術專業(yè)一門重要的專業(yè)基礎課,是一門技術性、工程性和實踐性很強的課程。下面是學習啦小編為大家整理的計算機組成與系統(tǒng)結構設計論文,供大家參考。
計算機組成與系統(tǒng)結構設計論文篇一
基于VRML的計算機組成原理虛擬實驗系統(tǒng)設計
計算機組成與系統(tǒng)結構設計論文摘要
摘要:由于時間和空間的限制,傳統(tǒng)實驗往往不能滿足全部學生的需求,為此,設計出了一套基于VRML技術的計算機組成原理虛擬實驗系統(tǒng),學生只要通過網絡就可以隨時隨地做實驗,有效彌補了傳統(tǒng)實驗的不足。
計算機組成與系統(tǒng)結構設計論文內容
關鍵詞:VRML技術; 虛擬實驗;計算機組成原理
中圖分類號:TP301 文獻標識碼:A 文章編號:1009-3044(2014)06-1220-03
The Design of Virtual Experiment System of Computer Organization and Architecture Based on VRML
HU Li-fang1, HU Zi-kai2
(1.Jiaozuo Teachers College of Computer and Information Engineering College, Jiaozuo 454000,China; 2 Puyang City Zi Elementary, Puyang 457000,China)
Abstract: Due to the limitation of time and space, the traditional experiment can’t meet all the needs of the students, therefore, designed a set of virtual experiment system of computer organization and architecture based on VRML technology, students can do the experiment anywhere, effectively overcomes the shortcoming of the traditional experiment.
Key words: VRML technology; virtual experiment; computer organization and architecture experiments
在高職院校中,實驗教學占有非常重要的地位,是提高學生創(chuàng)新素質、動手能力的一個重要手段。目前,由于各種原因,許多學校的實驗設備和手段還不能完全滿足要求。與此同時,近年來計算機網絡技術、多媒體技術及虛擬現(xiàn)實技術的迅速發(fā)展,為虛擬實驗系統(tǒng)的構建提供了有效的支撐。
《計算機組成原理》是計算機專業(yè)重要的基礎課程之一,做實驗又是該課程的一個重要部分,學生通過實驗可以深入了解計算機是如何進行算術計算、怎樣存儲信息并且能更好的掌握計算機的硬件組成[1]。目前,國內部分院校已開發(fā)出了計算機組成原理課程的網絡課程,但這些網絡課程大多數(shù)為靜態(tài)的網頁展示或動畫演示,并未開發(fā)出具有3D虛擬場景,交互性較好的計算機組成原理虛擬實驗系統(tǒng)[2]。因此,具有三維交互性的計算機組成原理虛擬實驗系統(tǒng)的設計就顯得非常重要。
1 虛擬實驗系統(tǒng)的分析與設計
VRML(Virtual Reality Modeling Language,虛擬現(xiàn)實建模語言)是一種三維場景描述性語言,利用它能在網頁上創(chuàng)建具有導航及超鏈接功能的三維虛擬空間。VRML的工作原理可以簡單描述成:文本描述、遠程傳輸及本地計算生成。VRML并不是使用三維坐標點描述物體的,而是使用了一種類似于HTML的標記文本語言來描述三維場景,因此使用它編寫的文件所占的空間非常小,對網絡帶寬的要求不高[3]。利用VRML技術構建虛擬實驗系統(tǒng),能為學生提供一個逼真的實驗環(huán)境,具有超強的現(xiàn)實感,可充分激發(fā)學生的學習興趣。
該系統(tǒng)主要模擬仿真清華大學科教儀器廠生產的TEC—4計算機組成原理實驗儀。使用VRML技術構建三維虛擬實驗環(huán)境,并通過ASP技術及B/S(Browser/Server 瀏覽器/服務器)三層結構的設置,構建網頁結構,發(fā)布到網絡上供學生使用。系統(tǒng)體系結構如圖1所示。
圖1 系統(tǒng)體系結構
2 虛擬實驗系統(tǒng)的實現(xiàn)
2.1實驗環(huán)境的構建
實驗環(huán)境的構建主要包括兩個方面:
1)靜態(tài)環(huán)境:主要指實驗室場景的構建。首先使用Vrmlpad建模工具對一些簡單的形體(如實驗臺、地板、墻壁等)進行建模,再利用專業(yè)三維建模軟件3DSMax對導線、芯片、面包板等一些結構復雜的實驗器材進行建模。由于3DSMax對物體描述的精度比較高,因此使用它建造的一些形體轉到Vrmlpad后生成的文件中會存在大量多余代碼,所以必須進行優(yōu)化處理[4]。建模過程如圖2所示:
圖2 建模過程
2)動態(tài)環(huán)境:主要是指器材的功能顯示。即模仿真實實驗的操作效果,例如用鼠標單擊開關按鈕后產生的按下和彈起的動態(tài)過程、點擊導線之后出現(xiàn)的自動連線效果等。
2.2 交互控制的設計
該部分的設計是實現(xiàn)系統(tǒng)功能的關鍵。本虛擬實驗系統(tǒng)不僅根據(jù)實驗要求提供了面包板、連線等實驗器材,并且還提供了一個操作標記,指導實驗者完成操作。學生通過鼠標將指令直接傳送給虛擬空間,空間接到用戶請求,將消息傳遞給相應的腳本程序,腳本程序經過一系列的計算,然后以相應的虛擬現(xiàn)實效果反饋給學生。
該部分功能的實現(xiàn)主要依靠各種接觸傳感器節(jié)點(TouchSensor)、VRMLScript編寫的腳本程序以及ROUTE語句[3]。首先在系統(tǒng)中定義一系列的TouchSensor分布在每個需要進行交互操作的虛擬物體上,當實驗進行到一定步驟時,將下步的傳感器激活,同時把其他步驟上需要的傳感器全置為無效,這樣即可實現(xiàn)讓實驗者根據(jù)實驗內容的要求按步進行操作。在這個過程中,使用設置好的Script(腳本)節(jié)點來控制這些觸發(fā)事件的實現(xiàn),這些腳本可以將用戶的操作進行轉化,控制相應的對象,進而實現(xiàn)虛擬交互功能。交互式虛擬實驗事件驅動體系的流程圖如圖3所示[5] 圖3 事件交互體系流程
下面以實現(xiàn)連線為例:
實驗者按照實驗要求,點擊相應的面包板上的插座,這時系統(tǒng)將會出現(xiàn)自動連線。為了模擬這個過程,建模時事先使用Extrusion節(jié)點在相應位置建成實驗所需的全部連線,但是開始時用Switch節(jié)點將它們隱藏起來。隨著實驗過程的進展,當學生用鼠標單擊指定位置時,在腳本程序的控制下,相應位置就會顯示連線。圖4為連線完成后的效果:
圖4 連線完成效果圖
以下是實現(xiàn)該功能的部分程序代碼:
1)初始建模時隱藏導線的設置(以第一根導線為例)
DEF line_M2_VCC1_switch Switch {
#定義了插座M2和VCC1之間的連線
whichChoice -1 #表示初始時處于隱藏狀態(tài)
choice [
DEF line_M2_VCC1 Transform {
children[
Transform {
…… #省略了導線線身和插頭的定義
2) 控制導線顯示的腳本程序
DEF change_line0 Script {
eventIn SFBool input
eventOut SFInt32 output
url "javascript:
function input (value,time)
{
if (value==1)
output=0;
}"}
……
3) 路由表設置如下
ROUTE touch_vcc1.isActive TO change_line0.input
ROUTE change_line0.output TO line_M2_VCC1_switch.set_whichChoice
上述代碼表示當插座VCC1上的觸發(fā)器被激活時,將發(fā)送一個消息給控制導線顯示腳本,腳本接到消息并經過處理后,再發(fā)送命令給Switch節(jié)點,這樣就可以達到顯示導線的目的了。
3 實驗系統(tǒng)網上發(fā)布
結合其它網絡技術,對構建完成的三維虛擬實驗室場景進行整合[6],如圖5所示。之后把該虛擬實驗系統(tǒng)傳送到Web服務器上,學生只需要登錄就可以隨時隨地進行遠程實驗。
圖5 實驗場景
4 結束語
該實驗系統(tǒng)的設計突破了傳統(tǒng)實驗方式的時空限制,使實驗教學在時間和空間上得到有效的延伸。虛擬實驗作為傳統(tǒng)實驗的一個有益的補充,既能節(jié)約大量的實驗設備經費,也有助于提高實驗教學的效果。
計算機組成與系統(tǒng)結構設計論文文獻
[1] 王愛英.計算機組成與結構[M].3版.北京:清華大學出版社,2000.
[2] 黃幕雄.高校教學型虛擬實驗室建設的現(xiàn)狀與建議[J].電化教育研究,2005(09):77-80.
[3] 胡小強.虛擬現(xiàn)實技術[M].北京:北京郵電大學出版社,2005:192-288.
[4] 張云苑.虛擬現(xiàn)實技術中3DS MAX建模的應用[J].電腦知識與技術,2006:189-190.
[5] 李斯萌,楊雪.虛擬實驗系統(tǒng)的自適應調節(jié)機制研究[J].吉林大學學報:信息科學版,2012,30(4):403-408.
[6] 宋淑彩,周麗莉,趙巍.基于網絡的計算機組成原理虛擬實驗的設計與開發(fā)[J].微計算機信息,2006,22(5-3):286-288.
計算機組成與系統(tǒng)結構設計論文篇二
用于計算機組成與結構課程教學的模擬器
計算機組成與系統(tǒng)結構設計論文摘要
摘要:介紹基于開源軟件包MML的計算機模擬器ARCH。ARCH實現(xiàn)了硬件結構的邏輯門級映射,易修改和動態(tài)運行,并具有豐富的尋址方式和指令類型,克服了軟件實驗平臺抽象粒度過大和硬件實驗平臺交互性不強的問題。
計算機組成與系統(tǒng)結構設計論文內容
關鍵詞:模擬器;計算機組成與結構;MML;ARCH
計算機組成與結構是計算機科學與技術專業(yè)本科生的核心專業(yè)基礎課程之一。它與匯編語言、微機原理、接口技術等課程一起構成了硬件系列課程。通過本課程的學習,學生可以掌握計算機系統(tǒng)各個組成部分的工作原理、組成方法和相互關系,了解計算機指令系統(tǒng)和中央處理器的組織、數(shù)據(jù)傳遞路徑和指令控制流程、存儲管理、微程序設計、中斷系統(tǒng)和輸入/輸出系統(tǒng).等,具有計算機系統(tǒng)層次結構的初步概念。
“實踐出真知”這句話告訴我們:最理想的學習方式是把所學習的理論知識付諸實踐。在計算機組成與結構課程教學過程中,如何把學習到的理論知識付諸實踐,以及如何利用實踐驗證和深化所學到的理論知識,這兩個轉化過程是學生學習的關鍵。針對這個問題,許多高校已經開始研發(fā)各種基于軟件和硬件的計算機組成與結構課程實驗平臺來輔助課程教學。這些實驗平臺可分為兩組:基于集成電路的硬件平臺和基于軟件的模擬平臺。
基于集成電路的硬件平臺具有完整的硬件結構映射的優(yōu)點,但是存在操作復雜、電路容易故障、動態(tài)演示困難等缺點,并且由于采用功能較為復雜的集成電路,硬件結構的映射無法達到寄存器級別。而基于軟件的模擬平臺可以是完全基于編程語言(如C語言或其他高級語言)開發(fā)模擬軟件,具有靈活、容易修改、動態(tài)演示方便等優(yōu)點,但是由于軟件實現(xiàn)是基于算法級別的,偏重于工作原理,很難把程序代碼和具體的硬件結構細節(jié)對應起來。此外,已有的基于軟件的模擬平臺,在尋址方式和指令集方面覆蓋面不廣,不支持中斷和堆棧的操作,這也是一大缺陷。
下面筆者將介紹基于開源軟件包Multimedia Logic(MML)所開發(fā)的用于計算機組成與結構課程教學的計算機模擬器ARCH。ARCH具有軟件的易動態(tài)運行、易修改、易二次開發(fā)的優(yōu)點,同時又實現(xiàn)了硬件結構的邏輯門級映射,還具有豐富的尋址方式和指令類型,對中斷和堆棧的操作提供了基本支持,從而彌補了已有相關計算機教學模擬器的不足之處。
1 研究背景
2001年,Yehezkel,Yurcik,Pearson和Armstrong研發(fā)了3種計算機結構模擬平臺:EasyCPU,Little Man Compmer和RTLSim。其中EasyCPU是一個基于英特爾X86微處理器的入門級微型計算機的模擬器。它只是一個軟件程序,模擬Intel X86系列微處理器的主要尋址模式和指令集合。Little Man Computer和RTLSim是對EasyCPU的進一步改進和完善。
2006年,Arias和Garcia研發(fā)了計算機結構模擬平臺SimpleCPU。SimpleCPU是一個16位的模擬CPU。它采用了3種尋址模式:快速模式、寄存器模式、間接尋址。它除了包含8個通用寄存器外,還有程序計數(shù)器(PC)、狀態(tài)寄存器(SR)、ALU的時間輸入寄存器(TMPI)、ALU時間輸出寄存器(TMPO)、存儲器數(shù)據(jù)寄存器(MDR)、內存地址寄存器(MAR)和指令寄存器(IR)。
2007年,Stanley等基于MML軟件包完成了計算機結構模擬平臺:16位的Made。Marie具有13條指令,并使用直接和間接尋址模式,每個存儲單元是16位長,指令字長和存儲字長相等。機器指令由兩個字段組成:2位操作碼和12位的地址。Made有7個寄存器。它們是累加器(AC)、內存地址寄存器(MAR)、存儲器緩沖寄存器(MBR)、程序計數(shù)器(PC)、指令寄存器(IR)、輸入寄存器(InREG)和輸出寄存器(OutREG),具有16位復用數(shù)據(jù)總線。
除了Marie之外,Stanley等還研發(fā)了兩種不同系統(tǒng)結構的模擬器:哈佛體系結構和馮·諾依曼體系結構。馮·諾依曼體系結構模擬器有4條指令,具有8位的程序計數(shù)器,8位的指令寄存器,8位的累加器和8位的存儲器。指令中操作碼占用2位,其余的被分配給地址碼,每條指令的執(zhí)行周期包含3個時鐘周期。8位哈佛體系結構模擬器有8條指令,每條指令的執(zhí)行周期包含1個時鐘周期。
筆者在Stanley和Oztekin的工作基礎上所提出的計算機模擬器ARCH的所有單元是基于MML包進行邏輯門級設計,并有38個指令。這些指令是當今的商業(yè)微處理器的核心指令。它有6種不同的尋址模式,同時支持中斷和堆棧操作。此外,因為它的所有單元是在邏輯門級設計的,所以,學生可以很容易檢查在模擬器中的所有單元的內部結構。表1所示是各種計算機模擬器的基本屬性。
2 ARCH結構和指令
2.1 總體結構
ARCH是用于本科生計算機組成與結構課程教學的模擬器。它有38條指令,包含11條存儲器和累加器操作類指令,6條指令的變址和堆棧操作指令,13條無條件和有條件轉移指令,6條指令的條件碼寄存器操作指令和2條指令輸入/輸出指令。它支持6個不同的尋址模式,包括立即、直接、間接、變址、相對、隱含尋址模式。它有11個寄存器,包括地址寄存器(AR)、程序計數(shù)器(PC)、暫存器(TR)、變址寄存器(IX)、16位長的堆棧指針(SP)、指令寄存器(IR)、輸入寄存器(INPR)、輸出寄存器(OUTR)和8位長的條件碼寄存器(CCR)。ARCH的數(shù)據(jù)路徑寬度為16位,地址寄存器的寬度為16位,所以ARCH有64KB的內存區(qū)域。ARCH中有一個專用的有效地址生成部件。該部件可以根據(jù)尋址模式計算出一個有效的地址,而不是采用通用ALU進行地址計算。該有效地址生成部件需要6個時鐘周期生成有效地址。MML開發(fā)環(huán)境中ARCH核心部件ALU和CU結構如圖1所示。
2.2 指令系統(tǒng) ARCH的指令包含操作碼和地址碼兩部分。操作碼包含兩個字段:操作類型和尋址模式。在內存空間中,隱含尋址模式的指令占用1個字節(jié),直接、間接和立即尋址模式的指令占用3個字節(jié),相對和變址尋址模式的指令占用2個字節(jié)。所有尋址方式指令的第1個字節(jié)是操作碼。操作碼的第4、5和6位表示6個不同尋址模式的其中之一,其余操作碼位表示指令的操作類型。
1)累加器操作指令。
累加器操作共有11種不同指令。采用立即、直接和間接尋址模式的累加器操作指令占用3個字節(jié),而采用變址尋址模式的累加器操作指令占用2個字節(jié),此外采用隱含尋址模式的累加器操作指令僅占用1個字節(jié)。各種累加器操作指令如表2所示。
2)變址指令和堆棧指令。
變址和堆棧指令使用立即、直接、間接、變址和隱含尋址模式。在存儲器中,前3種模式占據(jù)3個字節(jié),第4種模式占用2個字節(jié),第5種模式占用1個字節(jié)。各種變址指令和堆棧指令如表3所示。
3)有條件或無條件轉移指令。
有條件和無條件轉移指令可以改變程序流程。只不過一些是有條件轉移,其他的則是無條件轉移。絕大多數(shù)轉移指令使用相對尋址模式,只有返回主程序指令使用隱含尋址模式。各種有條件或無條件轉移分支指令如表4所示。
4)帶條件寄存器操作指令。
在執(zhí)行轉移指令時,帶條件寄存器操作指令有特別重要的作用。它們全部采用隱含尋址模式,并在取指和譯碼階段的最后一個時鐘周期執(zhí)行。表5所示是各種帶條件寄存器操作指令。
5)輸入/輸出指令。
為了與外設(如鍵盤)進行數(shù)據(jù)傳送,ARCH使用8位的鍵盤作為輸入單元,使用可用的8位LED顯示單元作為輸出單元。數(shù)據(jù)從鍵盤被轉移到輸入寄存器(INPR),并且進一步被轉移到LED顯示單元,存儲于輸出寄存器(OUTR)。ARCH支持有兩種輸入/輸出指令:IN和OUT。IN指令是將從鍵盤輸入的數(shù)據(jù)傳送到INR中存儲起來,OUT指令是將數(shù)據(jù)從OUTR傳送到LED顯示單元。
ARCH模擬器支持查詢輸入/輸出方式,這時輸入標志(FGI)和輸出標志(FGO)必須在輸入/輸出的操作過程中不斷地檢查。如果其中的一個控制標志是邏輯1,那么計算機開始傳輸數(shù)據(jù)。然而,由于計算機和外圍設備之間的數(shù)據(jù)傳輸率是非常低的,所以這種數(shù)據(jù)傳送方法不是很有效。
另一種方式是采用下述中斷方式。當輸入/輸出單元已經準備好了,利用中斷方式通知ARCH。ARCH立即離開主程序執(zhí)行,并啟動必要的輸入/輸出操作傳送數(shù)據(jù)。當ARCH完成輸入/輸出操作后將返回主程序。
6)中斷。
ARCH模擬器的工作周期包含中斷周期和指令周期兩種。觸發(fā)器C用于區(qū)分中斷周期和指令周期。如果觸發(fā)器C是邏輯1,那么模擬器是在中斷周期,否則,是在指令周期。在指令周期中,通過控制機制來檢查中斷標志。如果實驗人員不希望模擬器進入中斷周期,則可以清除觸發(fā)器C。
ARCH模擬器中設置了兩個指令可以將條件碼寄存器的中斷標志設置為邏輯1或0。STI指令在中斷標志設置為邏輯1,而CLI指令清除中斷標志。
ARCH模擬器在進人中斷周期之前,能保存一些寄存器的內容。這些寄存器的內容被保存在堆棧區(qū)域,這些堆棧區(qū)域是從E000h開始的4KB的內存。保存寄存器到堆棧區(qū)的操作按以下順序進行:程序計數(shù)器、變址寄存器、累加器、條件碼寄存器。
3 ARCH的應用
下面以計算f(x)=x2+x+1為例說明基于ARCH的實驗操作過程。首先,約定x的值被存儲在ARCH的64KB存儲器的數(shù)據(jù)段中,并且最后運算結果f(x)的結果也存儲到數(shù)據(jù)段中數(shù)據(jù)段是從地址為A000h開始的占用4KB的內存空間。
該計算過程對應的匯編代碼如下:
0100h:LDA#1234h\累加器裝載十六進制1234H。
0103h:STA[00h]\累加器內容轉存到數(shù)據(jù)段。
0105h:LDA[00h]\數(shù)據(jù)從數(shù)據(jù)段提取。
0107h:MUL[00h]\在累加器中的數(shù)據(jù)乘以數(shù)據(jù)段的數(shù)據(jù),并存儲到累加器。
0109h:ADD[00h]\在累加器中的數(shù)據(jù)加上數(shù)據(jù)段中的數(shù)據(jù),并存儲到累加器。
010Bh:INC\累加器中的值遞增并存儲到累加器。
010Ch:STA[00h]\累加器的值被存儲到數(shù)據(jù)段。
010Eh:HLT\程序停止。
上述匯編代碼可以手動或者通過匯編程序自動轉換成為二進制代碼,并存儲于文件中。
在MML開發(fā)環(huán)境中運行ARCH,此時二進制代碼文件中的代碼和數(shù)據(jù)被自動載入存儲器中并執(zhí)行。我們可以通過ARCH包含的LED查看相應的執(zhí)行結果。
4 結語
在計算機組成與結構課程教學過程中,為了把學習到的理論知識付諸實踐,利用實踐驗證和深化所學到的理論知識,許多高校已經開始研發(fā)各種教學用的計算機模擬平臺。針對基于軟件實驗平臺的抽象粒度過大和基于硬件實驗平臺交互性不強的問題,筆者提出了基于開源軟件包MML計算機模擬器ARCH。ARCH不僅具有軟件的易動態(tài)運行、易修改、易二次開發(fā)的優(yōu)點,同時還實現(xiàn)了硬件結構的邏輯門級映射,并具有豐富的尋址方式和指令類型,對中斷和堆棧的操作提供了基本支持,從而彌補了已有相關教學模擬器的不足之處。
有關計算機組成與系統(tǒng)結構設計論文推薦:
計算機組成與系統(tǒng)結構設計論文相關文章: