




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——東北大學計算計組成原理課程設計報告計算機組成原理課程設計報告
班級:計算機1206班姓名:蘇君君學號:20233966
完成時間:2023/1/16
一、課程設計目的
1.在試驗機上設計實現(xiàn)機器指令及對應的微指令(微程序)并驗證,從而進一步把握微程序設計控制器的基本方法并了解指令系統(tǒng)與硬件結構的對應關系;
2.通過控制器的微程序設計,綜合理解計算機組成原理課程的核心知識并進一步建立整機系統(tǒng)的概念;
3.培養(yǎng)綜合實踐及獨立分析、解決問題的能力。
二、課程設計的任務
針對COP2000試驗儀,從詳細了解該模型機的指令/微指令系統(tǒng)入手,以實現(xiàn)乘法和除法運算功能為應用目標,在COP2000的集成開發(fā)環(huán)境下,設計全新的指令系統(tǒng)并編寫對應的微程序;之后編寫實現(xiàn)乘法和除法的程序進行設計的驗證。
三、課程設計使用的設備(環(huán)境)1.硬件
?COP2000試驗儀?PC機2.軟件
?COP2000仿真軟件
四、課程設計的具體內容(步驟)
1.詳細了解并把握COP2000模型機的微程序控制器原理,通過綜合試驗來實現(xiàn)(1)該模型機指令系統(tǒng)的特點:
①總體概述
COP2000模型機包括了一個標準CPU所具備所有部件,這些部件包括:運算器ALU、累加器A、工作寄放器W、左移門L、直通門D、右移門R、寄放器組R0-R3、程序計數(shù)器PC、地址寄放器MAR、堆棧寄放器ST、中斷向量寄放器IA、輸入端口IN、輸出端口寄放器OUT、程序存儲器EM、指令寄放器IR、微程序計數(shù)器uPC、微程序存儲器uM,以及中斷控制電路、跳轉控制電路。其中運算器和中斷控制電路以及跳轉控制電路用CPLD來實現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合規(guī)律控制來代替。
模型機的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個操作數(shù)。指令碼的最低兩位用來選擇R0-R3寄放器,在微程序控制方式中,用指令碼做為微地址來尋址微程序存儲
器,找到執(zhí)行該指令的微程序。而在組合規(guī)律控制方式中,按時序用指令碼產(chǎn)生相應的控制位。在本模型機中,一條指令最多分四個狀態(tài)周期,一個狀態(tài)周期為一個時鐘脈沖,每個狀態(tài)周期產(chǎn)生不同的控制規(guī)律,實現(xiàn)模型機的各種功能。模型機有24位控制位以控制寄放器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。
模型機的缺省的指令集分幾大類:算術運算指令、規(guī)律運算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉指令、中斷返回指令、輸入/輸出指令。
②模型機的尋址方式
表1模型機的尋址方式
模型機的尋址方式累加器尋址尋址方式說明操作數(shù)為累加器A隱含尋址累加器A參與運算的數(shù)據(jù)在R0~R3的寄放器中參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址在寄放器R0-R3中參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址為指令的操作數(shù)。參與運算的數(shù)據(jù)為指令的操作數(shù)。指令舉例CPLAOUT指令說明將累加器A的值取反將累加器A的值輸出到輸出端口寄放器OUT將寄放器R0的值加上累加器A的值,再存入累加器A中將寄放器R0的值作為地址,把存儲器EM中該地址的內容送入累加器A中將存儲器EM中55H單元的數(shù)據(jù)與累加器A的值作規(guī)律與運算,結果存入累加器A從累加器A中減去馬上數(shù)55H,結果存入累加器A寄放器尋址ADDA,R0寄放器間接尋址MOVA,@R0存儲器直接尋址ANDA,55H馬上數(shù)尋址SUBA,#55HCOP2000模型機指令的最低兩位(IR0和IR1)用來尋址R0~R3四個寄放器;IR2和IR3與ELP微控制信號,Cy和Z兩個程序狀態(tài)信號協(xié)同,控制PC的置數(shù)即程序的轉移。各種轉移的條件判斷規(guī)律如下所示:PC置數(shù)規(guī)律
當ELP=1時,不允許PC被預置當ELP=0時
當IR3=1時,無論Cy和Z什么狀態(tài),PC被預置當IR3=0時
若IR2=0,則當Cy=1時PC被預置若IR2=1,則當Z=1時PC被預置
本模型機時序控制采用不定長機器周期的同步控制方式,一條指令最多分四個節(jié)拍。
系統(tǒng)提供的默認指令系統(tǒng)包括以下7類指令:算術運算指令:ADDA,R?ADDA,@R?ADDA,MMADDA,#IIADDCA,R?ADDCA,@R?ADDCA,MMADDCA,#IISUBA,R?SUBA,@R?SUBA,MMSUBA,#IISUBCA,R?SUBCA,@R?SUBCA,MMSUBCA,#II
(2)該模型機微指令系統(tǒng)的特點(包括其微指令格式的說明等):①總體概述
微命令是用直接表示法表示的,其特點是操作控制字段中的每一位代表一個微命令。這種方法的優(yōu)點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。
②微指令格式的說明
模型機有24位控制位以控制寄放器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。微程序控制器由微程序給出24位控制信號,而微程序的地址又是由指令碼提供的,也就是說24位控制信號是由指令碼確定的。該模型機的微指令的長度為24位,其中微指令中只含有微命令字段,沒有微地址字段。其中微命令字段采用直接按位的表示法,哪位為0,表示選中該微操作,而微程序的地址則由指令碼指定。這24位操作控制信號的功能如表2所示:(按控制信號從左到右的順序依次說明)
規(guī)律運算指令:ANDA,R?ANDA,@R?ANDA,MMANDA,#IIORA,R?ORA,@R?ORA,MMORA,#IICPLA移位指令:RRARLARRCARLCA數(shù)據(jù)傳輸指令:MOVA,R?MOVA,@R?MOVA,MMMOVA,#IIMOVR?,AMOV@R?,AMOVMM,AMOVR?,#II跳轉指令:JCMMJZMMGOTOMMCALLMMRET中斷返回指令:RETI輸入/輸出指令:READMMWRITEMMINOUT表2微指令控制信號的功能操作控制信號XRDEMWREMRD控制信號的說明外部設備讀信號,當給出了外設的地址后,輸出此信號,從指定外設讀數(shù)據(jù)。程序存儲器EM寫信號。程序存儲器EM讀信號。PCOEEMENIRENEINTELPMARENMAROEOUTENSTENRRDRWRCNFENX2X1X0WENAENS2S1S0將程序計數(shù)器PC的值送到地址總線ABUS上。將程序存儲器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。將程序存儲器EM讀出的數(shù)據(jù)打入指令寄放器IR和微指令計數(shù)器μPC。中斷返回時清除中斷響應和中斷請求標志,便于下次中斷。PC打入允許,與指令寄放器的IR3、IR2位結合,控制程序跳轉。將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址寄放器MAR。將地址寄放器MAR的值送到地址總線ABUS上。將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄放器OUT里。將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄放器ST中。讀寄放器組R0~R3,寄放器R?的選擇由指令的最低兩位決定。寫寄放器組R0~R3,寄放器R?的選擇由指令的最低兩位決定。決定運算器是否帶進位移位,CN=1帶進位,CN=0不帶進位。將標志位存入ALU內部的標志寄放器。X2、X1、X0三位組合來譯碼選擇將數(shù)據(jù)送到DBUS上的寄放器。將數(shù)據(jù)總線DBUS的值打入工作寄放器W中。將數(shù)據(jù)總線DBUS的值打入累加器A中。S2、S1、S0三位組合決定ALU做何種運算。COP2000中有7個寄放器可以向數(shù)據(jù)總線輸出數(shù)據(jù),但在某一特定時刻只能有一個寄放器輸出數(shù)據(jù).由X2,X1,X0決定那一個寄放器輸出數(shù)據(jù)。
X2X1X0000001010011100101110111輸出寄放器IN_OE外部輸入門IA_OE中斷向量ST_OE堆棧寄放器PC_OEPC寄放器D_OE直通門R_OE右移門L_OE左移門沒有輸出COP2000中的運算器由一片EPLD實現(xiàn).有8種運算,通過S2,S1,S0來選擇。運算數(shù)據(jù)由寄放器A及寄放器W給出,運算結果輸出到直通門D。
S2S1S0功能000001010011100101110111
A+W加A-W減A|W或A乘數(shù)為00010110(二進制),即為十進制的6。那么,可以通過筆算得到:
10001010×00010110=0000101111011100(0BDCH)
即十進制運算結果為:
138×22=3036
無符號乘法的實例演示如圖1所示:
10001010;被乘數(shù)
×00010110;乘數(shù)
00000000;部分積初始值(0)
+00000000;乘數(shù)最低位為0,部分積加0,被乘數(shù)左移一
;位,乘數(shù)右移一位。
00000000;部分積
+10001010;乘數(shù)最低位為1部分積加被乘數(shù),被乘數(shù)左
;移一位,乘數(shù)右移一位。
100010100;部分積
+10001010;乘數(shù)最低位為1,部分積加被乘數(shù),被乘數(shù)左
;移一位,乘數(shù)右移一位。
1100111100;部分積
+0000000000;乘數(shù)最低位為0,部分積加0,被乘數(shù)左移一
;位,乘數(shù)右移一位。
1100111100;部分積
+100010100000;乘數(shù)最低位為1,部分積加被乘數(shù),被乘數(shù)左;位,乘數(shù)右移一位。
101111011100;計算的最終結果前面的0省去不寫了
即:10001010×00010110=0000101111011100(0BDCH)
圖14位無符號乘法實例演示
②硬件原理框圖
下圖2為COP2000軟件自帶的硬件結構圖:
圖2硬件原理框圖
③算法流程圖:
在模型機上實現(xiàn)無符號數(shù)乘法運算時,采用“加法—移位〞的重復運算方法。由于設計的時候不想過多與存取器打交道,所以就設計了壓棧指令和出棧指令,用來保存高8位的結果。這也正是我的得意之處。具體的硬件分派見第3步的內容。因此,無符號乘法的算法流程圖如圖3所示。
開始初始化乘數(shù)與被乘數(shù)及存放最終結果的寄放器將R的值送入棧中先保存起來乘數(shù)是否為0N測試被乘數(shù)最低位是否為1YY計算部分積輸出結果N終止被乘數(shù)帶進位左移乘數(shù)不帶進位右移
圖3無符號乘法的算法流程圖
(2)無符號除法
①實例演示(即,列8位除法具體例子演算的算式):
被除數(shù)為01111110(二進制),即為十進制的126;除數(shù)為00001011(二進制),即為十進制的11。那么,可以通過筆算得到:
01111110÷00001011=1011?0101
即十進制運算結果為:
126÷11=11?5
無符號除法的實例演示如圖4所示01011
0000101101111110;被除數(shù)1011;除數(shù);減去除數(shù)
11001;余數(shù)為負,C=1,商上0
1011;商左移一位,除數(shù)右移一位(1);加上除數(shù)
001001;余數(shù)為正,C=0,商上1
1011;商左移一位,除數(shù)右移一位(2);減去除數(shù)
1111101;余數(shù)為負,C=1,商上0
1011;商左移一位,除數(shù)右移一位(3)
;加上除數(shù)
00010000;余數(shù)為正,C=0,商上1
1001;商左移一位,除數(shù)右移一位(4);減去除數(shù)
00000101;余數(shù)為正,C=0,商上1,余數(shù)為5;余數(shù)為正不用處理
圖4無符號除法的算法流程圖
②硬件原理框圖:
下圖5為COP2000軟件自帶的硬件結構圖:
圖5無符號除法的硬件原理框圖
③算法流程圖:
在模型機上實現(xiàn)無符號數(shù)除法運算時,采用“加減交替算法〞的運算方法。因此,無符號除法的算法流程圖如圖6所示。
開始初始化被除數(shù)R0,除數(shù)R1,商R2為計算循環(huán)的次數(shù),存入R3寄放器溢出處理Y除數(shù)R1為0N被除數(shù)R0減除數(shù)R1恢復除數(shù)R2,余數(shù)R0加除數(shù)R2終止Y有借位么NN余數(shù)R0為負Y商R2左移一位,加0商R2左移一位,加1除數(shù)R1右移一位,計數(shù)器R3減1除數(shù)R1右移一位,計數(shù)器R3減1Y計數(shù)器R3為1N被除數(shù)R0加除數(shù)除數(shù)R1Y計數(shù)器R3為1N被除數(shù)R0減除數(shù)R1N有進位么有借位么N
圖6無符號除法的算法流程圖
3.對應于以上算法如何分派使用COP2000試驗儀中的硬件
(1)無符號乘法
符號乘法對應于COP2000試驗儀的硬件具體分派使用狀況如下表所示:
表3無符號乘法的硬件分派狀況
硬件名稱寄放器R0寄放器R1寄放器R2累加器A寄放器W左移門L直通門D右移門R實現(xiàn)算法功能描述存放被乘數(shù);后來和R2一起用于存放左移后的被乘數(shù)。剛開始用來存放乘數(shù);
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建對外經(jīng)濟貿易職業(yè)技術學院《藥物生物技術》2023-2024學年第二學期期末試卷
- 《大戰(zhàn)中的插曲》教學設計 2023-2024學年統(tǒng)編版高中語文選擇性必修上冊
- 海南熱帶海洋學院《男裝設計》2023-2024學年第二學期期末試卷
- 山東政法學院《數(shù)字集成電路設計》2023-2024學年第二學期期末試卷
- 太原幼兒師范高等??茖W?!陡呒壒芾斫y(tǒng)計》2023-2024學年第二學期期末試卷
- 皖江工學院《專業(yè)技能訓練化學教學技能與訓練》2023-2024學年第二學期期末試卷
- 鄭州體育職業(yè)學院《室內空間設計公共》2023-2024學年第二學期期末試卷
- 吉林體育學院《生物工程專業(yè)分析》2023-2024學年第二學期期末試卷
- 河南2025年河南職業(yè)技術學院招聘30人筆試歷年參考題庫附帶答案詳解
- 免燒磚銷售合同范本
- 二手新能源汽車充電安全承諾書
- 醫(yī)學課件:介入放射學(全套課件328張)
- 水泥攪拌樁記錄表格范本
- DL∕T 458-2020 板框式旋轉濾網(wǎng)
- GB∕T 8163-2018 輸送流體用無縫鋼管
- 短視頻:策劃制作與運營課件
- T∕ASC 17-2021 電動汽車充換電設施系統(tǒng)設計標準
- 水閘設計步驟計算書(多表)
- PowerPoint使用技巧培訓課件(共35張)
- SMA瀝青路面的設計與施工
- 腎內科相關基礎知識學習教案
評論
0/150
提交評論