




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 基本模型機的設(shè)計與實現(xiàn)課程設(shè)計報告一、實驗基本任務(wù)1、由基本單元電路構(gòu)成一臺基本模型機。2、設(shè)計五條機器指令,并編寫相應(yīng)的微程序。3、調(diào)試指令和模型機使其在微程序的控制下自動產(chǎn)生各部件單元的控制信號正常工作。二、設(shè)計方案1、硬件設(shè)計(1)設(shè)計微程序控制電路 微程序控制器的組成:控制存儲器:EPROM2816*3,8D觸發(fā)器74ls273*2,4D觸發(fā)器74ls74*3;微指令寄存器格式:18位微指令,6位微地址。(2)設(shè)計時鐘信號源和時序控制電路 時鐘信號源的組成:時基電路555,可觸發(fā)單穩(wěn)態(tài)多諧振蕩器74ls237*2,輸出頻率為330-580Hz的方波信號。 時序控制電路:4D觸發(fā)器74
2、ls175*1組成移位寄存器電路。(3)設(shè)計主存儲器 主存電路的組成:6264存儲器(8K*8位)*3,地址寄存器:74ls273*1,三態(tài)門:74ls245*1。 2、微控制設(shè)計(1)實現(xiàn)存儲器讀操作; 撥動總清開關(guān)后,置控制開關(guān)SWC、SWA為“0 0”時,按要求連線后,連續(xù)按動“啟動運行”開關(guān),可對主存儲器RAM連續(xù)手動讀操作。(2)實現(xiàn)存儲器寫操作; 撥動總清開關(guān)后,置控制開關(guān)SWC、SWA為“0 1”時,按要求連線后,再按動“啟動運行”開關(guān),可對主存儲器RAM連續(xù)手動寫入。(3)實現(xiàn)程序運行操作。 撥動總清開關(guān)后,置控制開關(guān)SWC、SWA為“1 1”時,按要求連線后,再按動“啟動運行
3、”開關(guān),即可轉(zhuǎn)入到第01號“取址”微指令,啟動程序運行。 3、機器指令設(shè)計 (1)輸入指令:in;輸入外部開關(guān)量的狀態(tài),送入寄存器R0。 (2)二進制加法指令:add addr; (3)存數(shù)指令:sta addr; (4)輸出指令:out addr; (5)無條件轉(zhuǎn)移指令:jmp addr; 三、設(shè)計電路原理圖 (說明各器件的功能作用) 設(shè)計電路原理圖如圖1所示: 圖l 數(shù)據(jù)通路框圖 四、系統(tǒng)原理圖 (說明整機的工作過程) 系統(tǒng)原理圖如附圖1所示。 部件實驗過程中,各部件單元的控制信號是認為模擬產(chǎn)生的,而本次實驗將能在微程序控制下自動產(chǎn)生各部件單元控制信號,實現(xiàn)特定指令的功能。這里,實驗計算機
4、數(shù)據(jù)通路的控制將由微程序控制器開完成,CPU從內(nèi)存中取出一條機器只到指令執(zhí)行結(jié)束的一個指令周期全部由微指令組成的序列來完成,即一條機器指令對應(yīng)一個微程序。 1、有關(guān)微控制器部分在算術(shù)運算實驗中以詳細介紹。 2、處存儲器的讀、寫和運行 為了想主存儲器的RAM中裝入程序或數(shù)據(jù),并且檢查寫入是否正確以及能運行主存儲器中的程序,必須設(shè)計三個控制操作微程序。 存儲器讀操作:撥動總清開關(guān)后,置控制開關(guān)SWC、SWA為“0 0”時,按要求連線后,連續(xù)按動“啟動運行”開關(guān),可對主存儲器RAM連續(xù)手動讀操作。 存儲器寫操作:撥動總清開關(guān)后,置控制開關(guān)SWC、SWA為“0 1”時,按要求連線后,再按動“啟動運行”
5、開關(guān),可對主存儲器RAM連續(xù)手動寫入。 運行程序:撥動總清開關(guān)后,置控制開關(guān)SWC、SWA為“1 1”時,按要求連線后,再按動“啟動運行”開關(guān),即可轉(zhuǎn)入到第01號“取址”微指令,啟動程序運行。 上述三條控制指令用兩個開關(guān)SWC、SWA的狀態(tài)來設(shè)置,其定義如下: SWC SWA 控制臺指令 0 0 1 0 1 1 讀內(nèi)存 寫內(nèi)存 啟動程序 根據(jù)以上要求設(shè)計數(shù)據(jù)通路框圖,如圖1所示。微代碼定義如表1所示。 表1 基本模型機微指令結(jié)構(gòu)圖微程序 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 控制信號 S3 S2 S1 S0
6、 M CN RD M17 M16 A B P uA5 uA4 uA3 uA2 uA1 uA0 A字段 B字段 P字段 15 14 13 控制信號 12 11 10 控制信號 9 8 7 控制信號 0 0 0 0 0 0 0 0 0 0 0 1 LDRI 0 0 1 RS_G 0 0 1 P1 0 1 0 LDDR1 0 1 0 0 1 0 0 1 1 LDDR2 0 1 1 0 1 1 1 0 0 LDIR 1 0 0 1 0 0 P4 1 0 1 LOAD 1 0 1 ALU_G 1 0 1 1 1 0 LDAR 1 1 0 PC_G 1 1 0 LDPC 系統(tǒng)涉及到的微程序流程見圖2,當(dāng)擬
7、定“取指令”微指令時,該微指令的判別測試字段為P1測試。由于“取指令”微指令是所有微程序都使用的公用微指令,因此P1的測試結(jié)果出現(xiàn)多路分支。本機用指令寄存器的高4位(I7I4操作碼)作為測試條件,出現(xiàn)5路分支,占用5個固定微地址單元。控制臺操作為P4測試,它以控制臺開關(guān)SWB、SWA作為測試條件,出現(xiàn)了3路分支,占用3個固定微地址單元。當(dāng)分支微地址單元固定后,剩下的其它地方就可以一條微指令占用一個微地址單元隨意填寫。當(dāng)全部微程序設(shè)計完畢后,應(yīng)將每條微指令代碼化,表2即為圖2的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進制微代碼表”。圖2 微程序流程圖 表2 二進制代碼表 本系統(tǒng)有兩種外部I/O設(shè)備
8、,一種是二進制數(shù)碼開關(guān),作為輸入設(shè)備(INPUT);另一種是兩位十六進制數(shù)LED數(shù)碼管,作為輸出設(shè)備(OUTPUT UNIT)。在輸入時,二進制開關(guān)數(shù)據(jù)直接經(jīng)過三態(tài)門送到總線上。只要開關(guān)狀態(tài)不變,輸入的信息也不變。輸出時,將輸出數(shù)據(jù)送到數(shù)據(jù)總線上,當(dāng)寫信號(WE)有效時,將數(shù)據(jù)打入輸出鎖存器,驅(qū)動數(shù)碼塊顯示。 3、指令寄存器介紹 指令寄存器用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時,先把它從內(nèi)存取到緩沖寄存器,然后再傳送到指令寄存器。指令劃分為操作碼和地址碼字段,由二進制構(gòu)成,為了執(zhí)行任何一條給定的指令,必須對操作碼進行測試P(1),通過節(jié)拍脈沖T4的控制以便識別所要求的操作。“指令譯碼
9、器”根據(jù)指令的操作碼進行譯碼,強置微控制單元的微地址,使下一條微指令指向相應(yīng)的微程序首地址。 4、輸入/輸出設(shè)備 本系統(tǒng)有兩種外部I/O設(shè)備,一種是二進制代碼開關(guān)KD0KD7,它作為輸入設(shè)備INPUT;另一種是數(shù)碼顯示塊,它作為輸出設(shè)備OUTPUT。例如:輸入時,二進制開關(guān)數(shù)據(jù)直接經(jīng)過三態(tài)門送到外部數(shù)據(jù)總線上,只要開關(guān)狀態(tài)不變,輸入的信息也不變。輸出時,將輸出數(shù)據(jù)送到外部數(shù)據(jù)總線上,當(dāng)寫信號(W/R)有效時,將數(shù)據(jù)打入輸入鎖存器,驅(qū)動數(shù)碼塊顯示。 5、設(shè)計指令 根據(jù)基本模型機的硬件設(shè)計五條機器指令:外部輸入指令I(lǐng)N、二進制加法指令A(yù)DD、存數(shù)指令STA、輸出到外設(shè)指令OUT、無條件轉(zhuǎn)移指令JM
10、P。指令格式入下: 助記符 機器指令碼 說明IN 0000 0000 ;“外部開關(guān)量輸入”KD0KD7的開關(guān)狀態(tài)R0ADD addr 0001 0000 ×××× ×××× ;R0+addr R0STA addr 0010 0000 ×××× ×××× ;R0addrOUT addr 0011 0000 ×××× ×××× ;addr BUSJMP addr
11、 0100 0000 ×××× ×××× ;ADDR PC 說明: 指令I(lǐng)N為單字節(jié)指令,其余均為雙字節(jié)指令,××××××××addr對應(yīng)的主存儲器二進制地址碼。 6、基本模型機監(jiān)控軟件的設(shè)計 本模型機監(jiān)控軟件設(shè)計主要完成從輸入設(shè)備讀入數(shù)據(jù),進行簡單算術(shù)運算后,將結(jié)果存入內(nèi)存的某個單元,最后通過輸出設(shè)備輸出結(jié)果。 監(jiān)控軟件詳細如下: 地 址 內(nèi) 容 助記符 說 明0000 0000 0000 0000 IN ;“INPUT DEVICE
12、” R0 0000 0001 0001 0000 ADD0AH ;R0+0AH R00000 0010 0000 1010 0000 0011 0010 0000 STA0BH ;R00BH0000 0100 0000 10110000 0101 0011 0000 OUT0BH ;0BH BUS0000 0110 0000 10110000 0111 0100 0000 JMP00H ;00HPC0000 1000 0000 00000000 10010000 1010 0000 0001 ;自定義參加運算的數(shù)0000 1011 ;求和結(jié)果存放單元 五、實驗步驟 1. 根據(jù)該模型機的指令系統(tǒng)
13、,編寫一段程序。這里給出兩個參考程序。參考程序一:本程序從輸入設(shè)備(數(shù)碼開關(guān))取入數(shù)據(jù),保存在內(nèi)存單元08,然后從08單元送到輸出設(shè)備(LED數(shù)碼管)進行顯示。每次循環(huán)過程中,可以使輸入設(shè)備數(shù)據(jù)改變,考察輸出顯示的結(jié)果(請實驗者考慮:如何修改程序,使程序只執(zhí)行一次從輸入設(shè)備取出數(shù)據(jù),送出輸出設(shè)備顯示)。設(shè)計機器指令程序如下(機器碼和地址為十六進制數(shù)據(jù))。地址 內(nèi) 容 助記符 說 明00 00 IN ;輸入開關(guān)數(shù)據(jù)R001 20 STA 08H ;R00802 08 ;地址03 30 OUT 08H ;08H BUS04 08 ;地址05 40 JMP 00H ;00HPC06 00 ;跳轉(zhuǎn)地址
14、參考程序二:本程序從輸入設(shè)備(數(shù)碼開關(guān))讀入數(shù)據(jù),與0A單元的數(shù)據(jù)相加,然后送到輸出設(shè)備(LED數(shù)碼管)進行顯示。本程序不斷地循環(huán)運行,在運行中可改變輸入開關(guān)(INPUT)的值,觀察輸出顯示的變化。設(shè)計機器指令程序如下(機器碼和地址為十六進制數(shù)據(jù))。地 址 內(nèi) 容 助記符 說 明00 00 IN ;輸入開關(guān)數(shù)據(jù)R0,采集數(shù)據(jù)01 10 ADD 0AH ;R00AHR0,輸入數(shù)據(jù)與指定數(shù)據(jù)相加02 0A ;地址03 20 STA 0BH ;R00B04 0B ;地址05 30 OUT 0BH ;0BH BUS,輸出顯示06 0B ;地址07 40 JMP 00H ;00HPC08 00 ;跳轉(zhuǎn)地
15、址0A 01 ;加數(shù),可自定0B ;求和結(jié)果保存在0B單元2.連接實驗線路3. 寫程序?qū)τ诒緦嶒炏淇梢杂脙煞N方法來寫入程序。方法一:聯(lián)機讀/寫程序按照規(guī)定格式,將機器指令及表2-2微指令二進制表編輯成十六進制的規(guī)定格式文件。微指令格式中的微指令代碼為將表2-2中的24位微代碼按從左到右分成3個8位,將此三個8位二進制代碼化為相應(yīng)的十六進制數(shù)即可。使用聯(lián)機軟件的文件裝載將實驗程序和微程序下載到實驗箱中,并用軟件的讀出功能進行檢查。其中參考程序一對應(yīng)的文件名為“基本模型機1.TXT”,參考程序二對應(yīng)的文件名為“基本模型機2.TXT”(聯(lián)機軟件的使用方法參看附錄2)。方法二:手動寫入(1)先將機器指
16、令對應(yīng)的微代碼正確地寫入28C16中,由于在實驗1.7微程序控制器的組成與微程序設(shè)計實驗中已將微代碼寫入E2PR0M芯片中,對照表2-5校驗正確后就可使用。(2)使用控制臺WRITE和READ微程序進行機器指令程序的裝入和檢查,其操作如下:A. 使SIGNAL UNIT單元的SP03為“STEP”狀態(tài),SP04為“RUN”狀態(tài),CONTROLUNIT的開關(guān)SP05處于“NORM”狀態(tài),開關(guān)SP06處于“RUN” 狀態(tài)。B. 撥動開關(guān)單元的總清開關(guān)CLR(1à0à1),微地址寄存器清零,程序計數(shù)器清零。然后使開關(guān)單元的SWB、SWA開關(guān)設(shè)置為“01”,按動一次控制臺單元的觸動
17、開關(guān)START,微地址顯示燈顯示“010001”,再按動一次START,微地址燈顯示“010100”,此時數(shù)據(jù)開關(guān)的內(nèi)容(輸入單元)置為要寫入的機器指令的內(nèi)容,按動兩次START鍵后,即完成該條指令的寫入。若仔細閱讀WRITE的流程,就不難發(fā)現(xiàn),機器指令的首地址總清后為零,以后每個循環(huán)PC會自動加1。所以,每次按動START,只有在微地址燈顯示“010100”時,才設(shè)置內(nèi)容,直到所有機器指令寫完。C. 校驗。撥動SWITCH單元的總清開關(guān)CLR(1à0à1),微地址清零。PC程序計數(shù) 器清零,然后使SWITCH單元的開關(guān)SWB、SWA為“00”,按動CONTROL UNIT
18、的觸動開關(guān)START,微地址燈將顯示“010000”,再按START,微地址燈顯示為“010010”,第三次按START,微地址燈顯示為“010111”,再按START后,此時OUTPUT單元的數(shù)碼管顯示為該首地址中的內(nèi)容。不斷按動START,以后每個循環(huán)PC會自動加1,可檢查后續(xù)單元內(nèi)容。每次在微地址燈顯示為“010000”時,是將當(dāng)前地址中的機器指令寫入到輸出設(shè)備中顯示。參考程序一的機器指令:$P0000$P0120$P0208$P0330$P0408$P0540$P0600 參考程序二的機器指令:$P0000$P0110$P020A$P0320$P040B$P0530$P060B$P07
19、40$P0800$P0A01微程序(以上兩程序公用):$M00018110$M0101ED82$M0200C048$M0300E004$M0400B005$M0501A206$M06959A01$M0700E00D$M08001001$M0901ED83$M0A01ED87$M0B01ED8E$M0C01ED96$M0D028201$M0E00E00F$M0F00A015$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M15070A01$M1600D181$M17070A10$M18068A114. 運行程序方法一:聯(lián)機運行程序首先使各個開
20、關(guān)的狀態(tài)為:SIGNAL UNIT中的SP03開關(guān)設(shè)置為“STEP”狀態(tài),SP04開關(guān)設(shè)置為“RUN”狀態(tài);CONTROL UNIT的開關(guān)SP05處于“NORM”狀態(tài), SP06處于“RUN” 狀態(tài);SWITCH單元的開關(guān)SWB、SWA為“11”。使SWITCH單元的總清開關(guān)CLR(1à0à1)清零后,程序首址為00H。通過聯(lián)機軟件進入調(diào)試界面(其操作方法參見附錄2系統(tǒng)聯(lián)機操作軟件說明),可以通過調(diào)試程序的操作界面控制程序的運行,同時觀察運行過程和結(jié)果。方法二:手動運行程序(1)單步運行程序A. 使CONTROL UNIT的開關(guān)SP05處于“NORM”狀態(tài), SP06處于“
21、RUN”狀態(tài),SIGNAL UNIT中的SP03為“STEP”狀態(tài),SP04為“RUN”狀態(tài),SWITCH單元的開關(guān)SWB、SWA為“11”。B. 撥動SWITCH單元的總清開關(guān)CLR(1à0à1),微地址清零,程序計數(shù)器清零,程序首址為00H。C. 單步運行微指令,每按動一次CONTROL UNIT的START觸動開關(guān),即單步運行一條微指令。對照微程序流程圖2-2,觀察微地址顯示燈MA5-MA0是否和流程一致。D. 當(dāng)運行結(jié)束后,可檢查運行結(jié)果是否和理論值一致。如果運行結(jié)果保存在RAM的某一個單元中,則可以使用手動寫入中的校驗方法將其讀出。(2)連續(xù)運行程序A. 使CON
22、TROL UNIT的開關(guān)SP05處于“NORM”狀態(tài), SP06處于“RUN”狀態(tài),SIGNAL UNIT中的SP03為“RUN”狀態(tài),SP04為“RUN”狀態(tài),SWITCH單元的開關(guān)SWB、SWA為“11”。B. 撥動SWITCH單元的總清開關(guān)CLR(1à0à1),微地址及程序計數(shù)器清零,然后按動CONTROL UNIT的START觸動開關(guān),系統(tǒng)連續(xù)運行程序,稍后將SIGNAL UNIT中的SP04撥至“STOP”時,系統(tǒng)停機。C. 停機后,可檢查運行結(jié)果是否正確。如果運行結(jié)果保存在RAM的某一個單元中,則可以使用手動寫入中的校驗方法將其讀出。 六、實驗結(jié)果 首先驗證微控
23、制器的存儲特性。將編程開關(guān)置為“寫入”狀態(tài),寫入如表2微地址為060D的微代碼。每寫入一條指令,按一下“啟動運行”開關(guān)。再將微地址和總清開關(guān)置0,編程開關(guān)置為“讀”狀態(tài),即可驗證是否存儲正確。若有錯誤,則需檢查連線或者是重新輸入。經(jīng)實驗,成功顯示。最后,將編程開關(guān)置為“運行”狀態(tài),即可運行我們寫入的微程序。經(jīng)實驗,結(jié)果顯示正確。 七、實驗心得通過緊張有序的兩天的課程設(shè)計實踐,不僅讓我對計算機的基本組成、簡單運算器的數(shù)據(jù)傳送通路組成、靜態(tài)隨機存取存儲器RAM工作特性及數(shù)據(jù)的讀寫方法、時序信號發(fā)生電路組成原理、微程序控制器的設(shè)計思想和組成原理、微程序的編制、寫入過程有了進一步的了解, 也讓我覺得自己的動手能力有了很大
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1998年以來中國的積極財政政策及其效果評析
- 第三批先進性教育活動試點分析評析階段動員大會講話
- 成都購房合同:農(nóng)村集體建設(shè)用地購買流程
- 水利設(shè)施測繪技術(shù)員勞動合同書
- 城市基礎(chǔ)設(shè)施建設(shè)拆遷補償與房屋分配協(xié)議
- 餐飲店合伙人風(fēng)險共擔(dān)協(xié)議
- 網(wǎng)絡(luò)安全企業(yè)實習(xí)生網(wǎng)絡(luò)安全技術(shù)實習(xí)協(xié)議
- 拆除工程環(huán)保責(zé)任協(xié)議書
- 高端商務(wù)寫字樓場地租賃與物業(yè)服務(wù)合同
- 癌癥護理查房
- 江蘇省常州市新北區(qū)外國語學(xué)校2025屆英語七下期末考試試題含答案
- 2025年船舶駕駛員考試試卷及答案
- Unit 8 Once upon a Time Section A 1a-1e Pronunciation 課件 2024-2025學(xué)年英語人教版7年級下冊
- 2025版?zhèn)€人借款合同模板下載
- 山東省濰坊市2025屆(年)高三高考模擬考試物理試題及答案(濰坊三模)
- 制造部生產(chǎn)效率提升計劃
- 寵物丟失諒解協(xié)議書
- 幼兒園中班科學(xué)活動公開課《飛機本領(lǐng)大》課件
- 小學(xué)體育教學(xué)案例
- 2025注冊結(jié)構(gòu)工程師考試高層建筑結(jié)構(gòu)設(shè)計規(guī)范應(yīng)用試題
- 2025年天津市西青區(qū)九年級二模數(shù)學(xué)試題(含部分答案)
評論
0/150
提交評論