計(jì)算機(jī)組成原理課程設(shè)計(jì)(微程序)報(bào)告_第1頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)(微程序)報(bào)告_第2頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)(微程序)報(bào)告_第3頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)(微程序)報(bào)告_第4頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)(微程序)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微程序控制器的設(shè)計(jì)與實(shí)現(xiàn)目錄1設(shè)計(jì)目的32設(shè)計(jì)內(nèi)容33具體要求34設(shè)計(jì)方案35 調(diào)試過(guò)程.116 心得體會(huì).12微程序控制器的設(shè)計(jì)與實(shí)現(xiàn)一、 設(shè)計(jì)目的1) 鞏固和深刻理解“計(jì)算機(jī)組成原理”課程所講解的原理,加深對(duì)計(jì)算機(jī)各模塊協(xié)同工作的認(rèn)識(shí)2) 掌握微程序設(shè)計(jì)的思想和具體流程、操作方法。3) 培養(yǎng)學(xué)生獨(dú)立工作和創(chuàng)新思維的能力,取得設(shè)計(jì)與調(diào)試的實(shí)踐經(jīng)驗(yàn)。4) 嘗試?yán)镁幊虒?shí)現(xiàn)微程序指令的識(shí)別和解釋的工作流程二、 設(shè)計(jì)內(nèi)容按照要求設(shè)計(jì)一指令系統(tǒng),該指令系統(tǒng)能夠?qū)崿F(xiàn)數(shù)據(jù)傳送,進(jìn)行加、減運(yùn)算和無(wú)條件轉(zhuǎn)移,具有累加器尋址、寄存器尋址、寄存器間接尋址、存儲(chǔ)器直接尋址、立即數(shù)尋址等五種尋址方式。三、 設(shè)計(jì)要求

2、1) 仔細(xì)復(fù)習(xí)所學(xué)過(guò)的理論知識(shí),掌握微程序設(shè)計(jì)的思想,并根據(jù)掌握的理論寫出要設(shè)計(jì)的指令系統(tǒng)的微程序流程。指令系統(tǒng)至少要包括六條指令,具有上述功能和尋址方式。2) 根據(jù)微操作流程及給定的微指令格式寫出相應(yīng)的微程序3) 將所設(shè)計(jì)的微程序在虛擬環(huán)境中運(yùn)行調(diào)試程序,并給出測(cè)試思路和具體程序段4) 嘗試用C或者Java語(yǔ)言實(shí)現(xiàn)所設(shè)計(jì)的指令系統(tǒng)的加載、識(shí)別和解釋功能。5) 撰寫課程設(shè)計(jì)報(bào)告。四、 設(shè)計(jì)方案1) 設(shè)計(jì)思路按照要求設(shè)計(jì)指令系統(tǒng),該指令系統(tǒng)能夠?qū)崿F(xiàn)數(shù)據(jù)傳送,進(jìn)行加、減運(yùn)算和無(wú)條件轉(zhuǎn)移,具有累加器尋址、寄存器尋址、寄存器間接尋址、存儲(chǔ)器直接尋址、立即數(shù)尋址等五種尋址方式。從而可以想到如下指令:24

3、位控制位分別介紹如下: XRD : 外部設(shè)備讀信號(hào),當(dāng)給出了外設(shè)的地址后,輸出此信號(hào),從指定外設(shè)讀數(shù)據(jù)。 EMWR: 程序存儲(chǔ)器EM寫信號(hào)。 EMRD: 程序存儲(chǔ)器EM讀信號(hào)。 PCOE: 將程序計(jì)數(shù)器PC的值送到地址總線ABUS上。 EMEN: 將程序存儲(chǔ)器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。 IREN: 將程序存儲(chǔ)器EM讀出的數(shù)據(jù)打入指令寄存器IR和微指令計(jì)數(shù)器uPC。 EINT: 中斷返回時(shí)清除中斷響應(yīng)和中斷請(qǐng)求標(biāo)志,便于下次中斷。 ELP: PC打入允許,與指令寄存器的IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。 MA

4、REN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址寄存器MAR。 MAROE:將地址寄存器MAR的值送到地址總線ABUS上。 OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。 STEN: 將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。 RRD: 讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。 RWR: 寫寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。 CN: 決定運(yùn)算器是否帶進(jìn)位移位,CN=1帶進(jìn)位,CN=0不帶進(jìn)位。 FEN: 將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。 X2:X1:X0: X2、X1、X0三位組合來(lái)譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。具體如下:X

5、2 X1 X0輸出寄存器0 0 0IN_OE 外部輸入門0 0 1IA_OE 中斷向量0 1 0ST_OE 堆棧寄存器0 1 1PC_OE PC寄存器1 0 0D_OE 直通門1 0 1R_OE 右移門1 1 0L_OE 左移門1 1 1沒有輸出 WEN: 將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。 AEN: 將數(shù)據(jù)總線DBUS的值打入累加器A中。 S2:S1:S0: S2、S1、S0三位組合決定ALU做何種運(yùn)算。 具體如下:S2 S1 S0功能0 0 0A+W 加0 0 1A-W 減0 1 0A|W 或0 1 1A&W 與1 0 0A+W+C 帶進(jìn)位加1 0 1A-W-C 帶進(jìn)位減1

6、 1 0A A取反1 1 1A 輸出A模型機(jī)的尋址方式分五種: 累加器尋址: 操作數(shù)為累加器A,例如“CPL A”是將累加器A值取反,還有些指令是隱含尋址累加器A,例如“OUT”是將累加器A的值輸出到輸出端口寄存器OUT。 寄存器尋址: 參與運(yùn)算的數(shù)據(jù)在R0-R3的寄存器中,例如 “ADD A,R0”指令是將寄存器R0的值加上累加器A的值,再存入累加器A中。 寄存器間接尋址:參與運(yùn)算的數(shù)據(jù)在存儲(chǔ)器EM中,數(shù)據(jù)的地址在寄存器R0-R3中,例如 “MOV A,R1”指令是將寄存器R1的值做為地址,把存儲(chǔ)器EM中該地址的內(nèi)容送入累加器A中。 存儲(chǔ)器直接尋址:參與運(yùn)算的數(shù)據(jù)在存儲(chǔ)器EM中,數(shù)據(jù)的地址為

7、指令的操作數(shù)。例如“AND A,40H”指令是將存儲(chǔ)器EM中40H單元的數(shù)據(jù)與累加器A的值做邏輯與運(yùn)算,結(jié)果存入累加器A。 立即數(shù)尋址: 參與運(yùn)算的數(shù)據(jù)為指令的操作數(shù)。例如 “SUB A,#10H”是從累加器A中減去立即數(shù)10H,結(jié)果存入累加器A。2) 程序清單MOV A,#01H 立即數(shù)尋址,傳送指令,將01h傳送給累加器aLOOP:MOV R0,#01H 立即數(shù)尋址,將01h傳送給r0ADD A,R0 寄存器尋址,加法操作,將r0的值與a相加,結(jié)果存入a中SUB A,R0 寄存器間接尋址,減法將R0的值當(dāng)作是內(nèi)存地址,再將此地址的值與A相減,最后放入A。ADD A,01H 存儲(chǔ)器直接尋址,

8、尋找出01地址中的值, 用A和此地址的值相加,最后放入ACPL A 累加器尋址,將a的值取反OUTJMP LOOP /無(wú)條件跳轉(zhuǎn),跳轉(zhuǎn)到LOOP3) 指令流程圖MOV A,#01HPC>MAR(PC+1>PC)MAR>EMEM>IR 、uPCEM>A(PC+1>PC)PC>MAR(PC+1>PC)MOV R0,#01HMAR>EMEM>IR 、uPCEM>R0(PC+1>PC) PC>MAR(PC+1>PC)MAR>EMEM>IR 、uPCW+A>A(PC+1>PC)R0>WADD

9、 A,R0 PC>MAR(PC+1>PC)SUB A,R0MAR>EMEM>IR 、uPCR0>MARMAR>EMA-W>A(PC+1>PC)EM>WA-W>A(PC+1>PC)PC>MAR(PC+1>PC) ADD,02H MAR>EMEM>IR 、uPCEM>MAR02H>EMEM>WA&W>A(PC+1>PC)CPPC>MAR(PC+1>PC) MAR>EMEM>IR 、uPCA>A(PC+1>PC) OUTPC>MAR

10、(PC+1>PC)MAR>EMEM>IR 、uPCA>OUT(PC+1>PC)JMP LOOPPC>MAR(PC+1>PC)MAR>EMEM>IR 、uPCIR>PC(PC+1>PC)五、 調(diào)試過(guò)程1) 指令系統(tǒng)設(shè)計(jì)本指令系統(tǒng)涉及8條指令,分別完成數(shù)據(jù)傳送,進(jìn)行加、減和無(wú)條件轉(zhuǎn)移,具有累加器尋址、寄存器尋址、寄存器間接尋址、存儲(chǔ)器直接尋址、立即數(shù)尋址等五種尋址方式。具體指令設(shè)計(jì)如下:2) 微程序設(shè)計(jì) 將窗口切換到“uM微程序”窗口,設(shè)計(jì)每條指令的微程序。 每個(gè)程序開始要執(zhí)行的第一條微指令應(yīng)是取指操作,因?yàn)槌绦驈?fù)位后,PC和uPC

11、的值都為0,所以微程序的0地址處就是程序執(zhí)行的第一條取指的微指令。取指操作要做的工作是從程序存儲(chǔ)器EM中讀出下條將要執(zhí)行的指令,并將指令的機(jī)器碼存入指令寄存器IR和微程序計(jì)數(shù)器uPC中,讀出下條操作的微指令。取指設(shè)計(jì)如下(CBFFFF):MOV A,#01H 這條指令是把立即數(shù)1從存儲(chǔ)器EM中取出,放入累加器A中。微程序設(shè)計(jì)如下(C7FFF7):MOV R0,#01H這條指令是把立即數(shù)1從存儲(chǔ)器EM中取出,放入寄存器R0中。微程序設(shè)計(jì)如下(C7FBFF);ADD A,R0這條指令是寄存器尋址,將R0的值取出放入W中與A相加,再將結(jié)果放入A。它由三個(gè)指令周期。微程序設(shè)計(jì)如下:第一步,把R0 的值

12、放入累加器W中第二步,從D中讀出A的值并與W相加,結(jié)果放到A中SUB A,R0 這條指令是寄存器間接尋址,將以R0為地址的數(shù)值取出放入W中與A相減,再將結(jié)果放入A。它由四個(gè)指令周期。微程序設(shè)計(jì)如下:第一步,把R0 的值放入地址寄存器MAR中 第二步 從MAR中讀出以R0為地址的值放入累加器W中第三步 將A的值與W值相減CPL A 將A的值取反在存入A中OUT 將累加器的值送到輸出端并輸出:JMP LOOP六、 心得體會(huì)這次微程序程序設(shè)計(jì)主要是要求我們?cè)O(shè)計(jì)一個(gè)指令系統(tǒng),其中包含加,減,數(shù)據(jù)傳送和無(wú)條件轉(zhuǎn)移指令操作,具有累加器尋址、寄存器尋址、寄存器間接尋址、存儲(chǔ)器直接尋址、立即數(shù)尋址等五種尋址方式。在通過(guò)設(shè)計(jì)的過(guò)程中,大概理解了各種指令操作和尋址方式。學(xué)會(huì)了能靈活理解他們之間的關(guān)系,包括像操

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論