COP2000微指令微程序_第1頁
COP2000微指令微程序_第2頁
COP2000微指令微程序_第3頁
COP2000微指令微程序_第4頁
COP2000微指令微程序_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計報告 姓名:蘇怡舟 學號:132208100166 班級:B13082051 目 錄課程設(shè)計目的··································3課程設(shè)計的任務(wù)······

2、··························3課程設(shè)計使用的設(shè)備······················&#

3、183;·····3課程設(shè)計的具體內(nèi)容 微程序控制器原理····························3 微指令代碼以及流程圖···········&

4、#183;············6運行情況····································7總

5、結(jié)體會······································8一、課程設(shè)計目的1在實驗機上設(shè)計實現(xiàn)機器指令及對應(yīng)的微指令(微程序)并驗證,從而進一步掌握微程序設(shè)計控制器的基本方法并了解指令系統(tǒng)與硬件

6、結(jié)構(gòu)的對應(yīng)關(guān)系;2通過控制器的微程序設(shè)計,綜合理解計算機組成原理課程的核心知識并進一步建立整機系統(tǒng)的概念;3培養(yǎng)綜合實踐及獨立分析、解決問題的能力。二、課程設(shè)計的任務(wù)針對COP2000實驗儀,從詳細了解該模型機的指令/微指令系統(tǒng)入手,以實現(xiàn)乘法和除法運算功能為應(yīng)用目標,在COP2000的集成開發(fā)環(huán)境下,設(shè)計全新的指令系統(tǒng)并編寫對應(yīng)的微程序;之后編寫實現(xiàn)乘法的程序進行設(shè)計的驗證。三、 課程設(shè)計使用的設(shè)備1硬件l COP2000實驗儀l PC機2軟件l COP2000仿真軟件四、課程設(shè)計的具體內(nèi)容1詳細了解并掌握COP 2000模型機的微程序控制器原理,通過綜合實驗來實現(xiàn)(1)該模型機指令系統(tǒng)的特

7、點: 總體概述COP2000模型機包括了一個標準CPU所具備所有部件,這些部件包括:運算器ALU、累加器A、工作寄存器W、左移門L、直通門D、右移門R、寄存器組R0-R3、程序計數(shù)器PC、地址寄存器MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入端口IN、輸出端口寄存器OUT、程序存儲器EM、指令寄存器IR、微程序計數(shù)器uPC、微程序存儲器uM,以及中斷控制電路、跳轉(zhuǎn)控制電路。其中運算器和中斷控制電路以及跳轉(zhuǎn)控制電路用CPLD來實現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合邏輯控制來代替。 模型機為8位機,數(shù)據(jù)總線、地址總線都為8位,但其工作原理與16位機相同。相比而言8位

8、機實驗減少了煩瑣的連線,但其原理卻更容易被學生理解、吸收。模型機的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個操作數(shù)。指令碼的最低兩位用來選擇R0-R3寄存器,在微程序控制方式中,用指令碼做為微地址來尋址微程序存儲器,找到執(zhí)行該指令的微程序。而在組合邏輯控制方式中,按時序用指令碼產(chǎn)生相應(yīng)的控制位。在本模型機中,一條指令最多分四個狀態(tài)周期,一個狀態(tài)周期為一個時鐘脈沖,每個狀態(tài)周期產(chǎn)生不同的控制邏輯,實現(xiàn)模型機的各種功能。模型機有24位控制位以控制寄存器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。模型機的缺省的指令集分幾大類: 算術(shù)運算指令、邏輯運算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令

9、、中斷返回指令、輸入/輸出指令。 模型機的尋址方式表1 模型機的尋址方式模型機的尋址方式尋址方式說明指令舉例指令說明累加器尋址操作數(shù)為累加器ACPL A將累加器A的值取反隱含尋址累加器AOUT將累加器A的值輸出到輸出端口寄存器OUT寄存器尋址參與運算的數(shù)據(jù)在R0R3的寄存器中ADD A,R0將寄存器R0的值加上累加器A的值,再存入累加器A中寄存器間接尋址參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址在寄存器R0-R3中MOV A,R1將寄存器R1的值作為地址,把存儲器EM中該地址的內(nèi)容送入累加器A中存儲器直接尋址參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址為指令的操作數(shù)。AND A,40H將存儲器EM中

10、40H單元的數(shù)據(jù)與累加器A的值作邏輯與運算,結(jié)果存入累加器A立即數(shù)尋址參與運算的數(shù)據(jù)為指令的操作數(shù)。SUB A,#10H從累加器A中減去立即數(shù)10H,結(jié)果存入累加器A(2)該模型機微指令系統(tǒng)的特點: 總體概述該模型機的微命令是以直接表示法進行編碼的,其特點是操作控制字段中的每一位代表一個微命令。這種方法的優(yōu)點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。 微指令格式的說明模型機有24位控制位以控制寄存器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。微程序控制器由微程序給出24位控制信號,而微程序的地址又是由指令碼提供的,也就是說24位控制信號是由指令碼確定的

11、。該模型機的微指令的長度為24位,其中微指令中只含有微命令字段,沒有微地址字段。其中微命令字段采用直接按位的表示法,哪位為0,表示選中該微操作,而微程序的地址則由指令碼指定。2用設(shè)計完成的新指令集編寫實現(xiàn)無符號二進制乘法功能的匯編語言程序1)設(shè)計原理:兩個8位無符號數(shù)相乘,所乘結(jié)果是16位,采用原碼一位乘,在計算時,用乘數(shù)寄存器的最低位來控制部分積是否與被乘數(shù)相加,然后右移部分積和乘數(shù),同時乘數(shù)寄存器接收部分積右移出來的一位,完成運算后,部分積寄存器保存乘積的高位部分,乘數(shù)寄存器中保存乘積的低位部分。符號乘法對應(yīng)于COP2000實驗儀的硬件具體分配使用情況如下表所示:硬件名稱實現(xiàn)算法功能描述寄

12、存器R0計算時用來存放部分積和最后的積寄存器R1 初始化時,用來存放被乘數(shù); 在程序執(zhí)行的過程中,用來存放向左移位后的被乘數(shù)。寄存器R2 初始化時,用來存放乘數(shù); 在程序執(zhí)行的過程中,用來存放向右移位后的乘數(shù)。累加器A執(zhí)行ADD A,R?(加法)、SHL R?(左移一位)、SHR R?(右移一位)等命令時所必須使用的寄存器。寄存器W執(zhí)行ADD A,R?(加法)、TEST R?,#II(測試R2的末位)等雙操作數(shù)命令時所必須使用的寄存器。左移門L用來實現(xiàn)相應(yīng)數(shù)據(jù)左移一位的運算,并能夠控制該運算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來實現(xiàn)相應(yīng)數(shù)據(jù)

13、右移一位的運算,并能夠控制該運算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計數(shù)器PC 控制程序按順序正常執(zhí)行; 當執(zhí)行轉(zhuǎn)移指令時,從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動執(zhí)行。 當要從EM中讀取數(shù)據(jù)時,由PC提供地址。存儲器EM存儲指令和數(shù)據(jù)。微程序計數(shù)器PC向微程序存儲器M提供相應(yīng)微指令的地址。微程序存儲器M存儲相應(yīng)指令的微指令。輸出寄存器OUT可以將運算結(jié)果輸出到輸出寄存器OUT(本實驗未用)。堆棧ST當存儲于累加器A的值將要受到破壞時,將其數(shù)據(jù)保存在堆棧ST中,使程序能夠正常地執(zhí)行。流程圖:開 始乘數(shù)最低位為1?YN部分積與被乘數(shù)相加部分積不變部分積最低位為1?NY部分積右移乘數(shù)右移并加10

14、000000部分積右移乘數(shù)右移將部分積右移八次加上乘數(shù)寄存器里的數(shù),得到乘積結(jié)果循環(huán)結(jié)束?NY結(jié) 束輸入部分積、乘數(shù)和被乘數(shù)結(jié)果輸出代碼部分:MOV R0,#00H ;部分積MOV R1,#02H ;乘數(shù)MOV R2,#03H ;被乘數(shù)MOV R3,#08H ;移位次數(shù)LOOP:MOV A,R1AND A,#01H ;判斷R1最低位是否為1JZ NEXT ;是,繼續(xù)執(zhí)行MOV A,R0ADD A,R2 ;R0和R2相加MOV R0,A ;結(jié)果賦給R0AND A,#01H ;判斷R0最低位是否為1JZ NEXT1 ;R0末尾為1的時候MOV A,R0RR A ;R0右移MOV R0,AMOV A

15、,R1RR A ;R1右移OR A,#80H ;結(jié)果和80H或MOV R1,A ;結(jié)果給R1JMP NEXT2NEXT1:MOV A,R0RR A ;R0右移MOV R0,AMOV A,R1RR A ;R1右移MOV R1,AJMP NEXT2NEXT: ;R1末尾是0時MOV A,R0AND A,#01H ;R0最低位是否為1JZ NEXT1MOV A,R0RR A ;R0右移MOV R0,AMOV A,R1RR A ;R1右移OR A,#80H ;R1和80H或MOV R1,A ;結(jié)果給R1JMP NEXT2NEXT2:MOV A,R3SUB A,#01H ;R301HOR A,#00H

16、;結(jié)果和00H取或JZ NEXT3 ;若移位結(jié)束跳至NEXT3MOV R3,AJMP LOOPNEXT3:JMP NEXT33上述程序的運行情況這部分為測試部分,我們分別輸入三組數(shù)據(jù)來進行驗證。X為被乘數(shù),Y為乘數(shù)。(1) X= 32H Y=95H X*Y=1D1A 部分積高位R0(1D),低位R1(1A) (2) X=01H Y=02HX*Y=02H 部分積高位R0(00),低位R1(02)(3) X=02H Y=05H X*Y=000A 部分積高位R0(00),低位R1(0A)測試結(jié)果都正確,寄存器R0與寄存器R1中所表示的數(shù)據(jù)轉(zhuǎn)換化為十進制的結(jié)果都符合,說明程序驗證正確。結(jié)果圖:五、本次課程設(shè)計的總結(jié)體會經(jīng)過了將近一周的時間,我終于在查閱書籍,資料之后完成了計算機組成原理的課程設(shè)計內(nèi)容。在設(shè)計的過程中,鞏固了所學的計算機組成原理中有關(guān)指令系統(tǒng)、總線系統(tǒng)等等方面的知識,同時,也增長了新的知識。在課設(shè)的后期,我?guī)缀跏且贿厪土曈嫿M的指令系統(tǒng)方面的內(nèi)容,一邊進行課設(shè),在整個過程中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論