




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機系統(tǒng)結構實驗系列一、微程序版CPU二、硬布線版CPU三、流水線版CPU四、嵌套中斷CPUlaixz@QQ:68046508(二)硬布線版CPU實驗實驗內容:●設計一個硬布線版本CPU:在功能上完全兼容前述的微程序版本CPU:數(shù)據(jù)通路相同,指令體系相同,不同之處在于改用硬布線邏輯電路產(chǎn)生各時序階段的微操作信號,取代了微程序控制器。在硬布線CPU上驗證微程序版本CPU的指令程序。實驗目的:●掌握基于硬布線控制器的CPU設計原理?!窭斫鈾C器指令的硬布線邏輯實現(xiàn)方法。硬布線版CPU電路圖一、系統(tǒng)指令:匯編語言功能I7I6I5I4I3I2I1I0NOP;無操作(延時4個T)00000/0x/0HLT;停機(斷點)00000/0x/1IRET;中斷返回BP_PCPC;BP_PSWPSW01110/0x/x匯編語言注釋I7I6I5I4I3I2I1I0MOVRA,RB;(RB)RA0110RARBSETRA,IMM;IMMRA0011RAx/xIMM二、寄存器及I/O操作指令:匯編語言功能I7I6I5I4I3I2I1I0INRA,PORTx;(PORTx)RA0100RAPORTxOUTRA,PORTx;(RA)PORTx0101RA0/PORTxOUTARA,PORTx;(RA)PORTx0101RA1/PORTx匯編語言功能I7I6I5I4I3I2I1I0LADRA,[ADDR];[ADDR]RA1000RA0/0ADDRPOPRA,[RB];[RB]RA1000RARBSTORA,[ADDR];(RA)[ADDR]1001RA0/0ADDRPUSHRA,[RB];(RA)[RB]1001RARB三、存儲器及堆棧操作指令:匯編語言功能I7I6I5I4I3I2I1I0JMPADDR;ADDRPC00010/00/0ADDRJMPRRB;(RB)PC00010/0RBJCADDR;IFCF=1,ADDRPC00010/10/0ADDRJCRRB;IFCF=1,(RB)PC00010/1RBJZADDR;IFZF=1,ADDRPC00011/00/0ADDRJZRRB;IFZF=1,(RB)PC00011/0RBJSADDR;IFSF=1,ADDRPC00011/10/0ADDRJSRRB;IFSF=1,(RB)PC00011/1RB四、跳轉系列指令:五、算術邏輯運算指令:匯編語言功能I7I6I5I4I3I2
I1I0RLCRA;(RA)右邏輯移位1010RA0/0LLCRA;(RA)左邏輯移位1010RA1/0RRCRA;(RA)右循環(huán)移位1010RA0/1LRCRA;(RA)左循環(huán)移位1010RA1/1匯編語言功能I7I6I5I4I3I2I1I0INCRA;(RA)+1RA0010RA0/0DECRA;(RA)-1RA0010RA0/1NOTRA;#(RA)RA0010RA1/0THRRA;(RA)RA0010RA1/1初始化過程時鐘信號CLK接手動開關MANUAL,啟動仿真,使能復位信號#RESET=0;手動按鈕MANUAL開關“010”,然后令信號#RESET=1.注:初始化完成后,若時鐘信號CLK繼續(xù)接開關MANUAL,則CPU進入手動模式,手動MANUAL開關,生成時鐘信號CLK,程序單步執(zhí)行;若時鐘信號CLK接信號源AUTO-CLK(主頻10Hz),則CPU進入自動模式,程序自動運行,直到HLT指令的“斷點”處暫停。重啟過程(跳出“斷點”)時鐘信號CLK接開關MANUAL,手動令復位信號端#RESET的狀態(tài)“101”變化,即重啟完成,跳出“斷點”繼續(xù)執(zhí)行
。注:跳出“斷點”后,CPU進入HLT指令的后續(xù)下一條指令的取指周期。實驗步驟(子程序調用):1)在實際應用中,經(jīng)常需要多次用到某一段程序。為了避免重復編寫,節(jié)約內存空間,可以把該程序獨立出來,供主程序在需要的時候反復調用,這種程序稱為“子程序”。在本書的CPU指令集中缺少專門的子程序調用及返回指令。但是,因為子程序調用的位置是固定和可以預見的(與中斷的隨機出現(xiàn)不同);所以,可以采用跳轉系列指令來實現(xiàn)跳轉到子程序和從子程序返回的功能。2)在硬布線版CPU項目工程的子文件夾test里,存放著子程序示例SUB_PROG。其功能類似于匯編語言的“CALL”和“RET”語句,實現(xiàn)的功能是統(tǒng)計存儲器中一個數(shù)組包含了多少個正數(shù)、零和負數(shù)(所有數(shù)都用補碼形式表示),并把統(tǒng)計結果分別存放在寄存器R1(正數(shù))、R2(零)和R3(負數(shù))中。具體代碼如后頁所示。3)編譯、燒寫、自動運行SUB_PROG源程序,觀察自動運行過程中的“斷點”暫停時刻,寄存器R0、R1、R2和R3的數(shù)據(jù)變化。
匯編助記符(M地址:機器指令)JMP16H00H:0001000001H:0001011055H02H:01010101AAH03H:10101010FFH04H:1111111180H05H:100000000H06H:000000000FH07H:00001111OUTR0,PORT0;sub_p08H:01010000THRR009H:00100011JZ10H0AH:000110000BH:00010000SUB_PROG匯編助記符(M地址:機器指令)JS13H0CH:000111000DH:00010011JMP14H0EH:000100000FH:00010100INCR210H:00101000JMP14H11H:0001000012H:00010100INCR313H:00101100JMP21H;ret14H:0001000015H:00100001SETR3,0;main16H:0011110017H:00000000匯編助記符(M地址:機器指令)SETR2,018H:0011100019H:00000000SETR1,06H1AH:001101001BH:00000110HLT1CH:00000001INCR1;loop1DH:00100100POPR0,[R1]1EH:10000001JMP08H;callsub_p1FH:0001000020H:00001000SUBIR1,02H21H:1100010022H:00000010SUB_PROG匯編助記符(M地址:機器指令)JZ27H23H:0001100024H:00100111JMP1DH;gotoloop25H:0001000026H:00011101SETR1,06H27H:0011010028H:00000110SUBR1,R229H:11000110SUBR1,R32AH:11000111HLT2BH:00000001思考題:●在硬布線版本CPU中,可以采用軟件方法,通過跳轉指令JMP來實現(xiàn)子程序的調用及返回,也可以通過硬件電路實現(xiàn)類似功能。保持指令長度和OP碼位數(shù)不變,請設計硬件電路,實現(xiàn)從立即數(shù)/寄存器獲得跳轉地址的CALL和RET指令。
(提示:CALL指令與JMP指令可以共用OP碼0001,規(guī)定JMPR/JxR指令的地址來源只能是寄存器R1。修改跳轉系列指令格式,如下表所示:規(guī)定若指令I1I0=00,表示是雙字節(jié)JMP/Jx指令;若指令I1I0=01,表示是單字節(jié)JMPR/JxR指令;若指令I1I0=10,表示是雙字節(jié)的子程序調用指令CALL,子程序跳轉處“斷點”的保存地址是第二字節(jié)ADDR;若指令I1I0=11,表示是單字節(jié)的子程序調用指令CALLR,子程序跳轉處“斷點”的保存地址是寄存器R3。同樣的,在中斷子程序中,中斷返回指令IRET的I1I0=00;而在主程序中,可以規(guī)定子程序返回指令RET的I1I0=01。)(二)硬布線版CPU實驗匯編語言格式功能I7I6I5I4I3I2I1I0JMPADDR;ADDRPC00010/00/0ADDRJMPRR0;(R1)PC00010/00/1JxADDR;IFCF/ZF/SF=1,ADDRPC000101/10/110/0ADDRJxRR0;IFCF/ZF/SF=1,(R1)PC000101/10/110/1CALLADDR;PCBP_SUB且ADDRPC00010/01/0ADDRCALLRR0;PCBP_SUB且
(R3)PC00010/01/1IRET;中斷返回:BP_PCPC;BP_PSWPSW01110/00/0RET;子程序返回:BP_SUBPC01110/00/1跳轉、中斷返回及子程序調用系列指令注:子程序調用也需要設置一套與中斷電路類似的“斷點”寄存器BP_SUB,不能與中斷共用“斷點”,否則中斷的時候不允許調用子程序,子程序調用的時候不允許中斷。思考題:●在CPU指令集中,有條件跳轉指令Jx/JxR的跳轉條件是標志位CF/ZF/SF=1。但是,有時候需要標志位CF/ZF/SF=0時跳轉,否則不跳轉,即JNx/JNxR指令??梢圆捎密浖姆椒?,通過Jx/JxR和JMP/JMPR指令的組合跳轉來實現(xiàn)上述功能,但是CPU效率不高。請通過硬件電路直接實現(xiàn)JNx/JNxR指令功能:(二)硬布線版CPU實驗匯編語言格式功能I7I6I5I4I3I2I1I0JNxADDR;IFCF/ZF/SF=0,ADDRPC000101/10/111/0ADDRJNxRR0;IFCF/ZF/SF=0,(R3)PC000101/10/111/1【T1】源部件總線BUS【T2】總線BUS目標部件【M1】【M2】多周期硬布線控制器“狀態(tài)機”【M3】【M4】【M5】【M6】M1M2:NOP/HLT指令M1M3:IN、OUT、MOV、IRET、JMPR(JMPR/JxR)指令M1M4:PUSH、POP、SET、SOP、JMPI(JMP/Jx)指令M1M5:LAD、STO、SHT、ALU2_R(ADD、SUB、AND、OR、XOR)指令M1M6:ALU2_I(ADDI、SUBI、ANDI、ORI、XORI)指令時序發(fā)生器電路圖指令譯碼電路和基準時鐘電路微操作信號的邏輯組合表微操作信號取指周期M3周期M4周期M5周期M6周期SHT_ENSHTSHTINTRINT(M1)
PC_INCM2IRET+JMPRSET+JMPI+(LAD+STO)ALU2_ILDPCINT(M2)IRET+JMPRJMPI
PC_BUS#INT(M1)SET+JMPI+(LAD+STO)ALU2_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝品行業(yè)生產(chǎn)與質量控制指南
- 高效種植技術實踐方案
- 綠色物流在快遞行業(yè)的實踐與創(chuàng)新發(fā)展研究
- 百色2025年廣西百色市事業(yè)單位招聘1701人筆試歷年參考題庫附帶答案詳解
- 溫州浙江溫州蒼南縣殘疾人聯(lián)合會編外用工人員招聘筆試歷年參考題庫附帶答案詳解
- ???025年海南海口市美蘭區(qū)公費師范招聘4人筆試歷年參考題庫附帶答案詳解
- 2023年全國碩士研究生招生考試《數(shù)學一》真題及解析
- 2022年11月12日下午中級經(jīng)濟師《經(jīng)濟基礎》真題及解析(100題)
- 2021年全國碩士研究生招生考試《經(jīng)濟類聯(lián)考綜合能力》真題及解析
- 中央編辦面試題及答案
- 介入并發(fā)癥應急處置預案與處理流程圖
- 受限空間作業(yè)附件表格
- 《重大火災隱患判定方法》GB 35181-2017
- CDN內容分發(fā)網(wǎng)絡技術原理
- 第4課動物朋友(一)(課件)蘇少版美術二年級下冊
- 用戶服務滿意度評價表
- 安徽省技能人才評價考評員考試題庫
- [江西]20萬噸自來水廠工藝圖紙設計(附58頁設計方案)
- 插花構圖二學習教案
- 海關進口貨物報關單模板
- 電子客票行程單模板
評論
0/150
提交評論