操作系統(tǒng)模擬進(jìn)程課程設(shè)計_第1頁
操作系統(tǒng)模擬進(jìn)程課程設(shè)計_第2頁
操作系統(tǒng)模擬進(jìn)程課程設(shè)計_第3頁
操作系統(tǒng)模擬進(jìn)程課程設(shè)計_第4頁
操作系統(tǒng)模擬進(jìn)程課程設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、而瓢壟工案府送*敞ZHENGZHOUUNIVERSITYOFAERONAUTICS本科實驗課程報告(2016至2017學(xué)年第1學(xué)期)課程名稱:計算機(jī)組成原理專業(yè)名稱:計算機(jī)科學(xué)與技術(shù)行政班級:1410081學(xué)號:141006125姓名:黃夢陽指導(dǎo)教師:李玉玲報告時間:2016年12月4_日實驗地點08A502起止時間2016/10/152016/12/3計算機(jī)組成原理實驗教學(xué)大綱廳P實驗項目學(xué)時數(shù)實驗屬性內(nèi)容與要求1認(rèn)識實驗2驗證性1,熟悉實驗所用教學(xué)機(jī)的基本結(jié)構(gòu)和聯(lián)機(jī)軟件的使用方法;2.練習(xí)常用監(jiān)控命令。2存儲器實驗2驗證性1.驗證半導(dǎo)體存儲器RAM勺讀寫特性;2,對存儲器進(jìn)行擴(kuò)展,并理解E

2、EPRO的讀寫特性。3運算器實驗4驗證性1,深入了解AM29011算器的功能;2,分析各種運算指令的功能和實現(xiàn)過程,熟悉運算器的基本結(jié)構(gòu)。4微程序控制器實驗4驗證性1,分析多種指令的執(zhí)行流程,進(jìn)一步理解微程序控制器的組成結(jié)構(gòu),理解水平型微指令各字段的作用。2,通過測試擴(kuò)展指令的功能進(jìn)一步認(rèn)識微程序控制器的靈活性。5查詢方式實驗2驗證性通過查詢方式的程序設(shè)計進(jìn)一步熟悉查詢方式的數(shù)據(jù)傳送過程和軟件實現(xiàn)的方法。6中斷方式實驗2驗證性通過中斷方式的主程序和服務(wù)子程序的分析和運行,進(jìn)一步理解中斷方式的工作原理;學(xué)習(xí)和掌握中斷產(chǎn)生、中斷響應(yīng)和中斷處理的相關(guān)技術(shù)。實驗一:實驗地點:實驗日期:成績:1、實驗?zāi)?/p>

3、的(1)熟悉硬軟件環(huán)境(2)學(xué)習(xí)和了解TEC-X咪學(xué)實驗系統(tǒng)監(jiān)控命令的用法(3)了解TEC-XPt學(xué)實驗系統(tǒng)的指令系統(tǒng)2、實驗要求使用教學(xué)機(jī)前,熟悉TEC-X咪學(xué)機(jī)的各個組成部分及使用方法3、實驗原理(1)TEC-XP教學(xué)機(jī)的面板結(jié)構(gòu):控制部件主要由運算部件ALU、控制部件一一組合邏輯控制器和微程序處理器、存儲部件一一ROMf口RAM控制存儲器等芯片構(gòu)成。(2)工作模式選擇00010或00110,00010更穩(wěn)定:連續(xù)運行程序、采用微程序控制器、聯(lián)機(jī)、16位機(jī)。(3)教學(xué)機(jī)的監(jiān)控命令格式及含義:匯編命令A(yù)adr:輸入單條指令,并將匯編之后的機(jī)器代碼存入相應(yīng)的內(nèi)存單元中。有錯誤提示,但功能并不完

4、善;反匯編命令Uadr:從指定或默認(rèn)地址開始反匯編15條指令,并將結(jié)果顯示處理;執(zhí)行程序命令Gadr:從指定或默認(rèn)地址開始連續(xù)運行一個用戶程序;單條指令執(zhí)行命令Tadr,Padr:從命令指定或PC指定地址開始單條執(zhí)行;指令顯示/修改寄存器內(nèi)容命令Rreg:當(dāng)R命令不帶參數(shù)時只是顯示所有寄存器的內(nèi)容;當(dāng)R命令帶參數(shù)時顯示指定寄存器的內(nèi)容,并可修改其值;顯示存儲器內(nèi)容命令Dadr:從指定或默認(rèn)地址開始顯示內(nèi)存128個存儲字的內(nèi)容;修改存儲器內(nèi)容命令Eadr:從指定或默認(rèn)地址開始逐字顯示每個內(nèi)存字的內(nèi)容并等待用戶鍵入一個新值存回該單元,用空格切換各個單元,用回車結(jié)束E命令的執(zhí)行。4、實驗步驟1 .完

5、成教學(xué)機(jī)與PC機(jī)的聯(lián)機(jī)操作2 .練習(xí)常用的TEC-X哪學(xué)機(jī)監(jiān)控命令(1) R命令RRR0;(2) D命令顯示存儲內(nèi)容D200(3) E命令修改存儲器內(nèi)容E20003 .輸入給定的匯編程序,單步跟蹤執(zhí)行A20002000:MVRDR0AAAA;MVRD與R0之間有一個空格,其他同2002:MVRDR155552004:ADDR0,R12005:ANDR0,R12006:RET/;程序的最后一個語句,必須為RET指令2007:/5、實驗結(jié)果及總結(jié)(1)實驗結(jié)果:用反匯編命令U2000/查看存儲成功,并逐步跟蹤執(zhí)行得出正確結(jié)果,即R05555。(2)總結(jié):輸入的匯編程序可以用反匯編命令查看,此時語言

6、為易接受語言。實驗二:實驗地點:實驗日期:成績:1、實驗?zāi)康?) )了解計算機(jī)中半導(dǎo)體存儲器RAM和E2PROM勺功能和區(qū)別;(2)理解并掌握半導(dǎo)體存儲器芯片的擴(kuò)展和驗證方式。2、實驗要求實驗前先復(fù)習(xí)存儲器字、位擴(kuò)展的方法,并熟悉所做實驗的內(nèi)容3、實驗原理(1)隨機(jī)存儲器RAM的讀寫特性是:在不斷電的情況下,CPU可以對該存儲器的任何單元進(jìn)行隨機(jī)讀寫操作,其中內(nèi)容可以長期保存;但該存儲器是易失性的存儲器,一旦斷電,其中數(shù)據(jù)均被清空。本實驗要在監(jiān)控狀態(tài)下,分別使用不同的監(jiān)控命令對該RAM存儲芯片的讀寫特性進(jìn)行驗證。由于是聯(lián)機(jī)測試,需要將TEC-XP的功能開關(guān)先置為00110。(2)擴(kuò)展用的E2P

7、ROM芯片,其讀操作和RAM一樣,而其寫操作,由于要先擦除信息再寫入,因此需要一定的延遲時間,大約為1毫秒。在對E2PROM®行寫操作時,應(yīng)加入一段延時子程序的調(diào)用,以完成正確的讀寫。4、實驗步驟2) TEC-XP教學(xué)機(jī)現(xiàn)有RAM存儲區(qū)的讀寫特性驗證(1)檢查FPGA下方的插針按下列要求短接標(biāo)有?/MWR?RD?的插針左邊兩個短接;標(biāo)有?/MRD?GND?的插針右邊兩個短接;標(biāo)有?ROMLCSF口?RAMLC?附插針短接。(2)使用E命令修改RAM中某存儲單元的值在命令行提示符狀態(tài)下輸入:E2020/屏幕將顯示:2020內(nèi)存單元原值:按如下形式輸入:2020原值:2222(空格)原值

8、:3333(空格)原值:4444(空格)原值:5555/注意:E命令之后的地址應(yīng)為200025FFH之間的某一個單元。(3)使用D命令查看所修改單元的內(nèi)容D2020/這里查看到的數(shù)據(jù),應(yīng)與上一步中輸入的數(shù)據(jù)一致。(4)斷電后重新啟動教學(xué)機(jī),使用D命令再次查看所修改單元的內(nèi)容D2020/這里發(fā)現(xiàn)原來置入到這幾個內(nèi)存單元的值已經(jīng)改變。因此,用戶使用RAM時,必須在每次斷電重啟后,重新寫入所需要的數(shù)據(jù)。(5)使用A命令輸入一段指令序列A2000/按如下形式輸入:2000:MVRDR0AAAA2002:MVRDR155552004:ANDR0,R12005:RET2006:/這里,對RAM使用A命令寫

9、入連續(xù)的指令不會出錯。(6)單步方式執(zhí)行以上指令序列,觀察結(jié)果T2000/R0的值變?yōu)锳AAAH其余寄存器的值不變。T/R1的值變?yōu)?555H,其余寄存器的值不變。T/R0的值變?yōu)?000H,其余寄存器的值不變。(7)教學(xué)機(jī)斷電重啟后,以上數(shù)據(jù)仍然會丟失2.擴(kuò)展容量的讀寫特性驗證(1)用E修改擴(kuò)展單元的內(nèi)容,并用D查看結(jié)果假定第2步中的擴(kuò)展連接采用的是默認(rèn)地址4000H5FFFH使用E命令修改該地址范圍內(nèi)的某幾個單元,再用D命令查看數(shù)據(jù)的修改情況。將教學(xué)機(jī)斷電后重新啟動,再次查看以上修改單元的值,分析原因。(2)控制程序?qū)嶒炇褂玫腅2PROM芯片不能直接用A命令輸入程序,單字節(jié)的指令可能會寫進(jìn)

10、去,雙字節(jié)指令的低位會出錯(建議試一試?yán)纾篈5000:mvrdr0,aaaa,該指令是否寫進(jìn)5000開始的地址,需要U命令驗證)。因此,可以將程序放到RAM(6116)中,使用程序讀寫擴(kuò)展空間5000H500FH單元。從2000H單元開始輸入主程序:(2000)MVRDR00030MVRDR20010;R2記錄循環(huán)次數(shù)MVRDR35000;R3的內(nèi)容為16位內(nèi)存地址(2006)STRRR3,R0;將R0寄存器的內(nèi)容放到R3給出的內(nèi)存單元中CALA2200;調(diào)用程序地址為2200的延時子程序INCR0;R0力口1INCR3;R3力口1DECR2;R2減1JRNZ2006;R2不為0跳轉(zhuǎn)到200

11、6HRET(3)延時子程序從2200H單元開始輸入延時子程序:(2200)PUSHR3MVRDR30001(2203)DECR3JRNZ2203POPR3RET(4)運行程序,查看結(jié)果在命令提示符下輸入:G2000/,運行主程序。使用D命令查看5000H-500FH單元中的數(shù)據(jù).5、實驗結(jié)果及總結(jié)在擴(kuò)展容量的讀寫特征驗證中,第(3)步中的第二行代碼:由于時間設(shè)定不夠,數(shù)據(jù)會寫丟,所以將0001改為1000,方可保存到單元中。通過這次實驗,我們了解了存儲器的基本功能,掌握了數(shù)據(jù)的存儲過程,熟悉理解了存儲器的組成和控制。實驗三:實驗地點:實驗日期:成績:1、實驗?zāi)康?1)深入了解AM2901運算器

12、的功能與具體用法;(2)深化運算器部件的組成、設(shè)計、控制與使用等知識。2、實驗要求(1)實驗前,認(rèn)真了解AM2901運算器的基本結(jié)構(gòu),預(yù)習(xí)所需實驗的內(nèi)容,并在課前填寫實驗步驟表格,對于實驗數(shù)據(jù)和實驗結(jié)果進(jìn)行預(yù)期性的分析,以提高實驗效率;(2)實驗過程中,要按正確流程操作,防止損壞設(shè)備,分析可能遇到的各種現(xiàn)象,判斷結(jié)果是否正確,記錄運行結(jié)果。(3)實驗之后,認(rèn)真寫出實驗報告,包括對遇到的各種現(xiàn)象的分析,實驗步驟和實驗結(jié)果。3、實驗原理控制信號表:5口M工g4Q儂AB0100Q0110B1000AmiDAU0DQ111D07<2-1ALU壯席來門掙以,配amf001010R-S二:KSKXR

13、3»1-»R1WR=S111r艮£$:2-2ALU運系大型捽制I5R3W"4Q00一FXFOC一一F。巾FiBAonF手B一Fi<nT233:X丁101r2+B一F110T+B:Q+<2丁1L1T->Br我2-3口LU數(shù)出傳送控利LMb匕-二;CiM1;.:SCISCICin典型指令000ADD、DEC01Iinclsub10CADC、SBB1TCLK:方波本實驗中不使用表去5移位狀態(tài)控制信號SSHSSH左移右移說明RAM0QoRAMjQs000*0401邏輯左右整)01C*c*帶進(jìn)位移(循環(huán)移位)10Q】CYRM11帶Q同時移位(乘除

14、時)1J*Pf3®OVRaP補(bǔ)碼右移法REG揖任意一個通用寄存器的最低位,RA1/5指任意一個遹用寄存器的最高位*表&6林志佇狀態(tài)并制I信號S號SST編碼C2Vs說明000CZVs四個標(biāo)志位的值保持不變001CyJ'=OOVRF15接收ALU的標(biāo)志位輸出的值010內(nèi)部曲線對植的一位恢復(fù)標(biāo)志位1泉來的現(xiàn)場值0110ZVS置“0"C,另三個標(biāo)忐位不變1001zVs置*rc,另三個標(biāo)志位不變101RAMOZVS右移操作,另三個標(biāo)志位不變110RAMISZVS左移操作,另三個標(biāo)志位不變111QOZVS聯(lián)合右移a另三個樂志位不變4、實驗步驟(1)實驗方式設(shè)置將TEC-

15、XP教學(xué)機(jī)左下方的5個功能開關(guān)設(shè)置為1*00(單步、16位、脫機(jī));先按一下?RESET?按鍵,再按一下?START?按鍵,進(jìn)行初始化。(2)逐條指令執(zhí)行,并核對結(jié)果完成初始化后,請按順序控制運算器執(zhí)行每條指令,每條指令執(zhí)行時請記錄按START1和按START后兩個時刻的狀態(tài),若與預(yù)期結(jié)果不同,請查找問題并思考原因。5、實驗結(jié)果及總結(jié)運算I8-0SSTSSHSCIBA按START!按STAR市ALU輸出SVZCALU輸出SVZCMVRtRO,010101100011100000000000不用0101隨機(jī)0101隨機(jī)MVRR1,101001100011100000000001不用1010隨機(jī)1

16、010隨機(jī)ADDR0R10110000010010000000000011111隨機(jī)21210000SUBR0,R101100100100100010000000101010000F0F10001SUBR1,R00110010010010001000100000F0F00010E0E0001ORR0,R10110110010010000000100000F0F00010F0F0001ANDR0R10111000010010000000000010F0F00010F0F0001XORR0R10111100010010000000000010000000100000001(R0(+R1)->

17、R0011111001001000000000001F0F00001E1E010012*R0->R011100001100100000000不用F0F01001FEFE1000R0/2->R010100001100100000000不用FDFC100070F01000運算I8-0SSTSSHSCIBA按START前按STAR市ALU輸出SVZCALU輸出SVZCMVR爾0,010101100011100000000000不用0101隨機(jī)0101隨機(jī)MVR爾1,101001100011100000000001不用1010隨機(jī)1010隨機(jī)MVR爾2,011001100011100000

18、000010不用0110隨機(jī)0110隨機(jī)SUBR0,R1011001001001000100000001F0F1隨機(jī)E0E11000ADDR2R10110000010010000001000011120100021300000SHLR111100001100100000001不用1010000020200000SHLR010100001100100000000不用F0F1000078781000ADCR0R101100000100100100000000198981000C8C81100SBBR0,R10110010010010010000000017878110058570101MVRDR4

19、001100011100000000100不用0000010100000101TESTRO,R40011000010010000000001000000010100000101通過實驗掌握了運算器工作原理,熟悉了算術(shù)/邏輯運算的運算過程以及控制這種運算的方法,了解了進(jìn)位對算術(shù)與邏輯運算結(jié)果的影響實驗四實驗地點:實驗日期:成績1、實驗?zāi)康?1)深入理解微程序控制器的功能和組成結(jié)構(gòu);(2)學(xué)習(xí)教學(xué)計算機(jī)各類指令的指令格式、尋址方式及執(zhí)行流程;(3)學(xué)習(xí)微程序控制器的設(shè)計過程和相關(guān)技術(shù)。2、實驗要求(1)實驗之前,認(rèn)真準(zhǔn)備,對于該實驗的基本原理、微指令格式、以及相關(guān)機(jī)器指令的微程序等內(nèi)容預(yù)先做好分析

20、和設(shè)計;(2)實驗過程中,應(yīng)認(rèn)真進(jìn)行實驗操作,仔細(xì)思考實驗有關(guān)內(nèi)容,把難點內(nèi)容通過實驗理解清楚,爭取最好的實驗效果;(3)實驗之后,應(yīng)認(rèn)真思考,寫出實驗總結(jié),包括實驗中遇到的主要問題和分析、解決方法。3、實驗原理TEC-XP教學(xué)機(jī)的微指令共48位,由16位的下址字段和32位的操作控制字段形成,其格式如圖4-3所示。微卜址ciESCC廠SCC0IOMRWA門地址B門地加SSTSSHSCIDC?8位4位4位3位9位8位8位3位1位2R3位3位'+-JTLC-XP粗苧機(jī)的位指合格式(1)下址字段a) 8位的微下址用于給出下一條將要執(zhí)行的微指令的地址。微程序順序執(zhí)行,即把已增1后的微指令地址作

21、為下地址b) 4位的測試控制碼CI30用于決定微程序中的微指令尋址方式(順序?qū)ぶ?、跳躍尋址)。本實驗中只使用到0000(初始化,使微下址=0)、0010(指令功能分支,做MAPRO啾射)、0011(條件轉(zhuǎn)移,由SCC決定是否轉(zhuǎn)移)、1110(順序?qū)ぶ?,將?dāng)前微地址加1作為微下址)這四個命令碼。c) 4位的轉(zhuǎn)移條件編碼SCCA0當(dāng)CI30=0011時,由這四位編碼決定轉(zhuǎn)移判斷測試的條件,若選中條件滿足,則使用微下址尋址下一條微指令,否則做順序?qū)ぶ?,同CI30=1110(2)操作控制字段a) MIQ、REQWE這3位控制信號用于對存儲器或I/O接口進(jìn)行讀寫操作時的控制。具體定義如附錄表4-3所小。

22、b) I8-I6、I5-I3、I2-I0、A口和B口、SST2-0:具體定義參考實驗二。c) SSH、SCI1-0:本實驗中控制方式如附錄表4-3所示。d) DC1用于選擇把哪一組數(shù)據(jù)發(fā)送到CPU的內(nèi)部總線(舊)上。在微指令執(zhí)行過程中,若不使用內(nèi)部總線,則通常將其設(shè)置為000,可認(rèn)為是無效狀態(tài)。e) DC2用于控制數(shù)據(jù)接收及相關(guān)的內(nèi)部功能。4、實驗步驟(1)設(shè)定工作方式接通TEC-XP教學(xué)機(jī)的電源,將功能開關(guān)撥為11010,即設(shè)為單步、手動執(zhí)行指令,使用微程序控制器,聯(lián)機(jī)操作。(2)驗證A組基本指令一一加法指令A(yù)DDR0,R1的微程序根據(jù)如下所示的ADD指令格式,可得到指令A(yù)DDR0,R1的機(jī)

23、器代碼為0000000000000001,其中高8位為ADD指令的操作碼(詳見代碼表4-1),接下來的兩個4位分別對應(yīng)R0和R1寄存器。1587430OPDR先按下RESET按鍵,復(fù)位系統(tǒng),然后通過16位的數(shù)據(jù)開關(guān)SW撥入指令代碼,再按下RESET按鍵,此時指示燈Microp亮,其它燈全滅。注意:在本實驗中,選擇的是微程序控制器,Microp指示燈會一直點亮。在完成以上設(shè)置后,接下來每次按下START按鍵,控制器就會執(zhí)行一條微指令,請在實驗前看懂以下微指令,在實驗中驗證每條微指令,并記錄每條微指令執(zhí)行時微地址、微下址指示燈的狀態(tài)。(3)驗證B組基本指令傳送指令MVRDR0,D的微程序指令MVR

24、D是將立即數(shù)傳送到指定寄存器的數(shù)據(jù)傳送類指令,該指令是雙字長雙操作數(shù)指令。其指令格式如下所示,則指令MVRDR0,D的機(jī)器代碼的高16位為1000100000000000,其中高8位為MVRD指令的操作碼(詳見代碼表4-1),接下來的4位對應(yīng)目的寄存器R0。本次實驗中,只是驗證指令的微程序,至于該指令所傳送的數(shù)據(jù)D可采用存儲單元中的隨機(jī)值。15870OPDR0000DATA先按下RESET按鍵,復(fù)位系統(tǒng),然后通過16位的數(shù)據(jù)開關(guān)SW撥入指令代碼,再按下RESET按鍵,此時指示燈Microp亮,其它燈全滅。在完成以上設(shè)置后,接下來每次按下START按鍵,控制器就會執(zhí)行一條微指令,請在實驗前看懂以

25、下微指令,在實驗中驗證每條微指令。5、實驗結(jié)果及總結(jié)表4-6加法指令A(yù)DDR0,R1的微程序做能址掾體功能下址口“SCCuMRItLeB口anSSTEDC.DC,0->PCDlf-0OOH1110(MM1Ol(X)001011OO0101KOIOOIIlLODOQIEtPC+WPV00111110(MXJO100OULOMO*JU10101(p1(1001DI1(KXJMEM-MROOH11100000001000DOI000oooo(XXMoooooo001OOOOOHODLDIXMMJ10000001(KXJWMJOIHN.KJ(p1(1000000000ROF1301T0011oo

26、mm001Oil(MWfmnIXOlmnonWfl00030H5TRQCCp-INT#3AH00110010100IIIDOTOOoooo0000000000000OH表4-6傳送指令MVRDR0,D的微程序微地址操作功能F址SC口沖MRw金T1"a口A11SSTSSMWIIX.DCi00110->PC、0011moOOOGl加001cu0U101010101000001III00a0111PCAR.PC4|->PC0011mo0(XMIMCll0100003010101000001ri(W0典】|VtEM->IR0011uioDOW001口Ml0010000000

27、ODOO000II'11liUao00311MAPMHMl。000QtooCOOmoDOW)0M0000coo000-iionIX3八R.PC413PL、匚CDICI10011OOOQtooon1000001010101000001DllJCIiMEM-DKXCMJ3011OOLIoooo001111Uooo0000000。000coaOfl0l*UD3011STK-Q.Ctf-INT#BAHWlWIOIDO111000XXM)DOMIonofl000nonDC0微程序控制器組成中的核心成分是控制存儲器(CM),由RO幡件實現(xiàn),用于存儲按一定規(guī)則組織好的全部的控制信號。微程序控制器的工

28、作原理:是依據(jù)讀來的機(jī)器指令的操作碼找到與之對應(yīng)的一段微程序的入口地址,并按由指令具體功能所確定的次序,逐條從控制存儲器中讀出微指令,以?驅(qū)動?計算機(jī)各功能部件正確運行。微程序控制的基本思想,就是仿照通常的解題程序的方法,把操作控制信號編成所謂的?微指令?,存放到一個只讀存儲器里.當(dāng)機(jī)器運行時,一條又一條地讀出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控制信號,使相應(yīng)部件執(zhí)行所規(guī)定的操作。微程序控制器同組合邏輯控制器相比較,具有規(guī)整性,靈活性,可維護(hù)性等一系列優(yōu)點,因而在計算機(jī)設(shè)計中逐漸取代了早期采用的組合邏輯控制器,并已被廣泛地應(yīng)用.在計算機(jī)系統(tǒng)中,微程序設(shè)計技術(shù)是利用軟件方法來設(shè)計硬件的一門

29、技術(shù)。實驗五:實驗地點:實驗日期:成績:1、實驗?zāi)康模?)熟悉和理解查詢方式的數(shù)據(jù)傳送過程;(2)學(xué)習(xí)TEC-XP教學(xué)實驗系統(tǒng)匯編程序設(shè)計方法。2、實驗要求使用教學(xué)機(jī)前,熟悉查詢方式的數(shù)據(jù)傳送原理和TEC-XP教學(xué)機(jī)的指令系統(tǒng)。3、實驗原理本次實驗是將PC的鍵盤和顯示器作為TEC-XP教學(xué)機(jī)的外設(shè),采用程序查詢方式進(jìn)行數(shù)據(jù)的輸入輸出操作。(1) TEC-XP教學(xué)機(jī)用口的狀態(tài)寄存器:TEC-XP教學(xué)機(jī)是通過用口(可編程串行接口8251A)與PC連接的,在聯(lián)機(jī)操作中,PC機(jī)對教學(xué)機(jī)的訪問是通過對其數(shù)據(jù)端口和控制狀態(tài)端口來完成的。TEC-XP教學(xué)機(jī)的COM1口(左側(cè))的數(shù)據(jù)端口地址為80H,控制與狀

30、態(tài)地址為81H;COM2(右側(cè))的數(shù)據(jù)端口地址為82H,控制與狀態(tài)口地址為83HTEC-XP教學(xué)機(jī)的狀態(tài)字格式如下所示。RxRDYTxRDY6D工111110其中,TxRDY為發(fā)送就緒位(1就緒;0未就緒),RxRDY為接收就緒位(1就緒;0未就緒)。注意:當(dāng)教學(xué)機(jī)與PC要傳送數(shù)據(jù)時,必須先查詢相應(yīng)的收發(fā)狀態(tài)位。(1) 程序查詢方式的數(shù)據(jù)傳送程序查詢方式的數(shù)據(jù)傳送的基本過程是:CPU傳送數(shù)據(jù)之前先檢查外設(shè)的狀態(tài),若沒有準(zhǔn)備好,則繼續(xù)查詢等待,直至外設(shè)就緒即進(jìn)行數(shù)據(jù)傳送。在TEC-XP教學(xué)機(jī)上,所要查詢的是與PC連接的TEC-XP的用狀態(tài)字。由于本實驗室中的TEC-XP教學(xué)機(jī)所用的都是串口1,則

31、其狀態(tài)端口地址均為81。a.TEC-XP教學(xué)機(jī)接收輸入數(shù)據(jù)時當(dāng)TEC-XP教學(xué)機(jī)需要從鍵盤上接收輸入數(shù)據(jù)時,需要檢測所讀狀態(tài)字的次低位RXRDYt態(tài)。由于讀入數(shù)據(jù)的前提是鍵盤按鍵被按下,所以執(zhí)行IN80指令(從串口1的數(shù)據(jù)端口中讀取數(shù)據(jù))時,必須確認(rèn)輸入數(shù)據(jù)已到達(dá)接口中。因此,IN80指令總是需要查詢等待至RXRDY狀態(tài)位就緒才可執(zhí)行。b.TEC-XP教學(xué)機(jī)輸出顯示數(shù)據(jù)時當(dāng)TEC-XP教學(xué)機(jī)需要向顯示器上輸出顯示數(shù)據(jù)時,需要檢測所讀狀態(tài)字的最低位TXRDY犬態(tài)。若單個數(shù)據(jù)輸出時,可直接使用OUT80指令,從串口1的數(shù)據(jù)端口中輸出數(shù)據(jù),因此,可不必進(jìn)行狀態(tài)檢測。但若要連續(xù)輸出多個數(shù)據(jù)時,為保證每

32、一個數(shù)據(jù)輸出的都能被顯示器接收到,則必須要查詢等待TXRDY狀態(tài)位就緒才可執(zhí)行OUT80指令,以免后一個數(shù)據(jù)將前一個還沒來得及輸出的數(shù)據(jù)覆蓋,而導(dǎo)致數(shù)據(jù)丟失。4、實驗步驟(1)完成TEC-XP教學(xué)機(jī)與PC機(jī)的聯(lián)機(jī)操作匯編實驗中的程序執(zhí)行控制由組合邏輯控制器實現(xiàn),因此,功能開關(guān)狀態(tài)設(shè)定為00110。(2)輸入給定的匯編程序,連續(xù)執(zhí)行,并觀察結(jié)果以下程序段完成功能為:采用程序查詢方式,從PC機(jī)的鍵盤接收一個字符至TEC-XPB學(xué)機(jī),并將接收到的字符輸出顯示至PC機(jī)的屏幕上。2000:IN81;從串行接口的狀態(tài)端口讀入狀態(tài)字,保存于R0的低8位2001:SHRR02002:SHRR0;將狀態(tài)字的次低

33、位RXRDY移出至標(biāo)志位C上2003:JRNC2000;若接收未就緒,即C=0,則跳轉(zhuǎn)(查詢等待)2004:IN80;若接收就需,即C=1,則讀入輸入的字符至R0的低8位2005:OUT80;將讀入字符輸出至PC機(jī)的屏幕顯示2006:RET/2007:/(3)試將以上程序段中的OUT80指令刪除,連續(xù)執(zhí)行程序,觀察與之前結(jié)果的區(qū)別。(4)試編寫完成以下功能的匯編程序,并在TEC-XP上運行成功。設(shè)計一個循環(huán)程序,將內(nèi)存2080H起始的10個字符依次顯示到屏幕上,并將其轉(zhuǎn)化為小寫字母再寫回原存儲區(qū)域。要求:使用子程序完成大小寫字母的轉(zhuǎn)換。5、實驗結(jié)果及總結(jié)c二通ocoteFad工皿】、桌面、大板

34、可“1A大板可BitterArchiteDtui'Lfib_,IsinghuaUniversityrightJasonMe岫rEC-2006CRTMONITORUcraion2.e2001.10Cuniputci-ArchiLcDtui-Ldh.,TwinyltuaUniversityCopyrightJasonHe2口麗:TNR12H£H:EHRR0如孫JBNCS086£001INZB05:OUT9E)七唾HECie-rP4rtni-FFrnJt2-Er9c硼gp-27»0po-2000iw=眄00rv-pffpno-00qqt?=FFFFR10-0B6

35、0RllFFDF«12-6009F13-FTFFEl4-2612R15-FFFFF1O60004£Jnc:C:DOCUlE'lADmil、桌面,大根可1大板可“l(fā)Pcecl6.COBBSE2005:OUT80|Z0(J6:REI«>C2Ak1A|R0-PF4nRl=PFFFR2-EF9CR3=440fiSP-2780PC-2000R6-0008R7-PFFFRS-0000irj-i-rri|>A2005RIB-0000Rll-PFDFR12-0000P13-FFPFR14-2G12Ri5-FPFrr-1000001192005:RET20U6:

36、>G2S4URR-FF4PR1=PFFFR2=FF9CR3=44«ftSP=27RflPC=2R0RR65伽R7=FFFFRfi=RflW0R9-FFFF>C20aBR10=0000Rll-PFDFR12-O000B13-FFPFR14-2612R15=FPFFF=10000011RP=FF4HR1=FFFFR2=EF9CR3=440ftSP=2780PG=2000R6=0008R7=FFFFR8=0000HY二>G2S4UR1M=MO(30K11=FFDF«13=FFFFK14=2612K15=FFFFF=iaBl»3011即二FF41R1=P

37、FFFR2=FF9CR3=44«ftSP=27RflPC=2000R65伽R7=FFFFRfi=RflW0119-Frrr>nie-aeeonii-prDrR12-9000nio-rrFFR14-2G12nic-rpprr-106008112000:8830800nMURDR3,seen2002:00202000MURDR2,20002004:8102LDRRR0,R22005:88802100HURDR8.210020U?:E0U8DMES982叫8:S83SDECK32009:4692JRZ2RAC2RP1P:B920INCR2200B:41F8JR26042O0C:ore

38、eKEI2O0D:FFFFDUprrr200E;0004ADDR0,R4200F:FFFFDWFFFF201U:UUHFHDDMKlb2011:0296ANDR9.R6>F2fiRA208fiPFFF:BB42FFFP:B0440H00:BQ452085FFPP:004G0000:0047FFFF:08480010:0049PFFP:004n>G2000ABCDEFGHJJB0-7FC0Ri-0020R2-2089R3-0000SP-2780PC-2060F6-O000R7-FFFFRS-2100B9»FFFFRI。"皿K1L«FFDFKL2=k*nw

39、K13=FFFFK14-2612K15=FFFFF-110UU011久C:D0C01ElAMnin"l奈面'大板可1大板可lPcccl6.co.aeijnchronniiNCumminicat:ionFqhTEC一一、I囹-PCR“Conn”te齡ArchitectrLiFeLab-94實驗六:實驗地點:實驗日期:成績:1、實驗?zāi)康?1)加深理解計算機(jī)系統(tǒng)中斷工作的原理及處理過程。(2)學(xué)習(xí)和掌握中斷產(chǎn)生、中斷響應(yīng)、中斷處理等技術(shù)。2、實驗要求(1)實驗前做好預(yù)習(xí),理解TEC-XP教學(xué)機(jī)的中斷實現(xiàn)原理;(2)熟悉TEC-XP教學(xué)機(jī)的指令系統(tǒng),能夠編寫完成中斷功能的匯編程序。3

40、、實驗原理TEC-XP教學(xué)機(jī)中提供給用的外部中斷源有三個,由教學(xué)機(jī)面板右下角的三個無鎖按鍵作為其硬件中斷源,從右到左依次簡稱為P1、P2、P3中斷源。TEC-XP在響應(yīng)這三個中斷源的中斷請求時,采用的是向量地址轉(zhuǎn)移法,即中斷源的請求可通過硬件電路產(chǎn)生一個向量地址,在該地址中存放一條轉(zhuǎn)移指令,執(zhí)行該指令即可轉(zhuǎn)入對應(yīng)的中斷服務(wù)程序。P1、P2、P3的中斷向量地址由TEC-XP的內(nèi)部結(jié)構(gòu)確定,分別為2420H、2430H和2440H,用戶中斷使用時,應(yīng)在對應(yīng)地址中寫入轉(zhuǎn)移指令,從而轉(zhuǎn)向用戶自定義的中斷服務(wù)程序。4、實驗步驟(1)該顯示子程序保存于2200H單元,代碼如下:2200:PUSHR0;保護(hù)

41、待顯示字符所在的寄存器R02201:IN81;查詢接口狀態(tài),判斷字符輸出是否完成2202:SHRR02203:JRNC2201;未完成,則循環(huán)等待2204:POPR0;顯示完成,則恢復(fù)寄存器,R0出棧2205:OUT80;輸出R0的值2206:RET(2) P1中斷服務(wù)程序段入口為2420H,代碼如下:2450:*EI;開中斷(指令編碼:6E00)2451:MVRDR0,42;將字符?B?賦值給R0,B即Begin的縮寫。2453:CALA2200;調(diào)用子程序,完成顯示2455:MVRDR0,49;將字符?I?賦值給R0,Interrupt的縮寫。2457:CALA2200;調(diào)用子程序,完成顯

42、示2459:MVRRR0,R3;將要顯示的字符R3的內(nèi)容送R0245A:CALA2200;調(diào)用子程序,完成顯示245C:IN81;判鍵盤上是否按了一個鍵245D:SHRR0;即申口是否有輸入字符245E:SHRR0245F:JRNC245C;若沒有,等待2460:IN80;輸入字符到R0,實際讀入該字符沒有用處2461:MVRDR0,0045;將字符?E?賦值給R0,E即End的縮寫。2463:CALA2200;調(diào)用子程序,完成顯示2465:MVRDR0,0049;將字符?I?賦值給R0,Interrupt的縮寫。2467:CALA2200;調(diào)用子程序,完成顯示2469:MVRRR0,R3;將

43、R3的內(nèi)容送R0246A:CALA2200;調(diào)用子程序,完成顯示246C:POPR3;R3出棧246D:POPR0;R0出棧246E:*IRET;中斷返回(指令編碼:EF00)(3) 2404:JR2420;跳轉(zhuǎn)到一級中斷服務(wù)程序2408:JR2430;跳轉(zhuǎn)到二級中斷服務(wù)程序240C:JR2440;跳轉(zhuǎn)到三級中斷服務(wù)程序(4) 2000:*EI2001:MVRDR0,0036;將字符6'的ASCII碼送寄存器R02003:CALA2200;輸出該字符2005:MVRDR0,4000;延時子程序2007:DECR02008:JRNZ20072009:JR2001;跳到2001循環(huán)執(zhí)行該程

44、序200A:RET(5)在監(jiān)控狀態(tài)命令行,使用G命令執(zhí)行主程序,具體命令如下:G2000/1)無中斷請求在沒有任何中斷請求時,主程序運行結(jié)果是:在屏幕上連續(xù)顯示字符?6?。2)單級中斷主程序運行過程中,按下P1按鍵,則進(jìn)入P1的中斷服務(wù)程序,屏幕上會中斷字符?6?的顯示,顯示字符串?BI1?,然后等待按鍵,屏幕上狀態(tài)無變化。鍵入任一按鍵,屏幕上顯示字符串?EI1?,返回中斷,繼續(xù)執(zhí)行主程序,循環(huán)顯示字符?6?。再次提交P2、P3的中斷請求,查看結(jié)果。3)中斷嵌套主程序運行過程中,按下P1按鍵,則進(jìn)入P1的中斷服務(wù)程序,屏幕上會中斷字符?6?的顯示,顯示字符串?BI1?,然后等待按鍵,屏幕上狀態(tài)

45、無變化。此時,按下P2按鍵,則中斷P1的服務(wù)程序,執(zhí)行P2的中斷服務(wù)程序,屏幕上顯示字符串?BI2?,等待按鍵。再按下P3按鍵,再次發(fā)生中斷嵌套,屏幕上顯示字符串?BI3?,等待按鍵。(6)嘗試修改主程序和中斷服務(wù)程序代碼,主程序等待中斷時循環(huán)顯示字符?M?各級中斷服務(wù)程序只循環(huán)顯示16個字符?1、2、3?即產(chǎn)生中斷返回。2450:*EI;開中斷(指令編碼:6E00)2451:MVRDR2,10;2453:MVRRR0,R3;2454:CALA2200;2456:IN81;2457:SHRR02458:SHRR02459:JRNC2456;245D:DECR2245E:JRNZ2453;245

46、F:POPR3;2460:POPR0;2461:*IRET;(指令編碼:EF00)5、實驗結(jié)果及總結(jié)6Eb66666666EE6&666E66666666E666H66666686E66666666666666S6666666666666666E6666666XgG£GGGGGGGG6GGEGGG“E£6G6G6E6GGGGEGESE6EGGG6GGGGKGUG6G66EE6GS6GGSGGG66G6G66E6S6666EE6E66E66EE66666G6E&6G66E6GE%66E6666E6EEE66E6EE&6£666EG66EE&EG66E6

溫馨提示

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

評論

0/150

提交評論