




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 計算機組成原理實驗報告評語:課中檢查完成的題號及題數(shù): 課后完成的題號與題數(shù):成績:指導(dǎo)教師:實驗報告實驗名稱:基于硬布線控制器設(shè)計并實現(xiàn)帶中斷功能的復(fù)雜模型機日期:2011-1-12班級:學(xué)號:姓名:一、實驗?zāi)康模?.掌握硬布線控制器的組成原理、設(shè)計方法;2.了解硬布線控制器和微程序控制器的各自優(yōu)缺點;3.掌握并會設(shè)計帶中斷功能的復(fù)雜模型機的硬布線控制器。二、實驗內(nèi)容:1.根據(jù)帶中斷功能的復(fù)雜模型機的微程序流圖,畫出狀態(tài)機描述圖;2.分析每個狀態(tài)所需的控制信號,產(chǎn)生控制信號表,并用VHDL語言來設(shè)計程序,實現(xiàn)狀態(tài)機描述的功能;3.用Quartus軟件進行編譯鏈接,選擇器件,定義管腳,編程下
2、載,然后用CM3P聯(lián)機測試每一條機器指令的功能。 三、項目要求及分析: 實驗要求設(shè)計帶中斷功能的復(fù)雜模型機的硬布線控制器,可先參照前面帶中斷處理能力的模型機設(shè)計實驗畫出微程序流程圖,參照二進制微代碼表設(shè)控制信號表。然后用VHDL語言編程實現(xiàn),主要注意原PP的修改,采用分支語句實現(xiàn)。然后就是連線裝載帶中斷處理能力的模型機微程序檢驗。 四、具體實現(xiàn): 應(yīng)包括:狀態(tài)圖、控制信號表、控制引腳圖、VHDL程序、機器碼驗證程序等。1、狀態(tài)圖: 2、控制狀態(tài)表:INTA/WR/RD/IOM/S3/S2/S1/S0/LDA/LDB/LDR0/LDSP/L0AD/LDAR/LDIR/ALUB/RSB/RDB/R
3、IB/SPB/PCB/LDPC/STI/CLIS0 100000000000100111111010S1 100000000000100111111011S2 100000000000110111110111S3 101000000000101111111011S4 100000000100100101111011S5100010010010100011111011S6100000000100100101111011S7 100000100010100011111011S8101000000000110111111011S9101100000010100111111011S1010100000
4、0000110111111011S11100000000000100111111011S12101000000010100111111011S13110000000000100110111011S14100000000000000011111111S15100000000000100111111011S16110100000000100101111011S17101000000010100111111011S18110000000000100101111011S19100000001000100111101011S20100011010001100011111011S2110001100000
5、1100011111011S22100000000000110111101011S23101000000010100111111011S24100011000001100011111011S25100000000000110111101011S26101000000000000111111111S27100000000000000011111111S28101000001000100111111011S29101000000000110111111011S30101000000000110111111011S31101000001000100111111011S3210100000000011
6、0111111011S33000000000000110111101011S34110000000000100111110011S35100000001000100111101011S36100011010001100011111011S37000000000000110111111011S38101000000000000111111111S39101000001000100111111011S40100000000100100111011011S41100010010000110011111011S42100010011000100011111011S4310100000100010011
7、1111011S44100000000100100111110011S45100010010000110011111011S46100010011000100011111011S47100000001000100110111011S48100000001000100110111011S49100000000000110111110111S50100000000000110111110111S51100000000010100101111011S52100000000000100111111011S53100000000000110111110111S5410000000000010011111
8、1001S55100000000000100111111010S56100000000000110111101011S57100000001000100111101011S58100000001000100111101011S59100000000000110111110111S60100000000000110111110111S61100000000000110111110111S621000000000001101111101113、控制引腳圖:五、調(diào)試運行結(jié)果: 4、VHDL程序:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY CONTR
9、OLLER ISPORT(RESET: INSTD_LOGIC;T1: INSTD_LOGIC;INTR : IN STD_LOGIC;INS : INSTD_LOGIC_VECTOR(7 DOWNTO 0);CTRL : OUTSTD_LOGIC_VECTOR(23 DOWNTO 0);END CONTROLLER;ARCHITECTURE CONTROLLER_ARCH OF CONTROLLER ISTYPE STATE IS (S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S2
10、2,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,S49,S50,S51,S52,S53,S54,S55,S56,S57,S58,S59,S60,S61,S62);SIGNAL CUFSM: STATE;-CTRL:INTA,WR,RD,IOM,S3,S2,S1,S0,LDA,LDB,LDRI,LDSP,LOAD,LDAR,LDIR,ALU_B,RS_B,RD_B,RI_B,SP_B,PC_B,LDPC,STI,CLIBEGINPRO
11、CESS (T1,RESET,INTR,INS)BEGINIF RESET = 0 THEN CTRL = 100000000000100111111010; -CLICUFSM CTRL = 100000000000100111111011; -中斷判斷CUFSM IF INTR=1 THEN CTRL BUS,BUS-ACUFSM = S33;ELSE CTRL = 100000000000110111110111; CUFSM CTRL = 110000000000100111110011; CUFSM CTRL = 100000001000100111101011; CUFSM CTR
12、L = 100011010001100011111011; CUFSM CTRL = 000000000000110111111011; CUFSM CTRL = 101000000000000111111111; CUFSM CTRL = 100000000000110111110111; CUFSM CTRL = 101000000000101111111011; CUFSM IF INS(7 downto 4) = 0000 THEN -ADD INSCTRL = 100000001000100110111011; CUFSM = S47;ELSIF INS(7 downto 4) =
13、0001 THEN -AND INSCTRL = 100000001000100110111011; CUFSM = S48;ELSIF INS(7 downto 4) = 0010 THEN - IN INSCTRL = 100000000000110111110111; CUFSM = S49;ELSIF INS(7 downto 4) = 0011 THEN -OUT INSCTRL = 100000000000110111110111; CUFSM = S50;ELSIF INS(7 downto 4) = 0100 THEN - MOV INSCTRL = 1000000000101
14、00101111011; CUFSM = S51;ELSIF INS(7 downto 4) = 0101 THEN - HLT INSCTRL = 100000000000100111111011; CUFSM = S52;ELSIF INS(7 downto 4) = 0110 THEN - LDI INSCTRL = 100000000000110111110111; CUFSM = S53;ELSIF INS(7 downto 4)= 0111 THEN - STI INSCTRL = 100000000000100111111001; CUFSM = S54;ELSIF INS(7
15、downto 4) = 1000 THEN - CLI INSCTRL = 100000000000100111111010; CUFSM = S55;ELSIF INS(7 downto 4) = 1001 THEN - PUSH INSCTRL = 100000000000110111101011; CUFSM = S56;ELSIF INS(7 downto 4) = 1010 THEN - POP INSCTRL = 100000001000100111101011; CUFSM = S57;ELSIF INS(7 downto 4) = 1011 THEN - INET INSCTR
16、L = 100000001000100111101011; CUFSM = S58;ELSIF INS(7 downto 6) = 11 AND INS(3 downto 2) = 00 THEN - 直接 INSCTRL = 100000000000110111110111; CUFSM = S59;ELSIF INS(7 downto 6) = 11 AND INS(3 downto 2) = 01 THEN - 間接 INSCTRL = 100000000000110111110111; CUFSM = S60;ELSIF INS(7 downto 6) = 11 AND INS(3 d
17、ownto 2) = 10 THEN - 變址 INSCTRL = 100000000000110111110111; CUFSM = S61;ELSIF INS(7 downto 6) = 11 AND INS(3 downto 2) = 11 THEN - 相對 INSCTRL = 100000000000110111110111; CUFSM CTRL = 100000000100100101111011; CUFSM CTRL = 100010010010100011111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL =
18、100000000100100101111011; CUFSM CTRL = 100000100010100011111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 101000000000110111111011; CUFSM CTRL = 101100000010100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 101000000000110111111011; CUFSM CTRL = 110100000000100101111011; C
19、UFSM CTRL = 100000000000100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 101000000010100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 110000000000100
20、101111011; CUFSM CTRL = 100000001000100111101011; CUFSM CTRL = 100011010001100011111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 100011000001100011111011; CUFSM CTRL = 100000000000110111101011; CUFSM CTRL = 101000000010100111111011; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 100
21、011000001100011111011; CUFSM CTRL = 100000000000110111101011; CUFSM CTRL = 101000000000000111111111; CUFSM CTRL = 100000000000100111111011; CUFSM CTRL = 101000001000100111111011; CUFSM CTRL = 101000000000110111111011; CUFSM CTRL = 101000000000110111111011; CUFSM CTRL = 101000001000100111111011; CUFS
22、M CTRL = 101000000000110111111011; CUFSM CTRL = 101000001000100111111011; CUFSM CTRL = 100000000100100111011011; CUFSM CTRL = 100010010000110011111011; CUFSM CTRL = 100010011000100011111011; CUFSM CTRL = 101000001000100111111011; CUFSM CTRL = 100000000100100111110011; CUFSM CTRL = 100010010000110011
23、111011; CUFSM CTRL = 100010011000100011111011; CUFSM IF INS(7 downto 4) = 1100 THEN CTRL = 101000000010100111111011; CUFSM = S12;ELSIF INS(7 downto 4) = 1101 THEN CTRL = 110000000000100110111011; CUFSM = S13;ELSIF INS(7 downto 4) = 1110 THEN CTRL = 100000000000000011111111; CUFSM = S14;ELSIF INS(7 d
24、ownto 4) = 1111 THEN CTRL = 100000000000100111111011; CUFSM IF INS(7 downto 4) = 1100 THEN CTRL = 101000000010100111111011; CUFSM = S12;ELSIF INS(7 downto 4) = 1101 THEN CTRL = 110000000000100110111011; CUFSM = S13;ELSIF INS(7 downto 4) = 1110 THEN CTRL = 100000000000000011111111; CUFSM = S14;ELSIF
25、INS(7 downto 4) = 1111 THEN CTRL = 100000000000100111111011; CUFSM IF INS(7 downto 4) = 1100 THEN CTRL = 101000000010100111111011; CUFSM = S12;ELSIF INS(7 downto 4) = 1101 THEN CTRL = 110000000000100110111011; CUFSM = S13;ELSIF INS(7 downto 4) = 1110 THEN CTRL = 100000000000000011111111; CUFSM = S14
26、;ELSIF INS(7 downto 4) = 1111 THEN CTRL = 100000000000100111111011; CUFSM IF INS(7 downto 4) = 1100 THEN CTRL = 101000000010100111111011; CUFSM = S12;ELSIF INS(7 downto 4) = 1101 THEN CTRL = 110000000000100110111011; CUFSM = S13;ELSIF INS(7 downto 4) = 1110 THEN CTRL = 100000000000000011111111; CUFS
27、M = S14;ELSIF INS(7 downto 4) = 1111 THEN CTRL = 100000000000100111111011; CUFSM CTRL BUS,BUS-BCUFSM CTRL BUS,BUS-BCUFSM CTRL BUS,BUS-BCUFSM IF INS = 00000000 THEN CTRL = 100000000000100111111011; CUFSM = S11;ELSIF INS = 10000000 THEN CTRL = 100000000000000011111111; CUFSM CTRL BUS,BUS-BCUFSM CTRL B
28、US,BUS-BCUFSM = S1;END CASE;END IF;END PROCESS;END CONTROLLER_ARCH ;5、機器碼驗證程序: $P 00 60 ; LDI R0,13H 將立即數(shù)13裝入R0 $P 01 13 $P 02 30 ; OUT C0H,R0 將R0中的內(nèi)容寫入端口C0中,即寫 $P 03 C0 ; ICW1,邊沿觸發(fā),單片模式,需要ICW4 $P 04 60 ; LDI R0,30H 將立即數(shù)30裝入R0 $P 05 30 $P 06 30 ; OUT C1H,R0 將R0中的內(nèi)容寫入端口C1中,即寫 $P 07 C1 ; ICW2,中斷向量為30-37 $P 08 60 ; LDI R0,03H 將立即數(shù)03裝入R0 $P 09 03 $P 0A 30 ; OUT C1H,R0 將R0中的內(nèi)容寫入端口C1中,即寫 $P 0B C1 ; ICW4,非緩沖,86模式,自動EOI $P 0C 60 ; LDI R0,FEH 將立即數(shù)FE裝入R0
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人優(yōu)點總結(jié)20篇
- 下半年個人工作計劃
- 中醫(yī)康復(fù)治療技術(shù)模擬練習(xí)題(含參考答案)
- 游泳救生員初級題庫與參考答案
- 推拿治療學(xué)試題含答案
- 一通三防工作總結(jié)
- 買房同中介合同范本
- 口罩購銷合同范本模板
- 出售混凝土檁條合同范本
- 住宅小區(qū)車位轉(zhuǎn)讓合同范本
- 2025年棗莊科技職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 護苗行動安全教育課件
- 2024年山西同文職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 油品庫房管理規(guī)定(2篇)
- 礦山工程安全培訓(xùn)課件
- 2025年月度工作日歷含農(nóng)歷節(jié)假日電子表格版
- 2024年長沙民政職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 2024年精對苯二甲酸市場分析報告
- 成人手術(shù)后疼痛評估與護理團體標(biāo)準(zhǔn)
- 2025年中考數(shù)學(xué)二輪專題復(fù)習(xí) 題型四-二次函數(shù)圖象與性質(zhì)綜合題
- 【數(shù)學(xué)】一元一次方程的應(yīng)用第2課時盈不足問題課件-2024-2025學(xué)年北師大版數(shù)學(xué)七年級上冊
評論
0/150
提交評論