版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鄭州航空工業(yè)管理學(xué)院計(jì)算機(jī)科學(xué)與應(yīng)用系實(shí)驗(yàn)報(bào)告課程名:計(jì)算機(jī)組成原理學(xué)號(hào):姓名:闞豐蕊指導(dǎo)教師:范骷成績(jī);計(jì)算機(jī)科學(xué)與應(yīng)用系
②完畢初始化后,根據(jù)所給定的指令,按順序控制運(yùn)算器執(zhí)行每條指令,每條指令執(zhí)行時(shí)請(qǐng)記錄按START前和按START后兩個(gè)時(shí)刻的狀態(tài)。③預(yù)習(xí)AM29()1運(yùn)算器原理,按環(huán)節(jié)完畢實(shí)驗(yàn)后,填寫的實(shí)驗(yàn)表格如下:運(yùn)算SSTsSHsCIBA按START前按START后ALU輸出SVzcALU輸出SVZCMVRDR0,0101ooo000000(XX)()101II1101011110001MVRDR1,101000000ooo001010II111010111100100MVRDR2,0110000000000ooo0I10Illi0110Illi100SUBRO.R1001000100000001F0F111IIE0E11oooADDR2,R100000000100011120100213000001005、實(shí)驗(yàn)結(jié)果及總結(jié)在實(shí)驗(yàn)中,需要注意的是操作符的控制及輸入輸出的控制思想,通過(guò)實(shí)驗(yàn)規(guī)定,對(duì)本次運(yùn)算涔做了相關(guān)的設(shè)計(jì),并成功完畢了相關(guān)的實(shí)驗(yàn)操作,這次實(shí)驗(yàn),使我可以更清楚的了解計(jì)算機(jī)的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)的運(yùn)算,由于上次實(shí)驗(yàn)的經(jīng)驗(yàn),在這次實(shí)驗(yàn)中,并未碰到問(wèn)題,很順利地完畢了實(shí)驗(yàn)。實(shí)驗(yàn)中,需要注意的是,要將教學(xué)機(jī)左下方的5個(gè)功能開(kāi)關(guān)設(shè)立為1**00,要注意按'RESET'和'START鍵,進(jìn)行初始化。實(shí)驗(yàn)三存儲(chǔ)器實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康蘑倭私庥?jì)算機(jī)中半導(dǎo)體存儲(chǔ)器RAM和EPROM和E2PROM的功能和區(qū)別。②掌握存儲(chǔ)器字?jǐn)U展、位擴(kuò)展的方法。③理解并掌握半導(dǎo)體存儲(chǔ)器芯片的擴(kuò)展和驗(yàn)證方式。④可以進(jìn)一步進(jìn)一步的了解及熟悉所做的實(shí)驗(yàn)內(nèi)容。2、實(shí)驗(yàn)規(guī)定①在開(kāi)始實(shí)驗(yàn)前,應(yīng)當(dāng)先復(fù)習(xí)存儲(chǔ)器字?jǐn)U展、位擴(kuò)展的方法。②在實(shí)驗(yàn)過(guò)程中,應(yīng)當(dāng)小心使用TEC-XP教學(xué)機(jī),避免導(dǎo)致不必要的損壞。③可以純熟的完畢本次實(shí)驗(yàn)內(nèi)容。3、實(shí)驗(yàn)原理TEC-XP教學(xué)機(jī)的存儲(chǔ)系統(tǒng)中,2023H?27FFH的2K空間是由6116RAM芯片構(gòu)成的。存儲(chǔ)器的讀寫特性是:在不斷電的情況下,CPU可以對(duì)該存儲(chǔ)器的任何單眼進(jìn)行讀寫操作,其中內(nèi)容可以長(zhǎng)期保存,但該存儲(chǔ)器是易失性存儲(chǔ)器,一旦斷電,其中的數(shù)據(jù)均被清空。本次實(shí)驗(yàn)要在監(jiān)控狀態(tài)下,分別使用不同的監(jiān)控命令對(duì)該RAM存儲(chǔ)芯片的讀寫特性進(jìn)行驗(yàn)證。由于是聯(lián)機(jī)測(cè)試,需要將TEC—XP的功能開(kāi)關(guān)先置為00110。在斷電后重新啟動(dòng)教學(xué)機(jī),使用D命令再次查看所修改單元的內(nèi)容,實(shí)驗(yàn)中每次要改動(dòng)芯片連接時(shí),應(yīng)當(dāng)先斷電再進(jìn)行,在實(shí)驗(yàn)完畢后,取下擴(kuò)展芯片等,需要注意的是在實(shí)驗(yàn)過(guò)程中,不要隨意改動(dòng)其他芯片的位置或連接。4、實(shí)驗(yàn)環(huán)節(jié)①該實(shí)驗(yàn)是聯(lián)機(jī)實(shí)驗(yàn),在開(kāi)始實(shí)驗(yàn)前,先進(jìn)行聯(lián)機(jī)測(cè)試,需將TEC-XP教學(xué)機(jī)的功能開(kāi)關(guān)設(shè)立為00110。②再進(jìn)行聯(lián)機(jī)操作,在計(jì)算機(jī)上安裝并打開(kāi)軟件大板可編程器件下的Pecel6,選擇接口1,按“RESET”和“START”按鍵,再按回車即可往里面輸入命令。③先將E2PROM的芯片插入擴(kuò)展插槽位置,需要注意的是芯片插入時(shí),應(yīng)將帶有半圓形缺口的一方朝左插入,一旦插反會(huì)導(dǎo)致芯片燒毀。④然后進(jìn)行數(shù)據(jù)地址線連接,讀寫控制總線連接和片選信號(hào)的連接。⑤進(jìn)行擴(kuò)展容量的讀寫特性的驗(yàn)證擴(kuò)展用的E2PROM芯片,其讀操作和RAM同樣,而其寫操作,由于要先擦除信息再寫入,因此需要一定的延遲時(shí)間,大約為1亳秒。子啊對(duì)E2PROM進(jìn)行寫操作時(shí),應(yīng)加入一段延時(shí)子程序的調(diào)用,以完畢對(duì)的的讀寫。a.用E修改擴(kuò)展單元的內(nèi)容,并用D查看結(jié)果假設(shè)擴(kuò)展連接采用的是默認(rèn)地址4000H?5FFFH,使用E命令修改該地址范圍內(nèi)的某幾個(gè)單元,再用D命令查看數(shù)據(jù)的修改情況。b.控制程序?qū)嶒?yàn)使用的E2PROM芯片不能直接用A命令輸入程序,單字節(jié)的指令也許會(huì)寫進(jìn)去,雙字節(jié)指令的低位會(huì)犯錯(cuò)。因此,可以將程序放到RAM(6116)中,
使用程序讀寫擴(kuò)展空間5000H?500FH單元。從2023H單元開(kāi)始輸入主程序:(2023)MVRDR0,0030MVRDR2,MVRDR2,0010MVRDR2,0010R2記錄循環(huán)次數(shù)MVRDR2,0010R2記錄循環(huán)次數(shù)MVRDR3,5000R3的內(nèi)容為16位內(nèi)存地址(2023)STRR[R3J,R0(2023)STRR[R3J,R(2023)STRR[R3J,R0將R0寄存器的內(nèi)容放到R3給出的內(nèi)存單元中CALACALA2200CALA2200調(diào)用程序地址為2200CALA2200調(diào)用程序地址為2200的延時(shí)子程序INCR0R0加1INCR3R3加1DECR2DECR2DECR2R2減1DECR2R2減1JRNZ2023R2不為0跳轉(zhuǎn)到2023HRETc.延時(shí)子程序從2200H單元開(kāi)始輸入延時(shí)子程序(2002)PUSHR3MVRDR3,0001(2203)DECR3JRNZ2203POPR3RETd.運(yùn)營(yíng)程序,查看結(jié)果在命令提醒符下輸入:G2023,按回車,運(yùn)營(yíng)程序。使用D命令查看5000H?500FH單元中的數(shù)據(jù)。5、實(shí)驗(yàn)結(jié)果及總結(jié)由于本次實(shí)驗(yàn)是聯(lián)機(jī)實(shí)驗(yàn),在實(shí)驗(yàn)前,需要進(jìn)行聯(lián)機(jī)測(cè)試,還要把教學(xué)機(jī)的功能開(kāi)關(guān)設(shè)立為00110,應(yīng)當(dāng)注意的是在每次要改動(dòng)芯片連接時(shí),應(yīng)先斷電進(jìn)行,同時(shí)在實(shí)驗(yàn)過(guò)程中,不要隨意改動(dòng)其他芯片的位置或來(lái)接。通過(guò)本次實(shí)驗(yàn),使我了解到了存儲(chǔ)器的字、位擴(kuò)展的內(nèi)容,原理,可以使用相關(guān)的命令完畢實(shí)驗(yàn)中的規(guī)定。在實(shí)驗(yàn)中,雖然也碰到了問(wèn)題,但同過(guò)請(qǐng)教老師和同學(xué),問(wèn)題最終得到了解決,并成功完畢了本次實(shí)驗(yàn)。實(shí)驗(yàn)四微程序控制器實(shí)驗(yàn)(一)1、實(shí)驗(yàn)?zāi)康蘑龠M(jìn)一步理解微程序控制落的功能和組成結(jié)構(gòu)。②學(xué)習(xí)教學(xué)計(jì)算機(jī)各指令的指令格式、尋址方式及執(zhí)行流程。③學(xué)習(xí)微程序控制否的設(shè)計(jì)過(guò)程和相關(guān)技術(shù)。④可以理解基本指令的執(zhí)行流程,并在教學(xué)機(jī)上驗(yàn)證其相應(yīng)的微指令。⑤可以設(shè)計(jì)出幾條指令的功能,格式和指令的流程,并在教學(xué)計(jì)算機(jī)上進(jìn)行測(cè)試。2、實(shí)驗(yàn)規(guī)定①在實(shí)驗(yàn)前,認(rèn)真準(zhǔn)備,對(duì)于該實(shí)驗(yàn)的基本原理、微指令格式、以及相關(guān)機(jī)器指令的微程序等內(nèi)容預(yù)先做好分析和設(shè)計(jì)。②在實(shí)驗(yàn)過(guò)程中,應(yīng)當(dāng)認(rèn)真進(jìn)行實(shí)驗(yàn)操作,仔細(xì)思考實(shí)驗(yàn)有關(guān)內(nèi)容,把難點(diǎn)內(nèi)容通過(guò)實(shí)驗(yàn)理解清楚,爭(zhēng)取最佳的實(shí)驗(yàn)結(jié)果。③實(shí)驗(yàn)之后,應(yīng)當(dāng)認(rèn)真思考,寫出實(shí)驗(yàn)總結(jié),涉及實(shí)驗(yàn)中碰到的問(wèn)題和分析、解決方法。3、實(shí)驗(yàn)原理(一)TEC—XP教學(xué)機(jī)的控制器基本原理TEC-XP教學(xué)機(jī)中包含組合控制邏輯和微程序控制邏輯兩種不同結(jié)構(gòu)的控制器。本實(shí)驗(yàn)中使用的是微程序控制潛,與微程序控制器相關(guān)的機(jī)器結(jié)構(gòu)如下圖所示。控制器中使用程序計(jì)數(shù)器PC跟蹤機(jī)器指令的執(zhí)行,使用PC中的內(nèi)容訪存獲取機(jī)器指令,得到的機(jī)器指令送入控制器中的指令寄存器IR暫存,并由微程序控制器分析執(zhí)行,執(zhí)行過(guò)程中所有控制信號(hào)均由微程序控制器中的微命令寄存器uIR發(fā)出。微程序控制器的工作過(guò)程是:對(duì)于指令寄存器IR中的機(jī)器指令,由地址映射部件產(chǎn)生該指令所相應(yīng)的微指令程序的入口地址,通過(guò)AM290I送給控制存儲(chǔ)器。取出的一條微指令送入微指令寄存器,其中的微命令字段用于發(fā)出控制信號(hào),控制各部件的執(zhí)行,下地址字段與條件鑒定線路的各測(cè)試信號(hào)一起送給AM2901,由其擬定下條指令的地址,繼續(xù)執(zhí)行。(二)地址映射部件地址映射部件,即微指令地址映射部件,它是由一片E,PR0M構(gòu)成的,一般稱為MAPROMo指令寄存器IR將其中的高8位指令操作碼送給MAPROM,MAPROM根據(jù)操作碼與微地址之間的映射關(guān)系,給出該指令相應(yīng)微程序入口的地址。(三)TECXP教學(xué)機(jī)的微指令格式TEC-XP教學(xué)機(jī)的微指令共有48位,由16位的下地址字段和32位的操作控制字段形成,其格式如下圖:微下址CI3~CIoSSC3~SSCoIOMRWI2-0l8-3A口地址B口I也址SSTSSHSCIDCzDC,8位4位4位3位9位8位8位3位1位2位3位3位(四)控制存儲(chǔ)器控制存儲(chǔ)器字長(zhǎng)48位,用來(lái)存放TEC-XP教學(xué)機(jī)的所有微指令。硬件實(shí)現(xiàn)時(shí),是使用兩片EEPROM芯片《53C64)存放16位下地址字段信息,而32位操作控制字段信息存放在MACH器件內(nèi)。每次讀控制存儲(chǔ)器時(shí),從這三個(gè)芯片中讀出一條微指令。48位的微指令寄存器也分為兩段,即16位的下地址信息,和32位的微命令信息。(五)A、B、C、D組指令的執(zhí)行流程4、實(shí)驗(yàn)環(huán)節(jié)①設(shè)定工作方式接通TEC—XP教學(xué)機(jī)的電源,將功能開(kāi)關(guān)設(shè)立為11010,即設(shè)為單步、手動(dòng)執(zhí)行指令、使用微程序控制器,聯(lián)機(jī)操作。②驗(yàn)證A組基本指令一一加法指令A(yù)DDR0,R1的微程序根據(jù)如下所示的ADD指令格式,可得到指令A(yù)DDRO,R1的機(jī)器代碼為
0000000000000001淇中高8位為ADD指令的操作碼,接下來(lái)的兩個(gè)4位分別相應(yīng)R0和R1寄存器。1587430OPDRSR先按下RESET按鍵,復(fù)位系統(tǒng),然后通過(guò)16位的數(shù)據(jù)開(kāi)關(guān)SW撥入指令代碼,再按下RESET按鍵,此時(shí)指示燈Microp亮,其它燈全滅。在完畢以上設(shè)立后,接下來(lái)每次按下START按鍵,控制器就會(huì)執(zhí)行一條微指令,請(qǐng)?jiān)趯?shí)驗(yàn)前看懂以下微指令,在實(shí)驗(yàn)中驗(yàn)證每條微指令,并記錄每條微指令執(zhí)行時(shí)微地址、微下址指示燈的狀態(tài)。加法指令A(yù)DDR0,R1的微程序微地址操作功能下址Ch-oseeMRWI2-0I8-3B口anssTSSH\scDC:DC,00H0—>PCD1#=0OOH1110000010000101100101o101010000011II0000IHPC->ARPC+l->PCOOH11100000100Oil01000001010101000001Oil00002HMEM->IR00H1110000000100u0010000oo0000000000000100003H/MAPOOH001000001000000010000000000000000000000004HR0+R1->R030H0011oooo1000010110000000000100100000000030HSTR->QCC#=INT#3AH(X)11()010Ioo11I0000000000(XXX)0(X)000000Oil③驗(yàn)證B組基本指令一一傳送指令MVRDRO,D的微程序指令MVRD是將立即數(shù)傳送到指定寄存器的數(shù)據(jù)傳送類指令,該指令時(shí)雙字長(zhǎng)雙操作數(shù)的指令。其指令格式如下所示,則指令MVRDR(),D的機(jī)器代碼的高16位為1000100000000000,其中高8位為MVRD指令的操作碼,接下來(lái)的4位相應(yīng)目的寄存器R()o本次實(shí)驗(yàn),知識(shí)驗(yàn)證指令的微程序,至于該指令所傳送的數(shù)據(jù)D可采用存儲(chǔ)單元中的值。158700PDR0000DATA先按下RESET按鍵,復(fù)位系統(tǒng),然后通過(guò)16位的數(shù)據(jù)開(kāi)關(guān)SW撥入指令代碼,再按下RESET按鍵,此時(shí)指示燈Microp亮,其它全滅。傳送指令MVRDRO,D的微程序微地址操作功能下址C13-0SCCxMRW12-018-3B11A口ssTSSH\scDC2DC?.000—>PC01110000()1(X)001()1100101()1()1ooo(X)l111(XX)HDI#=()OH0101HPC->AROOH1110(XXM)1ooOil0100()()10010()00()0101(XX)PC+I->P0)11C02HMEM->1OOH11100oo00100000100000000oooooo00100R0ooo003H/MAP00010oooo1000000010000oooooooooooooooOH0000IDPC->ARIc00110000100on010000101010ooo00101oooHPC+lH011->PCcc#=oICHMEM->DRcc#=o30II00II0000OOI1110110000000oooo000000000oo030HSTR->QCC#=INT#3AH00110010100111000000000000000000000000115、實(shí)驗(yàn)結(jié)果及總結(jié)在本次實(shí)驗(yàn)中,根據(jù)實(shí)驗(yàn)規(guī)定,每次實(shí)驗(yàn)操作后,所記錄的每條微指令執(zhí)行時(shí)微地址、微下址等指示燈亮燈的狀態(tài)與預(yù)期的結(jié)果相同。通過(guò)本次實(shí)驗(yàn),使我了解到了微程序控制器的相關(guān)功能及組成結(jié)構(gòu),以及教學(xué)計(jì)算機(jī)各類指令格式,尋址方式和操作流程,可以純熟地在教學(xué)機(jī)上面操作各類指令。實(shí)驗(yàn)五微程序程序控制實(shí)驗(yàn)(二)1、實(shí)驗(yàn)?zāi)康蘑龠M(jìn)一步理解微程序控制器的功能和組成結(jié)構(gòu)。②學(xué)習(xí)教學(xué)計(jì)算機(jī)各指令的指令格式、尋址方式及執(zhí)行流程。③學(xué)習(xí)微程序控制器的設(shè)計(jì)過(guò)程和相關(guān)技術(shù)。④可以理解基本指令的執(zhí)行流程,并在教學(xué)機(jī)上驗(yàn)證其相應(yīng)的微指令。⑤可以設(shè)計(jì)出幾條指令的功能,格式和指令的流程,并在教學(xué)計(jì)算機(jī)卜.進(jìn)行測(cè)試。2、實(shí)驗(yàn)規(guī)定①在實(shí)驗(yàn)前,認(rèn)真準(zhǔn)備,對(duì)于該實(shí)驗(yàn)的基本原理、微指令格式、以及相關(guān)機(jī)器指令的微程序等內(nèi)容預(yù)先做好分析和設(shè)計(jì)。②在實(shí)驗(yàn)過(guò)程中,應(yīng)當(dāng)認(rèn)真進(jìn)行實(shí)驗(yàn)操作,仔細(xì)思考實(shí)驗(yàn)有關(guān)內(nèi)容,把難點(diǎn)內(nèi)容通過(guò)實(shí)驗(yàn)理解清楚,爭(zhēng)取最佳的實(shí)驗(yàn)結(jié)果。③實(shí)驗(yàn)之后,應(yīng)當(dāng)認(rèn)真思考,寫出實(shí)驗(yàn)總結(jié),涉及實(shí)驗(yàn)中碰到的問(wèn)題和分析、實(shí)驗(yàn)一運(yùn)算器實(shí)驗(yàn)(一)1、實(shí)驗(yàn)?zāi)康蘑龠M(jìn)一步了解AM2901運(yùn)算器的功能及具體用法。②深化運(yùn)算器部件的組成、設(shè)計(jì)、控制與使用知識(shí)。③可以純熟掌握對(duì)運(yùn)算器所需控制信號(hào)的設(shè)立,并使之完畢運(yùn)算。④可以獨(dú)立地成功完畢所給指令在運(yùn)算器中的運(yùn)算實(shí)驗(yàn)。2、實(shí)驗(yàn)規(guī)定①實(shí)驗(yàn)前,認(rèn)真了解AM2901運(yùn)算器的基本結(jié)構(gòu),預(yù)習(xí)所需實(shí)驗(yàn)的內(nèi)容,并在課前填寫實(shí)驗(yàn)環(huán)節(jié)表格,對(duì)于實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)結(jié)果進(jìn)行預(yù)期性的分析,以提高實(shí)驗(yàn)效率。②實(shí)驗(yàn)過(guò)程中,要按照對(duì)的的流程操作,防止損壞設(shè)備,分析也許碰到的各種現(xiàn)象,判斷結(jié)果是否對(duì)的,并記錄運(yùn)算結(jié)果。③實(shí)驗(yàn)之后,要認(rèn)真填寫實(shí)驗(yàn)報(bào)告,涉及對(duì)對(duì)到的各種現(xiàn)象的分析,實(shí)驗(yàn)環(huán)節(jié)和實(shí)驗(yàn)結(jié)果。3、實(shí)驗(yàn)原理(1)運(yùn)算器數(shù)據(jù)通路TEC-XP教學(xué)機(jī)的運(yùn)算器重要采用4片AM2901芯片級(jí)聯(lián)組成;每片AM2901芯片實(shí)現(xiàn)4位運(yùn)算,4片芯片級(jí)聯(lián)成16位的運(yùn)算器。AM2901芯片組成涉及:1個(gè)4位的算術(shù)邏輯運(yùn)算單元ALU、16個(gè)4位的通用寄存器、一個(gè)4位的乘商寄存器Q和若干個(gè)多路選擇開(kāi)關(guān)。AM2901的數(shù)據(jù)通路如圖所示:解決方法。3、實(shí)驗(yàn)原理TEC-XP教學(xué)機(jī)中包含組合控制邏輯和微程序控制邏輯兩種不同結(jié)構(gòu)的控制器。本實(shí)驗(yàn)中使用的是微程序控制器??刂破髦惺褂贸绦蛴?jì)數(shù)器PC跟蹤機(jī)器指令的執(zhí)行,使用PC中的內(nèi)容訪存獲取機(jī)器指令,得到的機(jī)器指令送入控制器中的指令寄存器IR暫存,并由微程序控制器分析執(zhí)行,執(zhí)行過(guò)程中所有控制信號(hào)均由微程序控制器中的微命令寄存器uIR發(fā)出。微程序控制器的工作過(guò)程是:對(duì)于指令寄存器IR中的機(jī)器指令,由地址映射部件產(chǎn)生該指令所相應(yīng)的微指令程序的入口地址,通過(guò)AM2901送給控制存儲(chǔ)器。取出的一條微指令送入微指令寄存器,其中的微命令字段用于發(fā)出控制信號(hào),控制各部件的執(zhí)行,下地址字段與條件鑒定線路的各測(cè)試信號(hào)一起送給AM2901,由其擬定下條指令的地址,繼續(xù)執(zhí)行。A、B、C、D組指令執(zhí)行流程:TEC-XP教學(xué)機(jī)中,按照每條指令的功能和實(shí)際的執(zhí)行環(huán)節(jié),將指令提成了A、B、C、D共4組,每條指令的所屬組詳見(jiàn)具體的指令描述。A組中的指令執(zhí)行時(shí),一般只是完畢通用寄存器間的數(shù)據(jù)運(yùn)算或傳送,在取指后可一步完畢。B組中的指令,一般需要完畢一次內(nèi)存或I/O讀、寫操作,在取指后可兩步完畢:第一步把要使用的地址傳送到地址寄存器AR中,第二步執(zhí)行內(nèi)存或I/O讀寫操作。C組中的指令,在取指后可三步完畢:其中CALR在用兩步讀寫內(nèi)存后,第三步執(zhí)行寄存器間的數(shù)據(jù)傳遞;而其它指令在第一步置地址寄存器ARH、ARL,第二步讀內(nèi)存(即取地址操作數(shù))、計(jì)算內(nèi)存地址、置地址寄存器ARH、ARL,第三步讀、寫內(nèi)存。D組中的指令,完畢兩次讀、寫內(nèi)存操作,在取指之后可四步完畢。4、實(shí)驗(yàn)環(huán)節(jié)①分析D組基本指令一一子程序調(diào)用CALAADR的微程序指令CALA是將立即數(shù)傳送到指定寄存器的數(shù)據(jù)傳送類指令,該指令時(shí)雙字長(zhǎng)操作數(shù)指令。其指令格式如下圖所示,則指令CALAADR的機(jī)器代碼的高16位為11001110()()()()()()()0,其中高8位為CALA指令操作碼,接下來(lái)的4位相應(yīng)目的寄存器ROo本次實(shí)驗(yàn)中,只是驗(yàn)證指令的微程序,至于該指令所用到的直接地址可采用存儲(chǔ)單元中的值。15870OP00000(X)0ADR先按下RESET按鍵,復(fù)位系統(tǒng),然后通過(guò)16位的數(shù)據(jù)開(kāi)關(guān)SW撥入指令代碼,再按下RESET按鍵,此時(shí)指示燈Mierop亮,其它燈全滅。在完畢以上設(shè)立后,接下來(lái)每次按下START按鍵,控制器就會(huì)執(zhí)行一條微指令,請(qǐng)?jiān)趯?shí)驗(yàn)前看懂以下微指令,在實(shí)驗(yàn)中驗(yàn)證每條微指令,并記錄每條微指令執(zhí)行時(shí)微地址、微下址指示燈的狀態(tài)。子程序調(diào)用指令CALAADD的微程序
微地址操作功能下址Chosee39MRW60I"3B口A口ssTssH\SCDC7DC,00H0—>PCD1#=000H111000001000010110010101010100000111100001HPC->AR0111000001000101010101ooo001OiloooPC+1->PCOH100000102MEM->lROOH1110oooo001ooo00100000000000oooooo001oooH03H/MAP000100000100ooo001000000ooooooooooooOH00oooIFHPC->AR30111000010001010010010ooo001OiloooPC+1->PCH0I00()1120HMEM->QOOH111()()0(X)(X)l111()0000ooo0(X)(XX)(M)00(X)(X)(XX)021Hsp-i->spOO111()0(X)01(X)011011010000()0(XX)Oil(XX)SP->ARII00I(X)022HPOME30H0011oooo0000101000001010101(XX)oooooo00M01Q->PCCC?=030HSTR->Q3A00100101001100000ooooooo00ooooooOilCC#=1NTH11000#②設(shè)計(jì)擴(kuò)展指令A(yù)DC、STC、LDRA、CALR的位程序TECXP教學(xué)機(jī)支持動(dòng)態(tài)微程序設(shè)計(jì),即允許用戶把自己設(shè)計(jì)的微程序?qū)懭肟刂拼鎯?chǔ)器中,當(dāng)擴(kuò)展指令需要執(zhí)行時(shí),直接從控制存儲(chǔ)器中讀取相應(yīng)的微指令執(zhí)行即可。但寫控制存儲(chǔ)器時(shí),需要用到硬件描述語(yǔ)言VHDL,故在本次實(shí)驗(yàn)中,對(duì)于擴(kuò)展實(shí)驗(yàn)直接采用出廠已設(shè)計(jì)好的擴(kuò)展指令進(jìn)行驗(yàn)證。擴(kuò)展指令A(yù)DC、STC、LDRA、CALR的執(zhí)行周期相關(guān)微命令如下所示,請(qǐng)?jiān)趯?shí)驗(yàn)時(shí)以單步方式進(jìn)行驗(yàn)證。若干擴(kuò)展指令的執(zhí)行周期微程序指令做地址操作功能下CI2SCC3fMI2*0B口A口SSTSSHDC:DC,
址RW\scAD50HDR+SR+300011oooo100010100oooo001010oooooocCF->DH0100000RST57H|->CF30()0110000100OOI001oooo00()0100ooooooooocuoooL5BHPC->AR01110()00010001101000100I01ooo001011oooDRAPC+lOH001->PC5CHMEIC0011oooo00111100100000()0oooooo011WK)M->ARH0000CAL64HSP-I00ino5)001(X)on0110100O(KX)ooo000H000R->SPH0110SP->AR65HPC->M001IIO0000001000oooo0101oooooo000001EMH00100066HSR->300011oooo10100011010ooooooo00OOOoooPCH0ooo10③測(cè)試擴(kuò)展指令擴(kuò)展指令在使用時(shí)與基本指令不同,基本指令可以在監(jiān)控環(huán)境下使用匯編命令A(yù)以匯編指令格式輸入存儲(chǔ)單元中,而擴(kuò)展指令只能使用存儲(chǔ)單元修改命令E以機(jī)器指令的形式寫入存儲(chǔ)單元中。a.設(shè)立功能開(kāi)關(guān)測(cè)試擴(kuò)展指令之前,先將TEC-XP的功能開(kāi)關(guān)設(shè)立為()0OlOob.測(cè)試STC、ADC指令將如下測(cè)試程序段輸入到主存2023H開(kāi)始的存儲(chǔ)區(qū)域中。A2023按回車鍵2023:MVRDR0,01012023:MVRDR1,10102023:按回車鍵>E2023按回車鍵2023:6D00按回車鍵>E20232023:FFFF:2023>A2023按回車鍵2023:RET2023:按回車鍵>G2023R0=1112Rl=1()1()R2=0020R3=FFFF注意:帶*號(hào)的指令為擴(kuò)展指令,只能使用E命令寫入。5、實(shí)驗(yàn)結(jié)果及總結(jié)在本次實(shí)驗(yàn)中,每次實(shí)驗(yàn)所記錄的微指令執(zhí)行時(shí)微地址、微下址等指示燈的亮燈狀態(tài)和預(yù)期的結(jié)果一致,并且測(cè)試STC、ADC指令后,通過(guò)觀測(cè)運(yùn)營(yíng)結(jié)果可得出R0=l112,R1=1O1O,通過(guò)不斷地修改,最終可以成功完畢了本次實(shí)驗(yàn)。通過(guò)這次的微程序控制實(shí)驗(yàn),使我更進(jìn)一步地了解掌握了微程序控制器的相關(guān)工作原理,更加純熟了微程序控制器中的相關(guān)指令操作,對(duì)一些較為難懂的知識(shí)點(diǎn),有了更進(jìn)一步的結(jié)識(shí)。實(shí)驗(yàn)六程序查詢方式的匯編程序設(shè)計(jì)1、實(shí)驗(yàn)?zāi)康蘑偈煜ず屠斫獠樵兎绞降臄?shù)據(jù)傳送過(guò)程。②學(xué)習(xí)TEC-XP教學(xué)實(shí)驗(yàn)系統(tǒng)匯編程序的設(shè)計(jì)方法。③可以編寫指定功能的匯編語(yǔ)言程序,并調(diào)試通過(guò)。2、實(shí)驗(yàn)規(guī)定①在使用教學(xué)機(jī)之前,應(yīng)當(dāng)熟悉查詢方式的數(shù)據(jù)傳遞原理。②熟悉TEC-XP教學(xué)機(jī)的指令系統(tǒng)。③在實(shí)驗(yàn)過(guò)程中,要按對(duì)的的操作流程使用設(shè)備,防止損壞設(shè)備,實(shí)驗(yàn)時(shí),應(yīng)當(dāng)認(rèn)真觀測(cè)實(shí)驗(yàn)現(xiàn)象,并判斷實(shí)驗(yàn)結(jié)果是否對(duì)的,記錄結(jié)果。④在實(shí)驗(yàn)完畢后,應(yīng)當(dāng)認(rèn)真填寫實(shí)驗(yàn)報(bào)告,并對(duì)實(shí)驗(yàn)中碰到的各種現(xiàn)象進(jìn)行分析。3、實(shí)驗(yàn)原理①本次實(shí)驗(yàn)是將PC的鍵盤和顯示器作為TEC-XP教學(xué)機(jī)的外設(shè),采用程序查詢方式進(jìn)行數(shù)據(jù)的輸入輸出操作。②TEC-XP教學(xué)機(jī)是通過(guò)串口與PC連接的,在聯(lián)機(jī)操作中,PC機(jī)對(duì)教學(xué)機(jī)的訪問(wèn)是通過(guò)對(duì)其數(shù)據(jù)端口和控制狀態(tài)端口來(lái)完畢的。需要注意的是,當(dāng)教學(xué)機(jī)與PC要傳送數(shù)據(jù)時(shí),必須先杳詢相應(yīng)的收發(fā)狀態(tài)位。③程序查詢方式的數(shù)據(jù)傳送程序查詢方式的數(shù)據(jù)傳送基本過(guò)程是:CPU傳送數(shù)據(jù)之前先檢查外設(shè)的狀態(tài),若沒(méi)有準(zhǔn)備好,則繼續(xù)查詢等待,直至外設(shè)就緒即進(jìn)行數(shù)據(jù)傳送。在TEC-XP教學(xué)機(jī)上,所要查詢的是與PC連接的TEC-XP的串口狀態(tài)字。由于本次實(shí)驗(yàn)室中的TEC-XP教學(xué)機(jī)所用的都是串口1,則其狀態(tài)端口地址均為81。a.TEC-XP教學(xué)機(jī)接受輸入數(shù)據(jù)時(shí)當(dāng)TEC-XP教學(xué)機(jī)需要從鍵盤上接受輸入數(shù)據(jù)時(shí),需要檢測(cè)所讀狀態(tài)字的最低位RxRDY狀態(tài)。由于讀入數(shù)據(jù)的前提是鍵盤按鍵被按下,所以執(zhí)行IN80指令時(shí),必須確認(rèn)輸入數(shù)據(jù)已到達(dá)接口中。因此,IN80指令總是需要查詢等待至RxRDY狀態(tài)位就緒才可執(zhí)行。b.TEC-XP教學(xué)機(jī)輸出顯示數(shù)據(jù)時(shí)當(dāng)TEC-XP教學(xué)機(jī)需要向顯示器上輸出顯示數(shù)據(jù)時(shí),需要檢測(cè)所讀狀態(tài)字的最低位TxRDY狀態(tài)。若單個(gè)數(shù)據(jù)輸出時(shí),可直接使用OUT80指令,從串口1的數(shù)據(jù)端口中輸出數(shù)據(jù),因此,可不必進(jìn)行狀態(tài)檢測(cè)。但若要連續(xù)輸出多個(gè)數(shù)據(jù)時(shí),為保證每個(gè)數(shù)據(jù)輸出的都能被顯示器接受到,則必須要查詢等待T.RDY狀態(tài)位就緒才可執(zhí)行OUT80指令,以免后一個(gè)數(shù)據(jù)將前一個(gè)還沒(méi)來(lái)得及輸出的數(shù)據(jù)覆蓋,而導(dǎo)致數(shù)據(jù)丟失。4、實(shí)驗(yàn)環(huán)節(jié)①完畢TEC-XP教學(xué)機(jī)與PC機(jī)的聯(lián)機(jī)操作匯編實(shí)驗(yàn)中的程序執(zhí)行控制由組合邏輯控制謂實(shí)現(xiàn),因此功能開(kāi)關(guān)狀態(tài)設(shè)定為00110。②輸入給定的匯編程序,連續(xù)執(zhí)行,并觀測(cè)結(jié)果以下程序段完畢功能為:采用程序查詢方式,從PC機(jī)的鍵盤接受一個(gè)字符至TEC-XP教學(xué)機(jī),并將接受到的字符輸出顯示至PC機(jī)的屏幕上。2023:IN81從串行接口的狀態(tài)端口讀入狀態(tài)字,保存于R()的低8位2023:SHRR02023:SHRRO將狀態(tài)字的低位RxRDY移出至標(biāo)志位C上2023:JRNC2023若接受未就緒,即C=0,則跳轉(zhuǎn)。2023:IN80若接受就緒,即C=1,則讀入輸入的字符至R0的低8位2023:OUT80將讀入字符輸出至PC機(jī)的屏顯示2023:RET按回車鍵2023:按回車鍵在監(jiān)控狀態(tài)下輸入程序的注意事項(xiàng):a.地址使用用戶區(qū)地址,采用絕對(duì)地址形式。b.所有數(shù)字默認(rèn)采用16進(jìn)制,后面不加Hoc.程序的最后一個(gè)語(yǔ)句位SET,若無(wú)該指令,則程序無(wú)法結(jié)束。5、實(shí)驗(yàn)結(jié)果及總結(jié)在本次實(shí)驗(yàn)中,根據(jù)實(shí)驗(yàn)規(guī)定,成功的使TEC-XP教學(xué)機(jī)從PC機(jī)的鍵盤上接受一個(gè)字符并將接受到的字符輸出顯示至PC機(jī)的屏幕上。通過(guò)實(shí)驗(yàn),使我明白我們?cè)阪I盤上輸入的內(nèi)容都將顯示到屏幕上,在實(shí)驗(yàn)中我們?nèi)菀缀雎缘氖?,?dāng)教學(xué)機(jī)與PC機(jī)要傳送數(shù)據(jù)時(shí),必須先查詢相應(yīng)的收發(fā)狀態(tài)位,并且在程序的最后必須有一個(gè)RET語(yǔ)句,否則程序?qū)o(wú)法結(jié)束。實(shí)驗(yàn)七中斷實(shí)驗(yàn)(一)1、實(shí)驗(yàn)?zāi)康蘑偌由罾斫庥?jì)算機(jī)體系中斷工作的原理及解決過(guò)程。②學(xué)習(xí)和掌握中斷的產(chǎn)生、中斷響應(yīng)、中斷解決等技術(shù)。③實(shí)現(xiàn)主程序的控制功能:在屏幕上循環(huán)顯示數(shù)字字符“6”,并可隨時(shí)接受中斷請(qǐng)求。④了解中斷服務(wù)的功能。2、實(shí)驗(yàn)規(guī)定①在實(shí)驗(yàn)前,應(yīng)當(dāng)先做好相關(guān)的預(yù)習(xí)工作,理解TEC-XP教學(xué)機(jī)的中斷實(shí)現(xiàn)原理。②熟悉TEC-XP教學(xué)機(jī)的指令系統(tǒng),可以編寫完畢中斷功能的匯編程序。③在實(shí)驗(yàn)過(guò)程中,應(yīng)當(dāng)認(rèn)真按照實(shí)驗(yàn)規(guī)定,對(duì)的寫入相關(guān)的操作命令。④編寫主程序和三個(gè)中斷服務(wù)程序,并在主程序執(zhí)行過(guò)程中按下按鍵產(chǎn)生中斷請(qǐng)求,觀測(cè)中斷服務(wù)和現(xiàn)象。3、實(shí)驗(yàn)原理TEC-XP教學(xué)機(jī)中提供應(yīng)用的外部中斷源有三個(gè),由教學(xué)機(jī)面板右下方的是哪個(gè)無(wú)鎖按鍵作為其硬件中斷源,從右到左依次簡(jiǎn)稱為P1,P2,P3中斷源。TEC-XP在響應(yīng)這三個(gè)中斷源的中斷請(qǐng)求時(shí),采用的是向量地址轉(zhuǎn)移法,即中斷的請(qǐng)求可通過(guò)硬件電路產(chǎn)生一個(gè)硬件地址,在該地址中存放一條轉(zhuǎn)移指令,執(zhí)行該指令即可轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。P1,P2,P3的中斷向量地址由TEC?XP的內(nèi)部結(jié)構(gòu)擬定,分別為2420H、2430H、2440H,用戶中斷使用時(shí)?,應(yīng)在相應(yīng)地址中寫入轉(zhuǎn)移指令,從而轉(zhuǎn)向用戶自定義的中斷服務(wù)程序。4、實(shí)驗(yàn)環(huán)節(jié)①相關(guān)擴(kuò)展指令的微程序驗(yàn)證本次實(shí)驗(yàn)中使用到開(kāi)中斷、關(guān)中斷、中斷返回等擴(kuò)展指令,做具體中斷實(shí)驗(yàn)前,先進(jìn)行這些指令微程序的分析和驗(yàn)證。該環(huán)節(jié)中應(yīng)將功能開(kāi)關(guān)撥為11010,即設(shè)為單步、手動(dòng)執(zhí)行指令,使用微程序控制器,聯(lián)機(jī)操作。若干擴(kuò)展指令的執(zhí)行周期微程序指令微地址操作功能T址csccMRW1盤。lx3B口A口ssTSSH\ScDc2DC1E158EI30H00110000100000001000000001000Hooo00000010DI59DI30H001oooo100000010000000000011000H10(XX)0(X)1IRE67SP->AR01100I00101()OUX)01(X)00OOIOil00THSP+I->SPOH100001()0000①算術(shù)邏輯運(yùn)算單元ALUALU有兩個(gè)數(shù)據(jù)輸入端R和So在RS的各種組合中除去沒(méi)故意思的和反復(fù)的,只有8種有效組合。ALU可完畢連個(gè)操作數(shù)的加、減、與、或、異或等多種操作。ALU的輸出結(jié)果可保存到通用寄存器、乘商寄存器Q,并且可將其值乘除2之后在保存。ALU根據(jù)其運(yùn)算的結(jié)果會(huì)產(chǎn)生4個(gè)標(biāo)志位一一符號(hào)標(biāo)志位F3、零標(biāo)志位F=0、溢出標(biāo)志位OVR和進(jìn)位標(biāo)志位Cn+4。②通用寄存器組AM2901中的通用寄存器組是由16個(gè)寄存器構(gòu)成,具有雙端口讀寫電路。可以通過(guò)A口、B口輸入的地址(4位地址)選擇寄存器,將其值送入A、B鎖存器。其中A口地址指定的寄存器是只讀的,B口地址指定的寄存器是可讀寫的。A和B鎖存器可作為ALU的輸入數(shù)據(jù),ALU輸出的結(jié)果值也可以保存到B口指定的寄存器中,并且在寫寄存器時(shí),可以通過(guò)通用寄存器組入口的三選一多路開(kāi)關(guān),選擇寫入ALU結(jié)果值,或其左移(乘2)、右移(除2)之后的結(jié)果。③乘商寄存器乘商寄存器是Q是為配合ALU的乘除運(yùn)算二設(shè)立的。該寄存器輸入端有三選一多路開(kāi)關(guān),可選擇ALU輸出結(jié)果、或乘商寄存器Q自身的內(nèi)容作為其輸入數(shù)據(jù),同時(shí)還可以將這兩個(gè)輸入值左移、右移之后在送入Q中。④最低進(jìn)位信號(hào)CinAM2901的基本運(yùn)算是加法電路,其減法功能的實(shí)現(xiàn)是通過(guò)對(duì)減數(shù)求補(bǔ)而完畢的。因此,在ALU運(yùn)算時(shí),應(yīng)使用SCI控制位設(shè)立最低進(jìn)位信號(hào)Cin的狀態(tài)。(2)AM2901的級(jí)聯(lián)結(jié)構(gòu)②設(shè)定工作方式68MEM->S200110000001000010000000100001000HTR3H00000000CC#INTOLD#中斷實(shí)驗(yàn)中的程序執(zhí)行控制由微程序控制實(shí)現(xiàn),因此,功能開(kāi)關(guān)狀態(tài)設(shè)定為00010,即聯(lián)機(jī)方式下,采用微程序控制器連續(xù)運(yùn)營(yíng)程序。③編寫顯示子程序本實(shí)驗(yàn)中需要通過(guò)中斷服務(wù)程序中的字符顯示來(lái)查看中斷執(zhí)行情況,字符顯示時(shí)仍然采用程序查詢方式。因此,將各程序段中所需的顯示代碼作為單獨(dú)子程序。該顯示子程序保存于2200H單元,代碼如下:>A220()按回車鍵2200:PUSHR0保護(hù)待顯示字符所在的寄存器RO2201:IN81查詢接口狀態(tài),判斷字符輸出是否完畢2202:SHRR02203:JRNC2201未完畢,則循環(huán)等待2204:POPR0顯示完畢,則恢復(fù)寄存器,R0出棧2205:OUT80輸出R0的值2206:RET④編寫中斷服務(wù)程序P1中斷服務(wù)程序段入口為2420H,代碼如下:2420:PUSHROR0進(jìn)棧2421:PUSHR3R3進(jìn)棧2422:MVRDR3,31將顯示字符'!’的ASCII碼送進(jìn)寄存器R32424:JR2450
P2中斷服務(wù)程序段入口為243()H,代碼如下:2430:PUSHROR0進(jìn)棧2431:PUSHR3R3進(jìn)棧2432:MVRDR3,32將字符'2'的ASCII碼送到寄存器R32434:JR2450P3中斷服務(wù)程序段入□為2440H,代碼如下:2440:PUSHROR0進(jìn)棧244LPUSHR3R3進(jìn)棧2442:MVRDR3,33將字符‘3'的ASCII碼送到寄存器R32444:JR2450以上三段代碼在完畢入口參數(shù)設(shè)立后,均轉(zhuǎn)入2450單元中執(zhí)行,該地址中保存中斷服務(wù)程序的功能代碼,具體如下:>E2450按回車鍵2450:6EOO2451:MVRDR0,42將字符<B,賦值給R0,B即Begin的縮寫2453:CALA2200調(diào)用子程序,完畢顯示24552455:MVRD2455:MVRDR0,49將字符'V賦值給R0Jnterrupt2455:MVRD2457:CALA2457:CALA2457:CALA2200調(diào)用子程序,完畢顯示2459:MVRR2459:MVRR2459:MVRRR0,R3將要顯示的字符——R3的內(nèi)容送到R0245A:CALA245A:CALA2200調(diào)用子程序,完畢顯示245C:IN81判斷鍵盤上是否按了一個(gè)鍵245D:SHRR0即串口是否有輸入字符245E245A:CALA2200調(diào)用子程序,完畢顯示245C:IN81判斷鍵盤上是否按了一個(gè)鍵245D:SHRR0即串口是否有輸入字符245E:SHRRO245F:JRNC245C若沒(méi)有等待2460:IN80輸入字符到R0,實(shí)際讀入該字符沒(méi)有用處2461:MVRDR0,0045將字符4E'賦值給R0,E即End的縮寫2463:CALA2200調(diào)用子程序,完畢顯示2465:MVRDR0,0049將字符T賦值給R0,Interrupt的縮寫2467:CALA2200調(diào)用子程序,完畢顯示2469:MVRRR(),R3將R3內(nèi)容送到RO246A:CALA2200調(diào)用子程序,完畢顯示246C:POPR3R3出棧246D:POPRORO出棧>E246E按回車鍵246E:0000:EFO0⑤填寫中斷向量:根據(jù)系統(tǒng)的硬件連接,P1,P2,P3的中斷向量地址分別為2404H,2408H和240Ch,這三個(gè)地址中應(yīng)寫入一下三條指令:A2404按回車鍵2404:JR2420A2408按回車鍵24()8:JR2430A240C按回車鍵240C:JR2440⑥編寫主程序主程序應(yīng)開(kāi)中斷,等待中斷請(qǐng)求的到來(lái),并同時(shí)循環(huán)顯示字符'6'。主程序存放于2023H中,代碼如下:>E2023按回車鍵2023:6E00>A2023按回車鍵2023:MVRDR0,0036將字符'6'的ASCII碼送到寄存器R02023:CALA2200輸出該字符2023:MVRDR0,4000延時(shí)子程序2023:DECR02023:JRN22023
20232023:JR20232023:2023:JR2023跳到2023循環(huán)執(zhí)行該程序200A:RET200C:按回車鍵⑦運(yùn)營(yíng)主程序,等待響應(yīng)中斷在監(jiān)控狀態(tài)命令行,使用G命令執(zhí)行主程序〉G2023按回車鍵a.無(wú)中斷請(qǐng)求在沒(méi)有任何中斷請(qǐng)求時(shí),主程序的運(yùn)營(yíng)結(jié)果是:在屏幕上連續(xù)顯示字符'6'。b.單級(jí)中斷主程序運(yùn)營(yíng)過(guò)程中,按下P1按鍵,則進(jìn)入P1的中斷服務(wù)程序,屏幕上會(huì)中斷字符'6,的顯示,顯示字符串'B11L然后等待按鍵,屏幕上狀態(tài)無(wú)變化。此時(shí),按下P2按鍵廁中斷P1的服務(wù)程序,執(zhí)行P2的中斷服務(wù)程序,屏幕上顯示字符串‘B12',等待按鍵。再按下P3鍵,再次發(fā)生中斷嵌套,屏幕上顯示字符串‘B13',等待按鍵。5、實(shí)驗(yàn)結(jié)果及總結(jié)按照實(shí)驗(yàn)規(guī)定,輸入相關(guān)操作命令后,在無(wú)中斷請(qǐng)求的情況下,屏幕上連續(xù)地顯示字符'6',假如,在主程序運(yùn)營(yíng)過(guò)程中,按下P1按鍵,則進(jìn)入P1的中斷服務(wù)程序,屏幕上會(huì)中斷字符'6'的顯示,顯示字符串'BI1',然后等待按鍵,屏幕上無(wú)變化。通過(guò)本次實(shí)驗(yàn),使我了解到了中斷實(shí)驗(yàn)的相關(guān)操作命令和中斷工作的原理及解決過(guò)程,也掌握了中斷產(chǎn)生、中斷響應(yīng)和中斷解決等技術(shù)。實(shí)驗(yàn)八中斷實(shí)驗(yàn)(二)1、實(shí)驗(yàn)?zāi)康蘑偌由罾斫庥?jì)算機(jī)體系中斷工作的原理及解決過(guò)程。②學(xué)習(xí)和掌握中斷的產(chǎn)生、中斷響應(yīng)、中斷解決等技術(shù)。③實(shí)現(xiàn)主程序的控制功能:在屏幕上循環(huán)顯示數(shù)字字符“6”,并可隨時(shí)接受中斷請(qǐng)求。④了解中斷服務(wù)的功能。2、實(shí)驗(yàn)規(guī)定①在實(shí)驗(yàn)前,應(yīng)當(dāng)先做好相關(guān)的預(yù)習(xí)工作,理解TEC-XP教學(xué)機(jī)的中斷實(shí)現(xiàn)原理。②熟悉TEC-XP教學(xué)機(jī)的指令系統(tǒng),可以編寫完畢中斷功能的匯編程序。③在實(shí)驗(yàn)過(guò)程中,應(yīng)當(dāng)認(rèn)真按照實(shí)驗(yàn)規(guī)定,對(duì)的寫入相關(guān)的操作命令。④編寫主程序和三個(gè)中斷服務(wù)程序,并在主程序執(zhí)行過(guò)程中按下按鍵產(chǎn)生中斷請(qǐng)求,觀測(cè)中斷服務(wù)和現(xiàn)象。3、實(shí)驗(yàn)原理TEC-XP教學(xué)機(jī)中提供應(yīng)用的外部中斷源有三個(gè),由教學(xué)機(jī)面板右下方的是哪個(gè)無(wú)鎖按鍵作為其硬件中斷源,從右到左依次簡(jiǎn)稱為PLP2,P3中斷源。TEC-XP在響應(yīng)這三個(gè)中斷源的中斷請(qǐng)求時(shí),采用的是向量地址轉(zhuǎn)移法,即中斷的請(qǐng)求可通過(guò)硬件電路產(chǎn)生一個(gè)硬件地址,在該地址中存放一條轉(zhuǎn)移指令,執(zhí)行該指令即可轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。Pl,P2,P3的中斷向量地址由TECXP的內(nèi)部結(jié)構(gòu)擬定,分別為2420H、243OH、2440H,用戶中斷使用時(shí),應(yīng)在相應(yīng)地址中寫入轉(zhuǎn)移指令,從而轉(zhuǎn)向用戶自定義的中斷服務(wù)程序。4、實(shí)驗(yàn)環(huán)節(jié)①設(shè)定工作方式中斷實(shí)驗(yàn)中的程序執(zhí)行控制由微程序控制實(shí)現(xiàn),因此,功能開(kāi)關(guān)狀態(tài)設(shè)定為00010,即聯(lián)機(jī)方式下,采用微程序控制器連續(xù)運(yùn)營(yíng)程序。②編寫顯示子程序本實(shí)驗(yàn)中需要通過(guò)中斷服務(wù)程序中的字符顯示來(lái)查看中斷執(zhí)行情況,字符顯示時(shí)仍然采用程序查詢方式。故,將各程序段中所需的顯示代碼作為單獨(dú)子程序。該顯示子程序保存于2200H單元,代碼如下:>A2200按同車鍵2200:PUSHR0保護(hù)待顯示字符所在的寄存器R02201:IN8I查詢接口狀態(tài),判斷字符輸出是否完畢2202:SHRR02203:JRNC2201未完畢,則循環(huán)等待2204:POPR0顯示完畢,則恢復(fù)寄存器,R0出棧2205:OUT80輸出R0的值2206:RET③編寫中斷服務(wù)程序P1中斷服務(wù)程序段入口為2420H,代碼如下:2420:PUSHR0R0進(jìn)棧2421:PUSHR3R3進(jìn)棧2422:MVRDR3,31將顯示字符!的ASCII碼送進(jìn)寄存器R32424:JR2450P2中斷服務(wù)程序段入口為2430H,代碼如下:2430:PUSHR0R0進(jìn)棧2431:PUSHR3R3進(jìn)棧2432:MVRDR3,32將字符'2'的ASCII碼送到寄存器R3
2434:JR2450P3中斷服務(wù)程序段入口為2440H,代碼如下:2440:PUSHROR0進(jìn)棧2441:PUSHR3R3進(jìn)棧2442:MVRDR3,33將字符的ASCII碼送到寄存器R32444:JR2450以上三段代碼在完畢入口參數(shù)設(shè)立后,均轉(zhuǎn)入2450H單元中執(zhí)行,該地址中保存中斷服務(wù)程序的功能代碼,具體如下:>E2450按回車鍵2450:FF2E:004D2451:MVRDRO,42將字符'B'賦值給RO,B即Begin的縮寫2453:CALA2200調(diào)用子程序,完畢顯示2455:MVRDRO,49將字符T賦值給RO,Interrupt的縮寫2457:CALA2200調(diào)用子程序,完畢顯示2459:MVRRRO,R32459:MVRRRO,R32459:MVRRRO,R3將要顯示的字符2459:MVRRRO,R3將要顯示的字符一一R3的內(nèi)容送到R0245A:CALA2200調(diào)用子程序,完畢顯示245C:IN81判斷鍵盤上是否按了一個(gè)鍵245D:SHRR0即串口是否有輸入字符245E:SHRR0245F:JRNC245C若沒(méi)有等待2460:IN8()輸入字符到R0,實(shí)際讀入該字符沒(méi)有用處2461:MVRDR0Q045將字符'E'賦值給RO,E即End的縮寫2463:CALA2200調(diào)用子程序,完畢顯示2465:MVRDRO,0049將字符T賦值給R0,Interrupt的縮寫2467:CALA2200調(diào)用子程序,完畢顯示
2469:MVRRRO,R3將R3內(nèi)容送到RO246A:CALA2200調(diào)用子程序,完畢顯示246C:POPR3R3出棧246D:POPR0RO出棧>E246E按回車鍵246E:0000:EFOO④填寫中斷向量:根據(jù)系統(tǒng)的硬件連接,P1,P2,P3的中斷向量地址分別為2404H,2408H404H,2408H和240ch,404H,2408H和240ch,這三個(gè)地址中應(yīng)寫入一下三條指令:A2404按回車鍵2404:JR2420A404H,2408H和240ch,這三個(gè)地址中應(yīng)寫入一下三條指令:A2404按回車鍵2404:JR2420A2408按回車鍵2408:JR2430A240C按回車鍵240C:JR2440⑤編寫主程序主程序應(yīng)開(kāi)中斷,等待中斷請(qǐng)求的到來(lái),并同時(shí)循環(huán)顯示字符'6、主程序存放于2023H中,代碼如下:>E2023按回車鍵2023:6E00>A2023按回車鍵2023:MVRD2023:MVRD2023:MVRDR0,003將字符'6'的ASCII碼送到寄存器R02023:CALA2023:MVRDR0,003將字符'6'的ASCII碼送到寄存器R02023:CALA2200輸出該字符2023:MVRDR0,4000延時(shí)子程序2023:DECRO2023:JRN220232023:JR2023跳到2023循環(huán)執(zhí)行該程序200A:RET200C:按回車鍵⑥運(yùn)營(yíng)主程序,等待響應(yīng)中斷在監(jiān)控狀態(tài)命令行,使用G命令執(zhí)行主程序:>G2023按回車鍵a.無(wú)中斷請(qǐng)求在沒(méi)有任何中斷請(qǐng)求時(shí),主程序的運(yùn)營(yíng)結(jié)果是:在屏幕上連續(xù)顯示字符‘M'。b.單級(jí)中斷主程序運(yùn)營(yíng)過(guò)程中,按下P1按鍵,則進(jìn)入P1的中斷服務(wù)程序,屏幕上會(huì)中斷字符'M'的顯示。5、實(shí)驗(yàn)結(jié)果及總結(jié)本次實(shí)驗(yàn)結(jié)果在無(wú)中斷請(qǐng)求時(shí),主程序運(yùn)營(yíng)結(jié)果是,在屏幕上連續(xù)顯示字符'M',若主程序運(yùn)營(yíng)過(guò)程中,按下P1按鍵,則進(jìn)入P1的中斷服務(wù)程序,屏幕上會(huì)中斷字符'M'的顯示,顯示字符串‘BI1’,然后等待按鍵,屏幕上狀態(tài)無(wú)變化。鍵入任一按鍵,屏幕上顯示字符串‘EI1',返回中斷,繼續(xù)執(zhí)行主程序。循環(huán)顯示字符'M',再次按下P2,正中斷P1的服務(wù)程序,屏幕上顯示字符串'BI2,等待按鍵,再按下P3,再次發(fā)生中斷嵌套,屏幕上顯示字符轉(zhuǎn)'BI3',等待按鍵。通過(guò)本次實(shí)驗(yàn),使我了解到了中斷實(shí)驗(yàn)的相關(guān)操作命令和中斷工作的原理及解決過(guò)程,也掌握了中斷產(chǎn)生、中斷響應(yīng)和中斷解決等技術(shù)。一片4位的AM2901芯片的引腳信號(hào)如圖所示。其中A3~A。、B3~Bo用于輸入選中的通用寄存器地址;18?I。用于運(yùn)算過(guò)程的控制信號(hào);D3?Do用于輸入外部數(shù)據(jù);丫3?Yo用于輸出運(yùn)算的結(jié)果;CP為時(shí)鐘信號(hào);/OE為選通信號(hào):RAM,、RAMo為運(yùn)算結(jié)果左右移動(dòng)時(shí)的移出位;Q3、Qo為乘商寄存器Q左右移時(shí)的移出位;Cy、F=0、Over、F3分別為進(jìn)位標(biāo)志位、零標(biāo)志位、溢出標(biāo)志位、符號(hào)標(biāo)志位;Cin為外部輸入的最低進(jìn)位。注:TEC-XP教學(xué)機(jī)的16位運(yùn)算器是采用4片AM2901芯片級(jí)聯(lián)而成的,各芯片之間采用串行進(jìn)位方式,具體連接圖在此并未給出。(3)AM2901時(shí)鐘信號(hào)的作用在AM2901的每個(gè)ALU操作周期內(nèi),ALU各部件的執(zhí)行時(shí)間是不同的。在時(shí)鐘脈沖為高電平時(shí),從寄存器組讀出的數(shù)據(jù)可穿過(guò)鎖存器直接傳送到ALU的數(shù)據(jù)輸入端,在下降沿時(shí),A、B口數(shù)據(jù)鎖存,在時(shí)鐘脈沖為低電平時(shí),通用寄存器接受運(yùn)算器的輸出結(jié)果,上升沿時(shí),Q寄存器接受數(shù)據(jù)。(4)實(shí)驗(yàn)控制信號(hào)開(kāi)關(guān)說(shuō)明該實(shí)驗(yàn)是在完全脫機(jī)的方式下完畢的。實(shí)驗(yàn)過(guò)程中,使用實(shí)驗(yàn)箱面板下方標(biāo)有microswitch1和microswitch2的兩個(gè)紅色開(kāi)關(guān),設(shè)立24位的運(yùn)算控制信號(hào)。運(yùn)算完畢后,通過(guò)實(shí)驗(yàn)箱面板中間位置的發(fā)光二極管觀測(cè)運(yùn)算結(jié)果。實(shí)驗(yàn)過(guò)程中也許會(huì)用到外部輸入數(shù)據(jù),則可通過(guò)實(shí)驗(yàn)箱面板右下方的16個(gè)黑色數(shù)據(jù)開(kāi)關(guān)設(shè)立??刂菩盘?hào)順序如下圖所示:Microswitch1Microswitch218?I6I5?13Iz~IoSSTSSHSCIBPortAPortMicroswitch開(kāi)關(guān)信號(hào)順序圖(5)指令舉例指令1:MVRDRO,OFFFFII分析:①該指令是在使用立即數(shù)為寄存器賦值的,立即數(shù)應(yīng)從數(shù)據(jù)總線撥入,經(jīng)ALU傳送至目的寄存器R0,因此,ALU的數(shù)據(jù)來(lái)源應(yīng)選擇D、0,即b?Io取值為111.②該賦值指令中的數(shù)據(jù)必須通過(guò)ALU才可寫入通用寄存器,可使用FFFFH+0->R0的操作,因此,ALU的運(yùn)算類型應(yīng)當(dāng)選擇算術(shù)加;L?13取值為000。③ALU的運(yùn)算結(jié)果應(yīng)保存至B口地址指定的通用寄存器中,即l8~k取值為011,同時(shí)B口地址輸入R0的地址(0000)o④其余信號(hào):A口地址無(wú)用,為任意值;SST取000(標(biāo)志位保持不變,傳送類指令不影響標(biāo)志位狀態(tài))SSH-00(不移位);Sci-00(Cin=0)o4、實(shí)驗(yàn)環(huán)節(jié)①一方面,將TEC-XP教學(xué)機(jī)左下方的5個(gè)功能開(kāi)關(guān)設(shè)立為1火*00(單步、16位、脫機(jī));先按一下“RESET”按鍵,再按一下“START”按鍵,進(jìn)行初始化。②完畢初始化后,根據(jù)所給定的指令,按順序控制運(yùn)算器執(zhí)行每條指令,每條指令執(zhí)行時(shí)請(qǐng)記錄按START前和按START后兩個(gè)時(shí)刻的狀態(tài)。③預(yù)習(xí)AM2901運(yùn)算器原理,按環(huán)節(jié)完畢實(shí)驗(yàn)后,填寫的實(shí)驗(yàn)表格如下:運(yùn)算SSTSSsBA按START前按START后
ALU輸出SVzcALU輸出svzcMVRDRO.0101000OOOO000000000101111101011111MVRDR1.10I0000oo00000100001010111110101111ADDRO,R1OOI00oo00000001iin11112121ooooSUBRO.R10010()01()0000(X)l0101O(XX)F0F1(XX)ISUBRI.RO(X)l(X)010(X)l00()00FOF(MX)10EOE()0()1ORR0,RI(X)l(X)oo(XXX)0001OFOFO(X)1OFOF01015、實(shí)驗(yàn)結(jié)果及總結(jié)通過(guò)本次實(shí)驗(yàn),進(jìn)一步了解了AM2901運(yùn)算器的基本結(jié)構(gòu),可以純熟的操作運(yùn)算器面板上的按鍵,在實(shí)驗(yàn)過(guò)程中,也碰到了些問(wèn)題,比如剛開(kāi)始沒(méi)能設(shè)立好Microswitch開(kāi)關(guān)中相關(guān)信號(hào)的位置,尚有對(duì)于什么時(shí)候該按“START”和“RESET”沒(méi)有弄清楚。但是,通過(guò)不斷地摸索與調(diào)試,最
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工地教育手冊(cè)講解
- 登封事故案例分析講解
- 消防安全解說(shuō)詞模板
- 消防安全標(biāo)識(shí)識(shí)別
- 電銷溝通技巧話術(shù)
- 2025年數(shù)據(jù)挖掘填空題庫(kù)及答案
- 平安測(cè)評(píng)題庫(kù)及答案
- 2025年醫(yī)院考試題簡(jiǎn)答題及答案
- 2025年史學(xué)概論復(fù)試真題及答案
- 安全生產(chǎn)創(chuàng)意宣傳講解
- 江蘇省鹽城市東臺(tái)市2024-2025學(xué)年六年級(jí)上學(xué)期期末考試英語(yǔ)試題
- 鐵塔冰凍應(yīng)急預(yù)案
- 文物復(fù)仿制合同協(xié)議
- 大貨車司機(jī)管理制度
- 主人翁精神課件
- 2025年1月浙江省高考技術(shù)試卷真題(含答案)
- 【低空經(jīng)濟(jì)】低空經(jīng)濟(jì)校企合作方案
- 第十單元快樂(lè)每一天第20課把握情緒主旋律【我的情緒我做主:玩轉(zhuǎn)情緒主旋律】課件+2025-2026學(xué)年北師大版(2015)心理健康七年級(jí)全一冊(cè)
- 家具制造行業(yè)企業(yè)專用檢查表
- 以租代購(gòu)房子合同范本
- 脊柱內(nèi)鏡課件
評(píng)論
0/150
提交評(píng)論