TEC-XP實(shí)驗(yàn)指導(dǎo)書n_第1頁
TEC-XP實(shí)驗(yàn)指導(dǎo)書n_第2頁
TEC-XP實(shí)驗(yàn)指導(dǎo)書n_第3頁
TEC-XP實(shí)驗(yàn)指導(dǎo)書n_第4頁
TEC-XP實(shí)驗(yàn)指導(dǎo)書n_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 TEC-XP計(jì)算機(jī)組成原理與系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)系統(tǒng) 清華大學(xué)科教儀器廠清華大學(xué)計(jì)算機(jī)系2005年8月 目錄第一章 TEC-XP計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)概述-111 TEC-XP教學(xué)機(jī)系統(tǒng)的技術(shù)指標(biāo)與系統(tǒng)配置-112 教學(xué)機(jī)系統(tǒng)支持的實(shí)驗(yàn)項(xiàng)目- -21.2.1 基本實(shí)驗(yàn)項(xiàng)目-21.2.2 其他實(shí)驗(yàn)項(xiàng)目-3第二章 實(shí)驗(yàn)指導(dǎo)-52.1 基礎(chǔ)匯編語言程序設(shè)計(jì)-52.2 脫機(jī)運(yùn)算器實(shí)驗(yàn)-122.3 組合邏輯控制器部件教學(xué)實(shí)驗(yàn)-212.4 存儲(chǔ)器部件教學(xué)實(shí)驗(yàn)-302.5 I/O口擴(kuò)展實(shí)驗(yàn)-342.6 中斷實(shí)驗(yàn)-362.7 微程序控制器部件教學(xué)實(shí)驗(yàn)-50 2.7.1技術(shù)資料匯總-502.7.2微程序控制器實(shí)驗(yàn)-5

2、7 附錄 實(shí)驗(yàn)注意事項(xiàng)-72第一章 TEC-XP計(jì)算機(jī)組成原理與系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)系統(tǒng)概述1.1 TEC-XP教學(xué)計(jì)算機(jī)系統(tǒng)概述1.1.1 TEC-XP教學(xué)計(jì)算機(jī)系統(tǒng)系列和總體組成概述TEC-XP是由清華大學(xué)計(jì)算機(jī)系和清華大學(xué)科教儀器廠聯(lián)合研制并通過了教育部主持的成果鑒定的適用于計(jì)算機(jī)組成原理與系統(tǒng)結(jié)構(gòu)的實(shí)驗(yàn)系統(tǒng),主要用于計(jì)算機(jī)組成原理和計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)等課程的硬件教學(xué)實(shí)驗(yàn),同時(shí)還支持監(jiān)控程序、匯編語言程序設(shè)計(jì)、BASIC高級語言程序設(shè)計(jì)等軟件方面的教學(xué)實(shí)驗(yàn)。它的功能設(shè)計(jì)和實(shí)現(xiàn)技術(shù),都緊緊地圍繞著對課程教學(xué)內(nèi)容的覆蓋程度和所能完成的教學(xué)實(shí)驗(yàn)項(xiàng)目的質(zhì)量與水平來進(jìn)行安排。其突出特點(diǎn)有二,一是硬、軟件基本配

3、置比較完整,能覆蓋相關(guān)課程主要教學(xué)內(nèi)容,支持的教學(xué)實(shí)驗(yàn)項(xiàng)目多且水平高,文字與圖紙資料相對齊全。二是既有用不同集成度的半導(dǎo)體器件實(shí)現(xiàn)的真實(shí)“硬件”計(jì)算機(jī)系統(tǒng),同時(shí)還有在PC計(jì)算機(jī)上用軟件實(shí)現(xiàn)的功能完全相同的教學(xué)計(jì)算機(jī)的“軟件”模擬系統(tǒng),其組成和實(shí)現(xiàn)的功能如下圖所示。 軟件:解釋 BASIC 語言匯編語言支持監(jiān)控程序硬件:運(yùn)算器,控制器(多種實(shí)現(xiàn):(微程序或硬布線控制器,中小規(guī)模器件或FPGA器件實(shí)現(xiàn))主存儲(chǔ)器,總線,接口輸入設(shè)備,輸出設(shè)備硬件與電路:邏輯器件和設(shè)備軟件:解釋 BASIC 語言匯編語言支持監(jiān)控程序(指令)級模擬教學(xué)機(jī)模擬:運(yùn)算器、控制器模擬(微程序級或硬布線控制器級模擬)主存儲(chǔ)器模

4、擬,總線、接口模擬輸入設(shè)備/ 輸出設(shè)備模擬運(yùn)行環(huán)境:PC機(jī),Windows系統(tǒng)圖1.1 硬件實(shí)現(xiàn)的實(shí)際計(jì)算機(jī)系統(tǒng) 圖1.2 軟件實(shí)現(xiàn)的模擬計(jì)算機(jī)系統(tǒng)從圖1.1可以看到,該計(jì)算機(jī)硬件系統(tǒng)組成中,功能部件是完整齊備的,運(yùn)算器、控制器、存儲(chǔ)器、計(jì)算機(jī)總線、輸入輸出接口等配備齊全,還可以接通PC機(jī)仿真終端執(zhí)行輸入輸出操作,同時(shí)實(shí)現(xiàn)了微程序方案的和硬布線方案的2種控制器。從CPU的具體設(shè)計(jì)和實(shí)現(xiàn)技術(shù)區(qū)分,既支持用中小集成度芯片實(shí)現(xiàn)CPU的方案,也支持選用高集成度的FPGA門陣列器件實(shí)現(xiàn)CPU的方案,體現(xiàn)了CPU系統(tǒng)設(shè)計(jì)的最新水平。從計(jì)算機(jī)組成原理課程教學(xué)實(shí)驗(yàn)的角度看,該計(jì)算機(jī)軟件系統(tǒng)組成也是完整的,支持

5、簡單的高級語言BASIC(包括浮點(diǎn)運(yùn)算指令和基本函數(shù)運(yùn)算功能),匯編語言(支持基本偽指令功能)和二進(jìn)制的機(jī)器語言,配有自己的監(jiān)控程序,以及PC機(jī)仿真終端程序等。毫無疑問,全部軟件的源程序代碼是寶貴的教學(xué)參考資料。從圖1.2可以看到,軟件實(shí)現(xiàn)的計(jì)算機(jī)指令級模擬系統(tǒng),可以使實(shí)驗(yàn)人員脫離實(shí)際的教學(xué)計(jì)算機(jī)系統(tǒng),在PC機(jī)上執(zhí)行教學(xué)計(jì)算機(jī)軟件系統(tǒng)的全部功能;微程序和硬連線這一級別的模擬軟件,可以通過PC機(jī)屏幕查看在教學(xué)計(jì)算機(jī)內(nèi)部數(shù)據(jù)、指令的流動(dòng)過程,并顯示每一步的運(yùn)行結(jié)果,為設(shè)計(jì)、調(diào)試教學(xué)機(jī)新的軟件或硬件功能提供重要的輔助作用。值得一提的還研制了控制器(微程序或硬連線方案)輔助設(shè)計(jì)軟件,同學(xué)可以在PC機(jī)上

6、使用該軟件直接設(shè)計(jì)該計(jì)算機(jī)的控制器,包括定義指令格式和編碼,劃分指令執(zhí)行步驟和每一步的操作功能,確定控制器需要提供的全部控制信號等全部過程,最后會(huì)自動(dòng)生成能裝入教學(xué)計(jì)算機(jī)硬件系統(tǒng)中實(shí)際應(yīng)用的最終結(jié)果文件。接下來還可以選用微程序級的模擬軟件系統(tǒng),或者硬布線控制器級的模擬軟件系統(tǒng),對經(jīng)過輔助設(shè)計(jì)軟件得到的設(shè)計(jì)結(jié)果進(jìn)行模擬運(yùn)行,計(jì)算機(jī)屏幕上會(huì)詳細(xì)顯示每一步的運(yùn)行結(jié)果,做到盡早地發(fā)現(xiàn)問題。由于在執(zhí)行上述的控制器設(shè)計(jì)和模擬運(yùn)行的整個(gè)過程中,都是在PC機(jī)上完成的,脫離實(shí)際的教學(xué)機(jī)系統(tǒng),工作更方便,效率更高,對節(jié)省學(xué)時(shí)、幫助同學(xué)加深對控制器組成、設(shè)計(jì)等方面的理解深度也有益處。1.1.2 TEC-XP教學(xué)計(jì)算

7、機(jī)的指令系統(tǒng)設(shè)計(jì)合理地確定一臺(tái)計(jì)算機(jī)的指令系統(tǒng),無論對計(jì)算機(jī)廠家還是對最終用戶來說都是十分重要的事情,它密切關(guān)系到計(jì)算機(jī)設(shè)計(jì)與實(shí)現(xiàn)的復(fù)雜程度和生產(chǎn)成本,計(jì)算機(jī)使用的難易程度和運(yùn)行效率。對主要用于教學(xué)和教學(xué)實(shí)驗(yàn)?zāi)康牡挠?jì)算機(jī),特別是對于一臺(tái)16位字長的教學(xué)計(jì)算機(jī)來說,確定其指令系統(tǒng),更多地應(yīng)關(guān)注它在教學(xué)過程中的作用和使用方法,至少應(yīng)解決好以下幾個(gè)問題。(1)指令格式和功能的典型性,即選擇DLX指令集結(jié)構(gòu),適當(dāng)靠攏RISC機(jī)的指令格式,做到盡可能小的指令集,簡化的尋址方式。這樣做不僅使教學(xué)計(jì)算機(jī)的結(jié)構(gòu)簡化,實(shí)現(xiàn)簡單,易于實(shí)現(xiàn)指令流水。做到指令格式和功能有良好的典型性,同學(xué)更容易接受,講課時(shí)更容易完整

8、地講解清楚這套指令系統(tǒng)和控制器設(shè)計(jì),也有利于教學(xué)內(nèi)容的整體安排。(2)指令系統(tǒng)要有一定的完備程度,給出的指令格式適當(dāng)規(guī)范,指令分類合理,指令執(zhí)行步驟容易理解,符合人們通常的編程使用習(xí)慣??傊?,有較好的易學(xué)易用性。確保選用這套指令系統(tǒng),能方便地設(shè)計(jì)教學(xué)計(jì)算機(jī)的配套軟件。 (3)更高的可擴(kuò)充性,即為學(xué)生添加各種新的指令留下比較充足的余地,為此可以把完整的系統(tǒng)中指令劃分為必備的(約30條)基本指令(設(shè)計(jì)者已經(jīng)實(shí)現(xiàn))和待擴(kuò)展的(約20條)保留指令(留給學(xué)生設(shè)計(jì)實(shí)現(xiàn))2大類;在擴(kuò)展新的指令時(shí),實(shí)現(xiàn)手段要適當(dāng)簡單,但要有比較多的設(shè)計(jì)內(nèi)容和選擇余地,以便更好地培養(yǎng)學(xué)生的創(chuàng)新意識(shí)和開創(chuàng)能力,有利于深化教學(xué)內(nèi)容

9、。(4)符合教學(xué)計(jì)算機(jī)的特定要求。對16位字長的計(jì)算機(jī),指令的操作碼部分可以選擇為固定長度;再結(jié)合我們所選用的運(yùn)算器器件Am2901芯片內(nèi)含16個(gè)通用寄存器的特點(diǎn),寄存器尋址方式需要使用4位的形式地址。如果需要,還可以指定16個(gè)累加器中的幾個(gè)為專用的寄存器,以便最大程度地簡化教學(xué)機(jī)硬件組成,簡化指令執(zhí)行流程設(shè)計(jì)。遵照上述思路,最終確定了教學(xué)計(jì)算機(jī)的指令系統(tǒng)的具體組成和指令格式。指令格式如圖1.3所示。從圖中可以看到,指令中包括單字指令和雙字指令,第一個(gè)指令字的高8位是指令操作碼字段,低8位和雙字指令的第二個(gè)指令字是操作數(shù)地址字段,分別有3種用法。8位 4位 4位操作碼DRSRIO端口地址 /

10、相對偏移量立即數(shù) / 直接內(nèi)存地址 / 變址偏移量圖1.3 教學(xué)機(jī)的指令格式8位指令操作碼(記作“IR15IR8”),各位的含義如下:IR15、IR14 用于區(qū)分指令組: 0表示A組,10表示B組,11表示C、D組;IR13 用于區(qū)分基本指令和擴(kuò)展指令:0表示基本指令,1表示擴(kuò)展指令;IR12 用于簡化控制器的實(shí)現(xiàn),暫定該位的值為0;IR11IR8 用于區(qū)分同一指令組中的不同指令(最多16條);IR11 還用于區(qū)分C、D組指令(每組最多8條):0表示C組,1表示D組。第一個(gè)指令字中的操作數(shù)地址字段可以給出:4位的通用寄存器編號(DR代表目的寄存器,SR代表源寄存器),8位的IO端口地址,8位的

11、相對變址偏移量。第二個(gè)指令字用于給出16位的立即數(shù),16位的直接內(nèi)存地址,或者16位的變址偏移量。1.1.3 TEC-XP教學(xué)計(jì)算機(jī)的結(jié)構(gòu)和組成設(shè)計(jì)作為教學(xué)和教學(xué)實(shí)驗(yàn)使用的計(jì)算機(jī),其結(jié)構(gòu)和組成設(shè)計(jì)要比較好地體現(xiàn)出盡可能多的主要教學(xué)內(nèi)容,包括功能部件劃分清晰,設(shè)計(jì)合理,它們之間連接關(guān)系適當(dāng)規(guī)范等。在選用中小規(guī)模集成度器件實(shí)現(xiàn)的CPU系統(tǒng)中,運(yùn)算器部件設(shè)計(jì)選用了位片結(jié)構(gòu)的4位長度的運(yùn)算器芯片,內(nèi)含功能比較合理的ALU,雙端口控制讀出、單端口控制寫入的16個(gè)累加器,和完成乘除法運(yùn)算的乘商寄存器等功能部件,從功能和組成兩個(gè)方面都比較好地體現(xiàn)了運(yùn)算器部件的教學(xué)內(nèi)容。在控制器部件設(shè)計(jì)中,同時(shí)實(shí)現(xiàn)了微程序的

12、和硬布線的兩種控制器,通過一個(gè)開關(guān)簡單地完成兩種控制器之間的切換。講課過程中,以一種控制器方案為主,對控制器的組成與設(shè)計(jì)技術(shù)講明講透,再用少量學(xué)時(shí)順便介紹另外一種控制器方案,有利于比較兩種控制器的異同之處和各自的優(yōu)缺點(diǎn),可以取得事半功倍的教學(xué)效果。設(shè)計(jì)指令執(zhí)行步驟時(shí),對選用中小規(guī)模集成電路實(shí)現(xiàn)的控制器,為了突出基本原理和減少器件數(shù)量,指令被設(shè)計(jì)為串行執(zhí)行,即下一條指令必須在當(dāng)前指令完全結(jié)束后才能開始;在選用高集成度的現(xiàn)場可編程器件FPGA實(shí)現(xiàn)的CPU系統(tǒng)中,繼承了原來的指令系統(tǒng),既支持指令的串行執(zhí)行,也可以選用指令流水線技術(shù)實(shí)現(xiàn)指令的并行執(zhí)行,以支持真實(shí)的指令流水線的教學(xué)實(shí)驗(yàn)功能。在教學(xué)計(jì)算機(jī)

13、存儲(chǔ)器部件設(shè)計(jì)中,出于簡化和容易實(shí)現(xiàn)的目的,選用靜態(tài)存儲(chǔ)器芯片實(shí)現(xiàn)內(nèi)存儲(chǔ)器系統(tǒng),包括了唯讀存儲(chǔ)區(qū)(ROM,存放監(jiān)控程序等)和隨讀寫存儲(chǔ)區(qū)(RAM)兩部分,也可以實(shí)現(xiàn)指令和數(shù)據(jù)分開的兩個(gè)存儲(chǔ)體(只用于FPGA實(shí)現(xiàn)的帶指令流水線的CPU系統(tǒng))。適當(dāng)改進(jìn)后,可以支持存儲(chǔ)器的多體交叉編址技術(shù)。在教學(xué)計(jì)算機(jī)總線部件設(shè)計(jì)中,實(shí)現(xiàn)了單總線結(jié)構(gòu),數(shù)據(jù)總線、地址總線和控制總線比較簡單,保證教學(xué)機(jī)的正常運(yùn)行并體現(xiàn)出總線設(shè)計(jì)的基本原理。關(guān)于計(jì)算機(jī)中的接口線路,教學(xué)計(jì)算機(jī)提供了2路串行接口(INTEL 8251),可以接入PC機(jī)作為教學(xué)計(jì)算機(jī)的仿真終端完成輸入輸出操作;作為擴(kuò)展實(shí)驗(yàn)內(nèi)容,也可以通過在一個(gè)40芯的器件插

14、座上插上其他標(biāo)準(zhǔn)接口線路(例如INTEL的8255、8253等)并適當(dāng)接線,完成常用接口線路的輸入輸出操作。關(guān)于中斷處理,支持3級的中斷并允許中斷嵌套,可以完成常規(guī)的中斷處理能力,對中斷優(yōu)先級編碼與排隊(duì),中斷響應(yīng)和現(xiàn)場切換等處理上特色很強(qiáng)。1.1.4 教學(xué)計(jì)算機(jī)的硬件實(shí)現(xiàn)技術(shù)作為教學(xué)目的的計(jì)算機(jī)系統(tǒng),在具體的硬件實(shí)現(xiàn)方面與一般的商用計(jì)算機(jī)有著某些明顯不同之處,具體表現(xiàn)在如下3個(gè)方面。首先是“處處可見”的要求,不僅全部部件和全部器件要做成全暴露方式,還包括計(jì)算機(jī)運(yùn)行過程中各種數(shù)據(jù)和控制信號的狀態(tài)及其時(shí)空關(guān)系也容易觀察,這對于學(xué)生完成教學(xué)實(shí)驗(yàn),掌握計(jì)算機(jī)組成與設(shè)計(jì)技術(shù)是必不可少的。因此,教學(xué)機(jī)的線

15、路板上設(shè)置了大量的開關(guān)和指示燈,適當(dāng)?shù)奶泳€插針、插孔等。隨之帶來的一個(gè)突出矛盾是設(shè)備的可靠性和更高的抗破壞性,換句話說,要能夠盡量降低學(xué)生實(shí)驗(yàn)過程時(shí)常會(huì)發(fā)生的錯(cuò)誤對教學(xué)機(jī)的損壞程度,還要容易維修,這是教學(xué)計(jì)算機(jī)設(shè)計(jì)與實(shí)現(xiàn)過程中的難點(diǎn)之一。其次,在教學(xué)計(jì)算機(jī)實(shí)現(xiàn)中,要給出盡可能高的可擴(kuò)展性,即可以方便地修改已有設(shè)計(jì),或者增加新的功能。限制太多,留的選擇余地太少,會(huì)嚴(yán)重影響教學(xué)實(shí)驗(yàn)的水平和質(zhì)量;保留的選擇余地過多,不僅難以實(shí)現(xiàn),還會(huì)增大教學(xué)實(shí)驗(yàn)難度,反過來也難以保證教學(xué)實(shí)驗(yàn)的質(zhì)量。如何在這二者之間進(jìn)行取舍,無疑是留給設(shè)計(jì)者的又一個(gè)難題。作為主導(dǎo)思想,我們還是更強(qiáng)調(diào)選擇余地留得適當(dāng)多一點(diǎn),通過加強(qiáng)

16、實(shí)驗(yàn)指導(dǎo),實(shí)驗(yàn)說明寫的詳細(xì)一些,使得學(xué)生可以開展一些有創(chuàng)意的教學(xué)實(shí)驗(yàn)內(nèi)容,全力增強(qiáng)學(xué)生的創(chuàng)新意識(shí)和自主學(xué)習(xí)的能力。最后一點(diǎn)是通過教學(xué)計(jì)算機(jī)系統(tǒng)能夠體現(xiàn)出多大的知識(shí)面,即涵蓋多大范圍的主要教學(xué)內(nèi)容。為了兼顧不同院校的教學(xué)安排,針對計(jì)算機(jī)組成原理和計(jì)算機(jī)體系結(jié)構(gòu)兩門課程的實(shí)驗(yàn)需求,我們把教學(xué)計(jì)算機(jī)系統(tǒng)做成了一個(gè)系列產(chǎn)品。從計(jì)算機(jī)字長劃分,可以實(shí)現(xiàn)8位字長的計(jì)算機(jī),也可以實(shí)現(xiàn)16位字長的計(jì)算機(jī),難能可貴的是它們是在同一個(gè)印制電路板上實(shí)現(xiàn)的,換言之,只要教師具備相應(yīng)的知識(shí)和技術(shù)能力,在16位的教學(xué)計(jì)算機(jī)上,經(jīng)過重新設(shè)計(jì)并組裝成8位字長的計(jì)算機(jī)是可行的,當(dāng)然這已經(jīng)是完全不同指令系統(tǒng)、不同硬軟件組成的兩套

17、計(jì)算機(jī),可以用在計(jì)算機(jī)組成原理課程的教學(xué)過程中,用于課程設(shè)計(jì),甚至于作為學(xué)生的畢業(yè)設(shè)計(jì)題目也是可行的。從選用的器件劃分,支持用中小規(guī)模集成電路實(shí)現(xiàn)的CPU系統(tǒng),在體現(xiàn)計(jì)算機(jī)組成的原理性知識(shí)的同時(shí),在很多場合都要涉及到數(shù)字邏輯電路和邏輯設(shè)計(jì)的具體知識(shí),更接近計(jì)算機(jī)實(shí)現(xiàn)的線路邏輯的底層,體現(xiàn)了比較傳統(tǒng)的教學(xué)內(nèi)容和實(shí)驗(yàn)安排。還支持用大規(guī)模集成電路FPGA芯片實(shí)現(xiàn)的單個(gè)芯片的CPU系統(tǒng),選用VHDL語言描述計(jì)算機(jī)處理器的功能組成,此時(shí)則較少涉及計(jì)算機(jī)具體實(shí)現(xiàn)的線路邏輯,更有利于突出計(jì)算機(jī)的功能設(shè)計(jì)與實(shí)現(xiàn),并且為實(shí)現(xiàn)指令流水提供了最好的條件,體現(xiàn)出比較新的教學(xué)內(nèi)容和更高層次的實(shí)驗(yàn)安排。從計(jì)算機(jī)系統(tǒng)的完整

18、性劃分,目前國內(nèi)多數(shù)的計(jì)算機(jī)組成原理課程的教學(xué)實(shí)驗(yàn)是在硬件裸機(jī)裝置上完成的,實(shí)驗(yàn)裝置上沒有配備合理的軟件系統(tǒng),計(jì)算機(jī)組成原理被作為一門“純正的”硬件課程來看待,這是很過時(shí)的做法,與國外先進(jìn)的教學(xué)安排相差甚遠(yuǎn)。我們則堅(jiān)持把一臺(tái)硬軟件配置比較完整的計(jì)算機(jī)系統(tǒng)用于教學(xué)實(shí)驗(yàn),匯編語言程序設(shè)計(jì)、簡單的操作系統(tǒng)雛形(監(jiān)控程序),不同層次的軟件模擬等應(yīng)該在計(jì)算機(jī)組成原理課程中有適當(dāng)?shù)牡匚?。從?jì)算機(jī)硬件系統(tǒng)的設(shè)計(jì)手段劃分,在教學(xué)計(jì)算機(jī)設(shè)計(jì)與實(shí)現(xiàn)中,有非常老式的、基本上完全手工設(shè)計(jì)的例子,也有更現(xiàn)代化的通過VHDL語言描述、并用FPGA芯片實(shí)現(xiàn)的例子。使同學(xué)們有機(jī)會(huì)在二者之間進(jìn)行某些對比,看到技術(shù)進(jìn)步給IT產(chǎn)業(yè)

19、帶來的深遠(yuǎn)影響。除此之外,我們還設(shè)計(jì)了計(jì)算機(jī)控制器(含微程序控制器和硬連線控制器)輔助設(shè)計(jì)軟件,該軟件將以導(dǎo)航方式指明控制器的設(shè)計(jì)流程,引導(dǎo)學(xué)生逐項(xiàng)完成必要的設(shè)計(jì),包括定義指令系統(tǒng),劃分指令執(zhí)行步驟和每一步實(shí)現(xiàn)的功能,選擇有關(guān)控制信號等,并把原來完全手工設(shè)計(jì)過程中那些機(jī)械重復(fù)的微指令編碼、微指令地址安排,以及書寫硬連線控制器每一個(gè)控制信號的邏輯表達(dá)式等煩人的勞動(dòng)交由計(jì)算機(jī)自動(dòng)完成,極大地提高了教學(xué)實(shí)驗(yàn)的工作效率和設(shè)計(jì)質(zhì)量。接下來可以通過運(yùn)行模擬軟件系統(tǒng),檢查輔助設(shè)計(jì)的結(jié)果,盡快地幫助找出設(shè)計(jì)中的錯(cuò)誤。正確的設(shè)計(jì)結(jié)果可以被直接裝入到實(shí)際的硬件系統(tǒng)中,通過運(yùn)行最終設(shè)計(jì)的硬件教學(xué)計(jì)算機(jī)系統(tǒng),查看實(shí)際

20、運(yùn)行效果。設(shè)計(jì)過程和操作運(yùn)行步驟密切相關(guān),環(huán)環(huán)緊扣,使學(xué)生在探索中學(xué)習(xí),濃厚的興趣,油然而生的成就感將激勵(lì)他們不斷前進(jìn)。1.1.5 軟件模擬實(shí)現(xiàn)的教學(xué)計(jì)算機(jī)系統(tǒng)把已經(jīng)用硬件實(shí)現(xiàn)的教學(xué)計(jì)算機(jī)系統(tǒng)的全部功能,通過軟件模擬的辦法在PC機(jī)上再次展現(xiàn)出來,是我們做出的重大努力之一。通過網(wǎng)上查詢和與已經(jīng)出國人員的直接交流,了解到國外有一些著名大學(xué)在計(jì)算機(jī)組成原理課程教學(xué)過程中的安排,多選用軟件模擬的方式完成逐項(xiàng)教學(xué)實(shí)驗(yàn)。其優(yōu)點(diǎn)是使用方便,變動(dòng)設(shè)計(jì)的靈活性強(qiáng),可以比較容易地對比不同設(shè)計(jì)方案對計(jì)算機(jī)執(zhí)行性能影響的程度。不使用專用硬件設(shè)備完成教學(xué)實(shí)驗(yàn),實(shí)驗(yàn)成本也會(huì)比較低,不要求專職的人員管理硬件教學(xué)實(shí)驗(yàn)室,授課

21、與輔導(dǎo)教師更容易與同學(xué)交互。缺憾也是明顯的,學(xué)生學(xué)習(xí)硬件課程的整個(gè)過程,不接觸(擁有)自己可以設(shè)計(jì)與修改的硬件設(shè)備,更多的精力集中到計(jì)算機(jī)的功能設(shè)計(jì)部分,難以對線路與邏輯設(shè)計(jì)部分,計(jì)算機(jī)硬件實(shí)現(xiàn)中的工程性、技術(shù)性問題有切身體會(huì)。如何權(quán)衡硬件的教學(xué)計(jì)算機(jī)系統(tǒng)和軟件模擬的教學(xué)計(jì)算機(jī)系統(tǒng)在課程教學(xué)中的作用,可能是仁者見仁,智者見智,恐怕一時(shí)也難有定論。對此,我們采取的措施是同時(shí)實(shí)現(xiàn)出這樣兩部分內(nèi)容,并且同時(shí)使用在教學(xué)過程中,使它們發(fā)揮各自不同的作用,通過教學(xué)實(shí)踐來探索更好的解決問題的途徑。為了更便于比較,做到更好的資源復(fù)用,在設(shè)計(jì)與實(shí)現(xiàn)軟件模擬的教學(xué)計(jì)算機(jī)系統(tǒng)的過程中,采取了兩項(xiàng)措施:(1) 堅(jiān)持與

22、硬件實(shí)現(xiàn)的教學(xué)計(jì)算機(jī)系統(tǒng)有盡可能高的一致性。為此,模擬軟件使用的信息,例如監(jiān)控程序的執(zhí)行碼,微程序控制器的微程序的二進(jìn)制編碼文件等,與硬件教學(xué)機(jī)系統(tǒng)中使用的完全相同,這樣輔助設(shè)計(jì)產(chǎn)生的設(shè)計(jì)結(jié)果,既可以直接用于模擬,也可以直接用于寫到硬件教學(xué)機(jī)的部件中,確保二者之間有最好的一致性。(2) 在模擬軟件的設(shè)計(jì)中,比較準(zhǔn)確地按照硬件系統(tǒng)的主要功能部件實(shí)現(xiàn)模擬,確保硬件實(shí)現(xiàn)的與軟件模擬現(xiàn)實(shí)的系統(tǒng)有良好的對照關(guān)系,有望在教學(xué)過程中可以得到更好的教學(xué)效果。實(shí)現(xiàn)的模擬系統(tǒng),模擬重點(diǎn)分配到2個(gè)層次上。一個(gè)層次是指令級模擬,模擬的最小單位是一條機(jī)器指令,根據(jù)得到的指令的具體內(nèi)容計(jì)算出這條指令的執(zhí)行結(jié)果。這個(gè)模擬軟

23、件的運(yùn)行對象是機(jī)器指令組成的程序,運(yùn)行結(jié)果將顯示在計(jì)算機(jī)的屏幕上。當(dāng)被運(yùn)行的程序?qū)ο笫潜O(jiān)控程序時(shí),實(shí)際上就是在模擬監(jiān)控程序的執(zhí)行過程,可以執(zhí)行每一個(gè)監(jiān)控命令,與在真實(shí)教學(xué)計(jì)算機(jī)上運(yùn)行監(jiān)控程序的效果是一樣的,此時(shí)也可以說是在執(zhí)行教學(xué)計(jì)算機(jī)系統(tǒng)一級的模擬,可以建立并運(yùn)行用戶的匯編程序,也可以建立并運(yùn)行用戶的BASIC語言的程序等。另一個(gè)層次是微體系結(jié)構(gòu)級模擬,模擬的最小單位是一條指令的一個(gè)執(zhí)行步驟,對微程序控制器而言是一條微指令,對硬連線控制器而言是指令的一個(gè)節(jié)拍。這個(gè)模擬軟件的運(yùn)行對象也是機(jī)器指令組成的程序,運(yùn)行結(jié)果將顯示在計(jì)算機(jī)的屏幕上,但它有2種不同的運(yùn)行方式:連續(xù)運(yùn)行和單步運(yùn)行。在連續(xù)運(yùn)行

24、方式下,在計(jì)算機(jī)屏幕上見到的運(yùn)行效果和前一個(gè)層次上的運(yùn)行效果是一樣的,只是運(yùn)行速度要慢得多,因?yàn)橐M計(jì)算每一條指令的每一個(gè)執(zhí)行步驟的結(jié)果,經(jīng)過幾個(gè)模擬步驟才能得到一條指令的運(yùn)行結(jié)果,承擔(dān)模擬的PC計(jì)算機(jī)的計(jì)算量要增大很多。在單步運(yùn)行方式下,在計(jì)算機(jī)屏幕上將顯示指令的這個(gè)執(zhí)行步驟的有關(guān)運(yùn)行結(jié)果,包括指令寄存器的內(nèi)容,指令所處的執(zhí)行步驟,地址總線、數(shù)據(jù)總線、各個(gè)累加器的內(nèi)容,運(yùn)算器的輸出結(jié)果和標(biāo)志位的結(jié)果,狀態(tài)寄存器的內(nèi)容,控制器全部控制信號的當(dāng)前狀態(tài)等完整的信息,主要用于查看、理解、分析計(jì)算機(jī)內(nèi)指令執(zhí)行的詳實(shí)過程,這對檢查同學(xué)新增加的控制器功能(擴(kuò)展的新指令的執(zhí)行過程)的正確性是很有幫助的。開

25、發(fā)模擬軟件需要注意選擇運(yùn)行平臺(tái)??紤]到已經(jīng)把Windows系統(tǒng)作為仿真終端的運(yùn)行環(huán)境,全部軟件系統(tǒng)也都統(tǒng)一到這一平臺(tái)之上。1.1.6 教學(xué)計(jì)算機(jī)在教學(xué)過程中的作用TH-union教學(xué)計(jì)算機(jī)系統(tǒng)的組成和設(shè)計(jì)技術(shù),作為教學(xué)內(nèi)容的實(shí)例有很強(qiáng)的典型性,修改或擴(kuò)展已有功能可以比較好地滿足教學(xué)實(shí)驗(yàn)的要求;硬件實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)可以用于現(xiàn)場的真實(shí)硬件系統(tǒng)的教學(xué)實(shí)驗(yàn),軟件模擬實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng),可以在脫離實(shí)際教學(xué)計(jì)算機(jī)系統(tǒng)的條件下,在PC機(jī)上通過模擬的辦法完成原本必須在教學(xué)機(jī)上進(jìn)行的教學(xué)實(shí)驗(yàn)。計(jì)算機(jī)組成原理是計(jì)算機(jī)系本科生最重要的專業(yè)基礎(chǔ)課程之一,必修,課程在整個(gè)教學(xué)安排中占有重要的地位。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程也是計(jì)

26、算機(jī)系本科生重要的專業(yè)課程之一,但系統(tǒng)結(jié)構(gòu)課程的教學(xué)實(shí)驗(yàn)卻不容易落實(shí),目前比較多地集中到通過軟件模擬來評測不同設(shè)計(jì)方案對系統(tǒng)性能的影響。應(yīng)該清醒地看到,國內(nèi)對于計(jì)算機(jī)硬件為主的課程的定位尚不夠準(zhǔn)確,教學(xué)過程中也還存在一些模糊認(rèn)識(shí),或由于條件上的限制采取了一些不夠進(jìn)取的辦法,這一切嚴(yán)重地影響教學(xué)質(zhì)量,長遠(yuǎn)看,對我國信息產(chǎn)業(yè)的發(fā)展是不利的。對硬件為主的課程定位不夠準(zhǔn)確,主要表現(xiàn)在一種“欺軟怕硬”的心理,認(rèn)為計(jì)算機(jī)硬件(尤其是計(jì)算機(jī)組成原理課程)難教更難學(xué),于是采取適當(dāng)躲避的態(tài)度對待之,極端一點(diǎn)的,直接說計(jì)算機(jī)組成原理課程沒有用。顯而易見,如果計(jì)算機(jī)專業(yè)的本科生,連計(jì)算機(jī)組成原理這樣一些專業(yè)基礎(chǔ)知識(shí)

27、都不具備,如何更好地學(xué)習(xí)后續(xù)的專業(yè)課程,又如何能發(fā)展成為計(jì)算機(jī)的專業(yè)人士呢?更不要說是高級專門人才。對課程的模糊認(rèn)識(shí)之一,認(rèn)為計(jì)算機(jī)組成原理是純硬件課,把它和計(jì)算機(jī)軟件系統(tǒng)決然分開,而不是把它作為完整計(jì)算機(jī)系統(tǒng)的組成部分之一來合理安排教學(xué)內(nèi)容,這是國外30多年前就已舍棄的陳舊做法。模糊認(rèn)識(shí)之二,認(rèn)為計(jì)算機(jī)基礎(chǔ)硬件不再重要,以為主要應(yīng)該講解高檔計(jì)算機(jī)中最新出現(xiàn)的技術(shù)和最新進(jìn)展,殊不知這些最新出現(xiàn)的技術(shù)和最新進(jìn)展都是在基本原理上發(fā)展而來的,輕視專業(yè)基礎(chǔ)知識(shí),最終架設(shè)的知識(shí)結(jié)構(gòu)只能是空中樓閣,更不符合大學(xué)通才教育的要求。條件上的限制,主要表現(xiàn)在缺乏必要的、能比較好地滿足教學(xué)實(shí)驗(yàn)要求的教學(xué)實(shí)驗(yàn)設(shè)備,使

28、教學(xué)過程更多地建立在課堂授課的方式下,缺乏必要的教學(xué)實(shí)踐支持,這對于技術(shù)性和工程性很強(qiáng)的課程來說幾乎成為災(zāi)難性的問題。引申一步看,還包括部分任課教師所具有的知識(shí)結(jié)構(gòu)基本上也只限于書本知識(shí),缺乏設(shè)計(jì)和實(shí)現(xiàn)一臺(tái)真實(shí)一點(diǎn)的計(jì)算機(jī)基本硬、軟件系統(tǒng)的經(jīng)歷,一時(shí)還難以完全適應(yīng)教學(xué)的實(shí)際需要。我們的觀點(diǎn)是,解決上述問題的出路之一,在于建設(shè)被廣泛接受和認(rèn)可的、高質(zhì)量的教學(xué)資源,包括體現(xiàn)最新水準(zhǔn)的高質(zhì)量的教材,形象生動(dòng)的教學(xué)課件(教學(xué)教案),研制并合理配備能覆蓋主要教學(xué)內(nèi)容、具有良好教學(xué)實(shí)驗(yàn)功能的教學(xué)實(shí)驗(yàn)設(shè)備和軟件模擬系統(tǒng)。在清華大學(xué)計(jì)算機(jī)系,“計(jì)算機(jī)組成原理”課程教學(xué)改革的思路是,從課堂教師講授為主、學(xué)生被動(dòng)

29、地聽課和完成驗(yàn)證性的教學(xué)實(shí)驗(yàn)為輔的傳統(tǒng)“知識(shí)傳授型”的教法,改變成為在精簡課堂授課內(nèi)容的基礎(chǔ)上,以完成一項(xiàng)計(jì)算機(jī)完整的硬、軟件系統(tǒng)的工程設(shè)計(jì)與實(shí)現(xiàn)的課題研究為重要支撐手段的“學(xué)生主動(dòng)探索式”新的教學(xué)途徑,盡量做到:從學(xué)生聽課為主的被動(dòng)接收知識(shí)的學(xué)習(xí)方式,變成為結(jié)合課題研究與工程設(shè)計(jì)來主動(dòng)學(xué)習(xí)的重大變革,給學(xué)生更多自由支配的時(shí)間,充分發(fā)揮學(xué)生自主學(xué)習(xí)的積極性;從傳授知識(shí)為主變?yōu)閭魇谥R(shí)與培養(yǎng)能力并重的人才培養(yǎng)模式。清華大學(xué)關(guān)注開創(chuàng)意識(shí)和創(chuàng)新能力的培養(yǎng),注重學(xué)生全面素質(zhì)的提高。特別是考慮到計(jì)算機(jī)組成原理課程教學(xué)內(nèi)容的工程性、技術(shù)性、實(shí)踐性特別強(qiáng)的特點(diǎn),把工程設(shè)計(jì)項(xiàng)目引進(jìn)教學(xué)全過程很有必要。教學(xué)計(jì)算

30、機(jī)系統(tǒng)在清華大學(xué)計(jì)算機(jī)系的教學(xué)改革中顯示出強(qiáng)大的生命力,在為期一個(gè)學(xué)期的計(jì)算機(jī)組成原理課程的教學(xué)過程中,要求每3名同學(xué)為一組,合作完成一臺(tái)與教學(xué)實(shí)例有明顯差異的、硬軟件配置基本完整的全新計(jì)算機(jī)系統(tǒng),包括運(yùn)算器、存儲(chǔ)器、微程序的控制器、硬布線的控制器等部件設(shè)計(jì)與實(shí)現(xiàn),也包括適當(dāng)修改監(jiān)控程序和匯編器軟件等軟件設(shè)計(jì)任務(wù),這是一項(xiàng)很有挑戰(zhàn)性的任務(wù)。針對清華大學(xué)創(chuàng)辦“世界一流”和“研究型”大學(xué)的目標(biāo),這種努力是值得的。目前清華大學(xué)計(jì)算機(jī)系的“計(jì)算機(jī)組成原理”課程已經(jīng)被評為北京市精品課和國家級精品課,并榮獲北京市優(yōu)秀教學(xué)成果一等獎(jiǎng),教材被評為北京市精品教材。在全國,已有幾百余所大學(xué)把我們略早期研制的中小規(guī)

31、模器件實(shí)現(xiàn)的硬件教學(xué)計(jì)算機(jī)系統(tǒng)用于他們的授課過程和教學(xué)實(shí)驗(yàn),反響還相當(dāng)不錯(cuò)。我們也知道,在清華大學(xué)計(jì)算機(jī)系的開展的教學(xué)改革方案,不能簡單地在全國各院校直接照搬,對大部分的教師來說,他們可能更傾向于我們前一些年一直采用的比較傳統(tǒng)的做法,就是通過在教學(xué)計(jì)算機(jī)上做一些驗(yàn)證性為主的實(shí)驗(yàn),或者適當(dāng)擴(kuò)展教學(xué)計(jì)算機(jī)已有功能的教學(xué)實(shí)驗(yàn)。即使這樣,也在原來的基礎(chǔ)上前進(jìn)了一大步。在這一改革方案中,首先受益的是年輕教師,只要他們肯花出適當(dāng)?shù)呐?,就可以填補(bǔ)上所欠缺的設(shè)計(jì)與實(shí)現(xiàn)完整計(jì)算機(jī)的基本硬、軟件系統(tǒng)的經(jīng)歷,提高自己的業(yè)務(wù)素質(zhì)和教學(xué)水平。接下來學(xué)生將全面受益,課程內(nèi)容中既有適量的書本知識(shí),教師也會(huì)結(jié)合教學(xué)機(jī)設(shè)計(jì)增

32、加實(shí)例內(nèi)容,課后學(xué)生又可以在教學(xué)機(jī)上完成自己的設(shè)計(jì)和調(diào)試任務(wù),力爭做到學(xué)習(xí)知識(shí)與增長能力的雙豐收。此外,對技術(shù)含量更高,對教學(xué)影響可能更大一些最新的研制成果,包括控制器輔助設(shè)計(jì)系統(tǒng),全部的軟件模擬系統(tǒng),用FPGA芯片實(shí)現(xiàn)的CPU系統(tǒng)(與原有教學(xué)計(jì)算機(jī)系統(tǒng)指令兼容,并增加了比較真實(shí)的指令流水線),高級語言支持和浮點(diǎn)運(yùn)算指令支持等,由于推出時(shí)間較晚,了解的人還不多,有必要把這些內(nèi)容盡早地引入教學(xué)過程,推動(dòng)課程的教學(xué)改革的深入發(fā)展,培養(yǎng)出更多具有創(chuàng)新能力的高素質(zhì)的專業(yè)人才。1.1.7 基本實(shí)驗(yàn)項(xiàng)目設(shè)置在本節(jié)提到的實(shí)驗(yàn)項(xiàng)目,多數(shù)是在TH-union系統(tǒng)中選用中小規(guī)模集成度器件實(shí)現(xiàn)的教學(xué)計(jì)算機(jī)上可以開設(shè)

33、的實(shí)驗(yàn),把選用FPGA芯片實(shí)現(xiàn)的CPU構(gòu)建的教學(xué)機(jī)系統(tǒng)中支持的教學(xué)實(shí)驗(yàn)項(xiàng)目放在第3章介紹?;緦?shí)驗(yàn)是指學(xué)習(xí)計(jì)算機(jī)組成原理通常總要完成的實(shí)驗(yàn)項(xiàng)目,解決的是學(xué)習(xí)基本原理和培養(yǎng)基本能力的問題。1. 基礎(chǔ)匯編程序設(shè)計(jì)學(xué)習(xí)使用系統(tǒng)已實(shí)現(xiàn)的29條指令和監(jiān)控程序、交叉匯編程序軟件,設(shè)計(jì)與調(diào)試由教師布置的或自己設(shè)想的各種匯編程序。如有可能,可以參照系統(tǒng)提供的交叉匯編程序的源碼,學(xué)習(xí)系統(tǒng)匯編程序(Assembler)的實(shí)現(xiàn)原理與設(shè)計(jì)技術(shù)。2. 運(yùn)算器部件實(shí)驗(yàn)可以在運(yùn)算器完全脫開主機(jī)控制的方式下,用主板上的微型開關(guān)直接控制運(yùn)算器的方式來使用運(yùn)算器并觀察運(yùn)算結(jié)果;也可以在實(shí)驗(yàn)計(jì)算機(jī)正常運(yùn)行方式下,用控制器給出實(shí)驗(yàn)者

34、所設(shè)計(jì)的對運(yùn)算器的控制信號來使用運(yùn)算器并觀察運(yùn)算結(jié)果(此時(shí)并不需要懂得控制器的運(yùn)行原理)??梢杂^察并量測運(yùn)算器在串行進(jìn)位方式下的進(jìn)位信號的波形和延遲時(shí)間,也可以測出該運(yùn)算器所允許的最高工作頻率。3. 主存儲(chǔ)器部件的實(shí)驗(yàn)可以進(jìn)行存儲(chǔ)器工作波形的觀察與量測,可進(jìn)行靜態(tài)存儲(chǔ)器的容量擴(kuò)展實(shí)驗(yàn),通過監(jiān)控命令或自己設(shè)計(jì)的小程序向存儲(chǔ)器寫入數(shù)據(jù)并檢查讀寫的正確性。4. 控制器部件實(shí)驗(yàn)可以做微程序方案或硬布線方案的控制器實(shí)驗(yàn)。首先是通過聽課和操作實(shí)驗(yàn)機(jī),學(xué)懂已實(shí)現(xiàn)的控制器的設(shè)計(jì)原理與實(shí)現(xiàn)技術(shù),以單指令方式、單步驟執(zhí)行方式觀察指令的運(yùn)行結(jié)果和信息在計(jì)算機(jī)內(nèi)產(chǎn)生和傳送的時(shí)間、空間關(guān)系,這是更重要的實(shí)驗(yàn)內(nèi)容;然后才

35、是設(shè)計(jì)與實(shí)現(xiàn)多條自己定義的新指令,并把新老指令放在同一程序中運(yùn)行,檢查結(jié)果的正確性。在微程序方案下實(shí)現(xiàn)新指令更容易,不用改動(dòng)任何硬件,按規(guī)定辦法把有關(guān)新指令用到的微程序裝入控制存儲(chǔ)器即可。在硬連線控制器方案中,則要把新指令用到的控制邏輯與原有的基本指令的控制邏輯合并一起,經(jīng)過編譯之后再重新下載到可編程的MACH器件中,略顯得復(fù)雜一點(diǎn),可能要多次地改正錯(cuò)誤才能得到最終的正確結(jié)果。5. 串行口輸入/輸出實(shí)驗(yàn)由于本機(jī)上已給出了兩路串行接口,其中的一路的接線完全連接好,系統(tǒng)也已經(jīng)執(zhí)行了對接口芯片的初始化,可以直接用于輸入輸出操作;另外的一路的接線并未全部連通,要求實(shí)驗(yàn)人員看懂圖紙并完成必要的連線操作和

36、串行口的初始化操作后,方能用程序控制方式完成該串行接口的正常輸入/輸出操作,例如用兩臺(tái)實(shí)驗(yàn)機(jī)的這一路串行口完成雙機(jī)雙向通信等實(shí)驗(yàn)。作為更高要求,還可以增加少量硬件線路,實(shí)現(xiàn)在中斷方式下完成輸入/輸出操作(需在講過中斷之后進(jìn)行)。還可以觀察與量測串行數(shù)據(jù)的波形,起始位、停止位、串行數(shù)據(jù)采樣時(shí)間的配合關(guān)系等。6. 并行口與并行口打印機(jī)驅(qū)動(dòng)的實(shí)驗(yàn)可以在教學(xué)機(jī)的主板上設(shè)計(jì)并搭建諸如Intel 8255并行接口與配套邏輯電路,并用程序控制方式和中斷方式驅(qū)動(dòng)并行口打印機(jī)完成打印操作。在無打印機(jī)的情況下,可用并行口在程序控制方式下或中斷方式下實(shí)現(xiàn)兩臺(tái)實(shí)驗(yàn)機(jī)的雙機(jī)單向或雙機(jī)雙向通信,或在同一臺(tái)實(shí)驗(yàn)機(jī)上實(shí)現(xiàn)內(nèi)存

37、內(nèi)容搬移等實(shí)驗(yàn)。這涉及硬件與軟件兩個(gè)方面知識(shí)的綜合應(yīng)用。7. 中斷及DMA實(shí)驗(yàn)串行口、并行口輸入/輸出操作中,都可以有中斷方式下的輸入輸出方式,這需要適當(dāng)?shù)匦薷谋O(jiān)控程序。這里也可以專門做多級中斷、優(yōu)先級排隊(duì)及中斷嵌套的實(shí)驗(yàn)。此時(shí)可用按鈕等作為中斷請求信號來源,拋開相應(yīng)設(shè)備入/出以強(qiáng)化中斷處理本身的份量。DMA的工作方式,最簡單的實(shí)驗(yàn)是在程序正常運(yùn)行的同時(shí),用DMA方式同時(shí)完成內(nèi)存內(nèi)容的搬移操作,結(jié)果的正確性便于檢查。這個(gè)實(shí)驗(yàn)需用到擴(kuò)展的通用接口芯片的插座,完成必要的連線,設(shè)計(jì)實(shí)驗(yàn)小程序軟件等。8. 整機(jī)故障定位與排除實(shí)驗(yàn)實(shí)驗(yàn)機(jī)上有一些跳線夾,是用來人為設(shè)置機(jī)器故障的。教師可以通過移走一或幾個(gè)跳

38、線,或換上有故障的器件,要求學(xué)生發(fā)現(xiàn)故障,查清故障原因并設(shè)法排除。該實(shí)驗(yàn)有一定難度,但也是綜合應(yīng)用所學(xué)全部知識(shí)、完成能力訓(xùn)練的非常有效的手段,對提高分析問題與解決問題的能力會(huì)有很大幫助。此時(shí)需要確保設(shè)置的故障不會(huì)損壞教學(xué)計(jì)算機(jī)系統(tǒng)的硬件。1.1.8 其他實(shí)驗(yàn)項(xiàng)目是指那些不一定是學(xué)習(xí)計(jì)算機(jī)組成原理課程必做的實(shí)驗(yàn),或難度更大的實(shí)驗(yàn)項(xiàng)目。1. 故障診斷軟件的設(shè)計(jì)與實(shí)現(xiàn)這可以在機(jī)器指令級或微體系結(jié)構(gòu)級進(jìn)行。機(jī)器指令級的診斷程序用以疹斷指令與監(jiān)控程序運(yùn)行的正確性,是機(jī)器出廠前例行實(shí)驗(yàn)的一部分,也是實(shí)驗(yàn)指導(dǎo)教師把實(shí)驗(yàn)機(jī)交付學(xué)生使用之前判斷機(jī)器好壞的簡便手段??梢宰寣W(xué)生試著設(shè)計(jì)。微體系結(jié)構(gòu)級的診斷,設(shè)計(jì)得好

39、的話,可用來實(shí)現(xiàn)實(shí)驗(yàn)機(jī)的故障診斷,非常有用,對于透徹掌握實(shí)驗(yàn)機(jī)的組成與運(yùn)行機(jī)制幫助巨大,但在教學(xué)機(jī)中實(shí)現(xiàn)起來有相當(dāng)?shù)碾y度。2. 用一臺(tái)正確運(yùn)行的實(shí)驗(yàn)機(jī)輔助調(diào)試另一臺(tái)實(shí)驗(yàn)機(jī)在本實(shí)驗(yàn)機(jī)的實(shí)現(xiàn)過程中,已考慮到這類實(shí)驗(yàn)的需求??梢园淹粫r(shí)鐘同時(shí)提供給兩臺(tái)實(shí)驗(yàn)機(jī),使其完全同步運(yùn)行,并比較檢查兩臺(tái)實(shí)驗(yàn)機(jī)內(nèi)部主要信號、運(yùn)行狀態(tài)及結(jié)果的一致性,并依此結(jié)果判斷是否繼續(xù)給出后續(xù)時(shí)鐘,則很容易找到待調(diào)試計(jì)算機(jī)的出錯(cuò)位置。與此類似的是雙機(jī)同步運(yùn)行,是檢查機(jī)器可靠性的一條捷徑。3. 實(shí)驗(yàn)機(jī)的監(jiān)控程序、交叉匯編程序的修改與擴(kuò)充功能的實(shí)驗(yàn)。4. 擴(kuò)充輸入/輸出接口、設(shè)備與驅(qū)動(dòng)程序的實(shí)驗(yàn)。5. 設(shè)計(jì)與實(shí)現(xiàn)一套全新指令系統(tǒng)的C

40、PU。指令格式可以突破現(xiàn)在規(guī)定,尋址方式也可變化,以16位字長的一字或多字指令為宜。微指令格式可變,但字長在56位以下最方便。運(yùn)算器也可適當(dāng)變動(dòng),用Am2901實(shí)現(xiàn)其他型號的運(yùn)算器功能,或用可編程器件設(shè)計(jì)一個(gè)新的運(yùn)算器均可行。例如,在這個(gè)硬件主板上設(shè)計(jì)并實(shí)現(xiàn)一個(gè)全新的8位字長的計(jì)算機(jī)系統(tǒng),指令格式、尋址方式、監(jiān)控程序等全部軟件有關(guān)的內(nèi)容完全重新設(shè)計(jì),運(yùn)算器、控制器、存儲(chǔ)器、總線和接口等硬件也完全重新設(shè)計(jì),這是完全可行的,工作量是大一些,但可學(xué)內(nèi)容更豐富。對大部分院校來說,這作為學(xué)習(xí)過計(jì)算機(jī)組成原理課程之后的一個(gè)大的課程設(shè)計(jì)、甚至于是畢業(yè)設(shè)計(jì)的題目可能更合適一些。6. 軟盤驅(qū)動(dòng)器的接口與驅(qū)動(dòng)線路

41、實(shí)驗(yàn)設(shè)計(jì)與實(shí)現(xiàn)軟盤驅(qū)動(dòng)器的接口與驅(qū)動(dòng)線路,是綜合應(yīng)用有關(guān)軟件與硬件知識(shí)的途經(jīng)之一,可以在教學(xué)實(shí)驗(yàn)計(jì)算機(jī)現(xiàn)有功能的基礎(chǔ)上,增加新的設(shè)備和操作功能,在更大程度上拓展其實(shí)驗(yàn)性能。7. 使用現(xiàn)場可編程器件(GAL20V8和MACH)完成組合邏輯的或者時(shí)序邏輯的線路實(shí)驗(yàn),對于在學(xué)習(xí)本課程之前尚未學(xué)習(xí)過數(shù)字電路與邏輯設(shè)計(jì)課程的學(xué)生是必要的。8. 通過使用第2路串行接口和修改監(jiān)控程序,實(shí)現(xiàn)2個(gè)用戶同時(shí)操作同一臺(tái)教學(xué)計(jì)算機(jī)的多用戶系統(tǒng)的功能。以上提出的只是教學(xué)計(jì)算機(jī)系統(tǒng)可以支持(能夠?qū)崿F(xiàn))的、可以開設(shè)的實(shí)驗(yàn)項(xiàng)目的思路與可行性,至于更具體地安排哪一些教學(xué)實(shí)驗(yàn)項(xiàng)目,實(shí)驗(yàn)的具體目標(biāo)、內(nèi)容、要求等將在下一節(jié)中分別詳細(xì)

42、說明,最終還是應(yīng)該依據(jù)各個(gè)單位的教學(xué)安排和總體目標(biāo)由任課教師來具體選擇落實(shí)。 為減輕教師的備課負(fù)擔(dān),特給出計(jì)算機(jī)組成原理若干基本實(shí)驗(yàn)的操作步驟,以供教師參考,本書給出的實(shí)驗(yàn)操作步驟不一定是最佳方案,教師可自行設(shè)計(jì)更好的實(shí)驗(yàn)和操作。由于篇幅的限制,對于那些需要教師根據(jù)實(shí)際情況安排的實(shí)驗(yàn)沒有給出參考步驟,教師可將一部分難度較大需較長時(shí)間完成的實(shí)驗(yàn)用作計(jì)算機(jī)組成原理課的課程設(shè)計(jì)題目或作為學(xué)生畢業(yè)設(shè)計(jì)的課題。由于編者水平所限,錯(cuò)誤和疏漏之處在所難免,熱忱歡迎廣大教師和同行提出寶貴意見和建議。第二章 實(shí)驗(yàn)指導(dǎo)2.1 基礎(chǔ)匯編語言程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模? 學(xué)習(xí)和了解TEC-XP教學(xué)實(shí)驗(yàn)系統(tǒng)監(jiān)控命令的用法;2

43、學(xué)習(xí)和了解TEC-XP教學(xué)實(shí)驗(yàn)系統(tǒng)的指令系統(tǒng);3 學(xué)習(xí)簡單的TEC-XP教學(xué)實(shí)驗(yàn)系統(tǒng)匯編程序設(shè)計(jì);實(shí)驗(yàn)內(nèi)容:1 學(xué)習(xí)聯(lián)機(jī)使用TEC-XP教學(xué)實(shí)驗(yàn)系統(tǒng)和仿真終端軟件PCEC.2 使用監(jiān)控程序的R命令顯示/修改寄存器內(nèi)容、D命令顯示存儲(chǔ)器內(nèi)容、E命令修改存儲(chǔ)器內(nèi)容;3 使用A命令寫一小段匯編程序,U命令反匯編剛輸入的程序,用G命令連續(xù)運(yùn)行該程序,用T、P命令單步運(yùn)行并觀察程序單步執(zhí)行情況;實(shí)驗(yàn)要求在使用該教學(xué)機(jī)之前,應(yīng)先熟悉教學(xué)機(jī)的各個(gè)組成部分,及其使用方法。實(shí)驗(yàn)步驟 一實(shí)驗(yàn)具體操作步驟:1 準(zhǔn)備一臺(tái)串口工作良好的PC機(jī);2 將TEC-XP放在實(shí)驗(yàn)臺(tái)上,打開實(shí)驗(yàn)箱的蓋子,確定電源處于斷開狀態(tài);3

44、將黑色的電源線一端接220V交流電源,另一端插在TEC-XP實(shí)驗(yàn)箱的電源插座里;4 取出通訊線,將通訊線的9芯插頭接在TEC-XP實(shí)驗(yàn)箱上的串口“COM1”或“COM2”上,另一端接到PC機(jī)的串口上;5 將TEC-XP實(shí)驗(yàn)系統(tǒng)左下方的五個(gè)黑色的控制機(jī)器運(yùn)行狀態(tài)的開關(guān)置于正確的位置,在找個(gè)實(shí)驗(yàn)中開關(guān)應(yīng)置為00110(連續(xù)、內(nèi)存讀指令、組合邏輯、聯(lián)機(jī)、16位),控制開關(guān)的功能在開關(guān)上、下方有標(biāo)識(shí);開關(guān)撥向上方表示“1”,撥向下方表示“0”,“X”表示任意,其它實(shí)驗(yàn)相同;6 打開電源,船形開關(guān)和5V電源指示燈亮。7 在PC機(jī)上運(yùn)行PCEC16.EXE文件,根據(jù)連接的PC機(jī)的串口設(shè)置所用PC機(jī)的串口為

45、“1”或“2”, 其它的設(shè)置一般不用改動(dòng),直接回車即可。(具體步驟附后)8 按一下“RESET”按鍵,再按一下“START”按鍵,主機(jī)上顯示: TEC-2000 CRT MONITOR Version 1.0 April 2001 Computer Architectur Lab., Tsinghua University Programmed by He Jia 二、實(shí)驗(yàn)注意事項(xiàng):1. 連接電源線和通訊線前TEC-XP實(shí)驗(yàn)系統(tǒng)的電源開關(guān)一定要處于斷開狀態(tài),否則可能會(huì)對TEC-XP實(shí)驗(yàn)系統(tǒng)上的芯片和PC機(jī)的串口造成損害;2. 五個(gè)黑色控制開關(guān)的功能示意圖如下: 單步 手動(dòng)置指令 組合邏輯 聯(lián)機(jī)

46、 8位 上面 下面連續(xù) 從內(nèi)存讀指令 微程序 脫機(jī) 16位3.幾種常用的工作方式(開關(guān)撥到上方表示為1,撥到下方為0;)工作方式5個(gè)撥動(dòng)開關(guān)連續(xù)運(yùn)行程序、組合邏輯控制器、聯(lián)機(jī)、16位機(jī)00110連續(xù)運(yùn)行程序、微程序控制器、聯(lián)機(jī)、16位機(jī)00010單步、手動(dòng)置指令、組合邏輯控制器、聯(lián)機(jī)、16位機(jī)11110單步、手動(dòng)置指令、微程序控制器、聯(lián)機(jī)、16位機(jī)1101016位機(jī)、脫機(jī)運(yùn)算器實(shí)驗(yàn)1XX00三、仿真終端軟件的操作步驟:1. 在PC機(jī)上建一個(gè)文件夾TEC-XP;2. 取出配套的用戶盤,將應(yīng)用程序PCEC16拷貝到用戶機(jī)器硬盤上該文件夾里;3. 雙擊PCEC16圖標(biāo),出現(xiàn)如圖所示的界面:4。系統(tǒng)默

47、認(rèn)選擇串口1,用戶可根據(jù)實(shí)際情況選擇串口1或是串口2(這里的串口指的是和 TEC-XP教學(xué)實(shí)驗(yàn)系統(tǒng)相連的PC機(jī)的串口),按回車后出現(xiàn)如圖界面: 5. 圖中是系統(tǒng)設(shè)定的一些傳輸參數(shù),建議用戶不要改動(dòng),直接回車。按一下“RESET”按鈕放開后再按一下“START”按鈕,出現(xiàn)界面如圖所示:6. 此時(shí)表明TEC-XP機(jī)器聯(lián)機(jī)通訊正常。四軟件操作注意事項(xiàng):1 用戶在選擇串口時(shí),選定的是PC機(jī)的串口1或串口2,而不是TEC-XP實(shí)驗(yàn)系統(tǒng)上的串口。即選定的是用戶實(shí)驗(yàn)時(shí)通訊線接的PC機(jī)的端口;2 如果在運(yùn)行到第五步時(shí)沒有出現(xiàn)應(yīng)該出現(xiàn)的界面,用戶需要檢查是不是打開了兩個(gè)軟件界面,若是,關(guān)掉其中一個(gè)再試;3 有時(shí)

48、若TEC-XP實(shí)驗(yàn)系統(tǒng)不通訊,也可以重新啟動(dòng)軟件或是重新啟動(dòng)PC再試;4 在打開該應(yīng)用軟件時(shí),其它的同樣會(huì)用到該串口的應(yīng)用軟件要先關(guān)掉。五聯(lián)機(jī)通訊失敗自檢:如果上述的硬件和軟件的操作都正確,聯(lián)機(jī)卻依舊失敗,用戶可以進(jìn)行如下測試:1 測試PC機(jī)的串口是否能正常工作,或是換一臺(tái)PC或換同一臺(tái)PC的另一個(gè)串口再試,在換串口時(shí)要將TEC-XP實(shí)驗(yàn)系統(tǒng)斷電,換完后重新啟動(dòng)實(shí)驗(yàn)系統(tǒng)和軟件;2 檢查機(jī)器上的元器件插接是否正確(建議用戶對照能夠正常通訊的實(shí)驗(yàn)系統(tǒng)進(jìn)行詳細(xì)檢查),有沒有被學(xué)生動(dòng)過,尤其是擴(kuò)展內(nèi)存和擴(kuò)展I/O接口時(shí),芯片方向是否插對,片選信號有沒有連接;3 檢查相應(yīng)的短路子是否連接正確; 4 建議

49、教師預(yù)留一臺(tái)運(yùn)行正常的TEC-XP實(shí)驗(yàn)系統(tǒng)備用,機(jī)器出問題后可以對照檢查。六實(shí)驗(yàn)示例:1 用R命令查看寄存器內(nèi)容或修改寄存器的內(nèi)容1) 在命令行提示符狀態(tài)下輸入:R ;顯示寄存器的內(nèi)容注:寄存器的內(nèi)容在運(yùn)行程序或執(zhí)行命令后會(huì)發(fā)生變化。2) 在命令行提示符狀態(tài)下輸入:R R0 ;修改寄存器R0的內(nèi)容,被修改的寄存器與所賦值之間可以無空格,也可有一個(gè)或數(shù)個(gè)空格主機(jī)顯示:寄存器原值:_在該提示符下輸入新的值0036再用R命令顯示寄存器內(nèi)容,則R0的內(nèi)容變?yōu)?036。2 用D命令顯示存儲(chǔ)器內(nèi)容在命令行提示符狀態(tài)下輸入:D 2000 會(huì)顯示從2000H地址開始的連續(xù)128個(gè)字的內(nèi)容;連續(xù)使用不帶參數(shù)的D

50、命令,起始地址會(huì)自動(dòng)加128(即80H)。 3. 用E命令修改存儲(chǔ)器內(nèi)容在命令行提示符狀態(tài)下輸入:E 2000屏幕顯示:2000 地址單元的原有內(nèi)容:光標(biāo)閃爍等待輸入輸入 0000依次改變地址單元20012005的內(nèi)容為:1111 2222 3333 4444 5555注意:用E命令連續(xù)修改內(nèi)存單元的值時(shí),每修改完一個(gè),按一下空格鍵,系統(tǒng)會(huì)自動(dòng)給出下一個(gè)內(nèi)存單元的值,等待修改;按回車鍵則退出E命令。 4 用D命令顯示這幾個(gè)單元的內(nèi)容D 2000可以看到這六個(gè)地址單元的內(nèi)容變?yōu)?000 1111 2222 3333 4444 5555。 5. 用A命令鍵入一段匯編源程序,主要是向累加器送入數(shù)據(jù)和

51、進(jìn)行運(yùn)算,執(zhí)行程序并觀察運(yùn)行結(jié)果。1) 在命令行提示符狀態(tài)下輸入:A 2000;表示該程序從2000H(內(nèi)存RAM區(qū)的起始地址)地址開始屏幕將顯示:2000:輸入如下形式的程序:2000: MVRD R0,AAAA ;MVRD與R0之間有且只有一個(gè)空格,其他指令相同2002: MVRD R1,55552004: ADD R0,R12005: AND R0,R12006: RET;程序的最后一個(gè)語句,必須為RET指令2007:(直接敲回車鍵,結(jié)束A命令輸入程序的操作過程)若輸入有誤,系統(tǒng)會(huì)給出提示并顯示出錯(cuò)地址,用戶只需在該地址重新輸入正確的指令即可。2) 用U命令反匯編剛輸入的程序在命令行提示

52、符狀態(tài)下輸入:U 2000在相應(yīng)的地址會(huì)得到輸入的指令及其操作碼注:連續(xù)使用不帶參數(shù)的U命令時(shí),將從上一次反匯編的最后一條語句之后接著繼續(xù)反匯編。3) 用G命令運(yùn)行前面鍵入的源程序G 2000程序運(yùn)行結(jié)束后,可以看到程序的運(yùn)行結(jié)果,屏幕顯示各寄存器的值,其中R0和R1的值均為5555H,說明程序運(yùn)行正確。4) 用P或T命令,單步執(zhí)行這段程序,觀察指令執(zhí)行結(jié)果在命令行提示符狀態(tài)下輸入:T 2000寄存器R0被賦值為AAAAHT寄存器R1被賦值為5555HT做加法運(yùn)算,和放在R0,R0的值變?yōu)镕FFFHT做與運(yùn)算,結(jié)果放在R0,R0的值變?yōu)?555H用P命令執(zhí)行過程同上。注:T總是執(zhí)行單條指令,但執(zhí)行P命令時(shí),則把每一個(gè)CALL語句連同被調(diào)用的子程序一次執(zhí)行完成。T、P命令每次執(zhí)行后均顯示所有通用寄存器及狀態(tài)寄存器的內(nèi)容,并反匯編出下一條將要執(zhí)行的指令。6 舉例編寫匯編程序, 用“A”命令輸入,運(yùn)行并觀察結(jié)果1) 例1:設(shè)計(jì)一個(gè)小程序, 從鍵盤上接收一個(gè)字符并在屏幕上輸出顯示該字符。 在命令行提示符狀態(tài)下輸入:A 2000 ; 屏幕將顯示:2000:輸入如下形式的程序: 2000: IN 81 ;判鍵盤上是否按了一個(gè)鍵2001:S

溫馨提示

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

最新文檔

評論

0/150

提交評論