![計(jì)算機(jī)組成原理課程設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/1/013e7447-994f-42b4-ad26-5d7fc7228c81/013e7447-994f-42b4-ad26-5d7fc7228c811.gif)
![計(jì)算機(jī)組成原理課程設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/1/013e7447-994f-42b4-ad26-5d7fc7228c81/013e7447-994f-42b4-ad26-5d7fc7228c812.gif)
![計(jì)算機(jī)組成原理課程設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/1/013e7447-994f-42b4-ad26-5d7fc7228c81/013e7447-994f-42b4-ad26-5d7fc7228c813.gif)
![計(jì)算機(jī)組成原理課程設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/1/013e7447-994f-42b4-ad26-5d7fc7228c81/013e7447-994f-42b4-ad26-5d7fc7228c814.gif)
![計(jì)算機(jī)組成原理課程設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/1/013e7447-994f-42b4-ad26-5d7fc7228c81/013e7447-994f-42b4-ad26-5d7fc7228c815.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告班級(jí):09計(jì)算機(jī) 03 班 姓名: * 學(xué)號(hào): * 完成時(shí)間: 2012年 1月3日 一、課程設(shè)計(jì)目的1在實(shí)驗(yàn)機(jī)上設(shè)計(jì)實(shí)現(xiàn)機(jī)器指令及對(duì)應(yīng)的微指令(微程序)并驗(yàn)證,從而進(jìn)一步掌握微程序設(shè)計(jì)控制器的基本方法并了解指令系統(tǒng)與硬件結(jié)構(gòu)的對(duì)應(yīng)關(guān)系;2通過(guò)控制器的微程序設(shè)計(jì),綜合理解計(jì)算機(jī)組成原理課程的核心知識(shí)并進(jìn)一步建立整機(jī)系統(tǒng)的概念;3培養(yǎng)綜合實(shí)踐及獨(dú)立分析、解決問(wèn)題的能力。二、課程設(shè)計(jì)的任務(wù)針對(duì)COP2000實(shí)驗(yàn)儀,從詳細(xì)了解該模型機(jī)的指令/微指令系統(tǒng)入手,以實(shí)現(xiàn)乘法和除法運(yùn)算功能為應(yīng)用目標(biāo),在COP2000的集成開發(fā)環(huán)境下,設(shè)計(jì)全新的指令系統(tǒng)并編寫對(duì)應(yīng)的微程序;之后編寫實(shí)
2、現(xiàn)乘法和除法的程序進(jìn)行設(shè)計(jì)的驗(yàn)證。三、 課程設(shè)計(jì)使用的設(shè)備(環(huán)境)1硬件l COP2000實(shí)驗(yàn)儀l PC機(jī)2軟件l COP2000仿真軟件四、課程設(shè)計(jì)的具體內(nèi)容(步驟)1詳細(xì)了解并掌握COP 2000模型機(jī)的微程序控制器原理,通過(guò)綜合實(shí)驗(yàn)來(lái)實(shí)現(xiàn)(1)該模型機(jī)指令系統(tǒng)的特點(diǎn): 總體概述COP2000模型機(jī)包括了一個(gè)標(biāo)準(zhǔn)CPU所具備所有部件,這些部件包括:運(yùn)算器ALU、累加器A、工作寄存器W、左移門L、直通門D、右移門R、寄存器組R0-R3、程序計(jì)數(shù)器PC、地址寄存器MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入端口IN、輸出端口寄存器OUT、程序存儲(chǔ)器EM、指令寄存器IR、微程序計(jì)數(shù)器uPC、
3、微程序存儲(chǔ)器uM,以及中斷控制電路、跳轉(zhuǎn)控制電路。其中運(yùn)算器和中斷控制電路以及跳轉(zhuǎn)控制電路用CPLD來(lái)實(shí)現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合邏輯控制來(lái)代替。 模型機(jī)為8位機(jī),數(shù)據(jù)總線、地址總線都為8位,但其工作原理與16位機(jī)相同。相比而言8位機(jī)實(shí)驗(yàn)減少了煩瑣的連線,但其原理卻更容易被學(xué)生理解、吸收。模型機(jī)的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個(gè)操作數(shù)。指令碼的最低兩位用來(lái)選擇R0-R3寄存器,在微程序控制方式中,用指令碼做為微地址來(lái)尋址微程序存儲(chǔ)器,找到執(zhí)行該指令的微程序。而在組合邏輯控制方式中,按時(shí)序用指令碼產(chǎn)生相應(yīng)的控制位。在本模型機(jī)中,一條指令最多分
4、四個(gè)狀態(tài)周期,一個(gè)狀態(tài)周期為一個(gè)時(shí)鐘脈沖,每個(gè)狀態(tài)周期產(chǎn)生不同的控制邏輯,實(shí)現(xiàn)模型機(jī)的各種功能。模型機(jī)有24位控制位以控制寄存器的輸入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀寫。模型機(jī)的缺省的指令集分幾大類: 算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。 模型機(jī)的尋址方式表1 模型機(jī)的尋址方式模型機(jī)的尋址方式尋址方式說(shuō)明指令舉例舉例說(shuō)明累加器尋址操作數(shù)為累加器ACPL A將累加器A的值取反隱含尋址累加器AOUT將累加器A的值輸出到輸出端口寄存器OUT寄存器尋址參與運(yùn)算的數(shù)據(jù)在R0R3的寄存器中ADD A,R0將寄存器R0的值加上累加器A的值,再存
5、入累加器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ù)的地址為指令的操作數(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)該模型機(jī)微指令系統(tǒng)的特點(diǎn)(包括其微指令格式的說(shuō)明等): 總體概述該模型機(jī)的微命令是以直接表示法進(jìn)行編碼的,其特點(diǎn)是操作控制字段中的每一位代表一個(gè)微命令。這種方
6、法的優(yōu)點(diǎn)是簡(jiǎn)單直觀,其輸出直接用于控制。缺點(diǎn)是微指令字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。 微指令格式的說(shuō)明模型機(jī)有24位控制位以控制寄存器的輸入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀寫。微程序控制器由微程序給出24位控制信號(hào),而微程序的地址又是由指令碼提供的,也就是說(shuō)24位控制信號(hào)是由指令碼確定的。該模型機(jī)的微指令的長(zhǎng)度為24位,其中微指令中只含有微命令字段,沒有微地址字段。其中微命令字段采用直接按位的表示法,哪位為0,表示選中該微操作,而微程序的地址則由指令碼指定。這24位操作控制信號(hào)的功能如表2所示:(按控制信號(hào)從左到右的順序依次說(shuō)明)表2 微指令控制信號(hào)的功能操作控制信號(hào)控 制 信 號(hào)
7、的 說(shuō) 明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ù)器PC。EINT中斷返回時(shí)清除中斷響應(yīng)和中斷請(qǐng)求標(biāo)志,便于下次中斷。ELPPC打入允許,與指令寄存器的IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。MAREN將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址寄存器MAR。MAROE將地
8、址寄存器MAR的值送到地址總線ABUS上。OUTEN將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。STEN將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。RRD讀寄存器組R0R3,寄存器R?的選擇由指令的最低兩位決定。RWR寫寄存器組R0R3,寄存器R?的選擇由指令的最低兩位決定。CN決定運(yùn)算器是否帶進(jìn)位移位,CN=1帶進(jìn)位,CN=0不帶進(jìn)位。FEN將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。X2X2、X1、X0三位組合來(lái)譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。X1X0WEN將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。AEN將數(shù)據(jù)總線DBUS的值打入累加器A中。S2S2、S1、S0三位組合決定ALU做
9、何種運(yùn)算。S1S0COP2000中有7個(gè)寄存器可以向數(shù)據(jù)總線輸出數(shù)據(jù), 但在某一特定時(shí)刻只能有一個(gè)寄存器輸出數(shù)據(jù). 由X2,X1,X0決定那一個(gè)寄存器輸出數(shù)據(jù)。X2 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沒有輸出COP2000中的運(yùn)算器由一片EPLD實(shí)現(xiàn). 有8種運(yùn)算, 通過(guò)S2,S1,S0來(lái)選擇。運(yùn)算數(shù)據(jù)由寄存器A及寄存器W給出, 運(yùn)算結(jié)果輸出到直通門D。S2 S1 S0功能0 0 0A+W 加0
10、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 1 0A A取反1 1 1A 輸出A 2。計(jì)算機(jī)中實(shí)現(xiàn)乘法和除法的原理(1)無(wú)符號(hào)乘法實(shí)例演示(即,列4位乘法具體例子演算的算式):以0011×0100為例0 0 1 1 被乘數(shù) 0 1 0 0 乘數(shù)_ 0 0 0 0 部分積為0 0 0 0 0 (0) 乘數(shù)最低位為0,部分積加0,被乘數(shù)左移_ 一位,乘數(shù)右移一位。 0 0 0 0 部分積 0 0 0 0 (0) 乘數(shù)最低位為0,部分積加0,被乘數(shù)左移_ 一位,乘數(shù)右移一位。 0 0 0 0 部分積 1 1
11、 0 0 (1) 乘數(shù)最低位為1,部分積累加被乘數(shù),被乘_ 數(shù)左移一位,乘數(shù)右移一位。 1 1 0 0 部分積 0 0 0 0 (0) 乘數(shù)最低位為0,部分積加0,被乘數(shù)左移_ 一位,乘數(shù)右移一位。 (0) 1 1 0 0 計(jì)算完畢,結(jié)果為00001100 即:0011×0100=00001100硬件原理框圖:R0,被乘數(shù),左移中間結(jié)果送A被乘數(shù)送WR3,部分積,最終積R1,乘 數(shù),右移 乘法指令硬件原理框圖開始始初始化 被乘數(shù),乘數(shù),積算法流程圖: 初始化 NNYY乘數(shù)末位為1?計(jì)算部分積 被乘數(shù)左移一位,乘數(shù)右移一位乘數(shù)為0?結(jié)束(2)無(wú)符號(hào)除法實(shí)例演示(即,列4位除法具體例子演
12、算的算式):以01001010÷1000為例被除數(shù):01001010除數(shù):1000 00001001 00001000 00000001 00000010 一位 00001000 00000101 00000101 00001000 00001010 00001000 _ 00000010 硬件原理框圖:中間結(jié)果送A,作為被減數(shù)被除數(shù)/中間結(jié)果與除數(shù)做差大于0,結(jié)果即為余數(shù)被除數(shù),余數(shù)減法有進(jìn)位相應(yīng)位置為0,否則為1除數(shù)送W,作為減數(shù)被除數(shù)右移,下一位落下算法流程圖:開始被除數(shù),除數(shù),商,余數(shù)初始化被除數(shù)右移四位得中間結(jié)果中間結(jié)果=中間結(jié)果-除數(shù)>0?YN商的第五位為0;商的第
13、五位為1;被除數(shù)第四位=0?YNs中間結(jié)果左移1位加1中間結(jié)果左移1位中間結(jié)果=中間結(jié)果-除數(shù)>0?NY 商的第四位為0;商的第四位為1;YN被除數(shù)第三位=0?中間結(jié)果左移1位加1中間結(jié)果左移1位中間結(jié)果=中間結(jié)果-除數(shù)>0? 求得商,余數(shù) 除法指令算法路程圖3對(duì)應(yīng)于以上算法如何分配使用COP2000實(shí)驗(yàn)儀中的硬件(1)無(wú)符號(hào)乘法表3 無(wú)符號(hào)乘法的硬件分配情況硬件名稱實(shí)現(xiàn)算法功能描述寄存器R0 初始化時(shí),用來(lái)存放被乘數(shù); 在程序執(zhí)行的過(guò)程中,用來(lái)存放左移后的被乘數(shù)。寄存器R1 始化時(shí),用來(lái) 存放乘數(shù); 在程序執(zhí)行的過(guò)程中,用來(lái)存放右移后的乘數(shù)。寄存器R2用來(lái)存放部分積和最終結(jié)果累加
14、器A執(zhí)行ADD A,R?(加法)、SUB A,#II (減法),SAL A(左移一位)、SHR A(右移一位)等命令時(shí)所必須使用的寄存器。寄存器W執(zhí)行ADD A,R?(加法)、SUB R?,#II(減法)等雙操作數(shù)命令時(shí)所必須使用的寄存器。左移門L用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)左移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來(lái)控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)右移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計(jì)數(shù)器PC 控制程序按順序正常執(zhí)行; 當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動(dòng)執(zhí)行。 當(dāng)要從EM中讀取數(shù)據(jù)時(shí),由
15、PC提供地址。存儲(chǔ)器EM存儲(chǔ)指令和數(shù)據(jù)。微程序計(jì)數(shù)器PC向微程序存儲(chǔ)器M提供相應(yīng)微指令的地址。微程序存儲(chǔ)器M存儲(chǔ)相應(yīng)指令的微指令。(2)無(wú)符號(hào)除法表4 無(wú)符號(hào)除法的硬件分配情況硬件名稱實(shí)現(xiàn)算法功能描述寄存器R0初始化時(shí),用來(lái)存放被除數(shù)。寄存器R1初始化時(shí),用來(lái)存放除數(shù);寄存器R2在程序執(zhí)行過(guò)程中,用來(lái)保存當(dāng)前算得的商。寄存器R3程序運(yùn)行過(guò)程中用來(lái)存放對(duì)被除數(shù)操作后的結(jié)果,最后用于保存余數(shù)。累加器A 計(jì)算時(shí)用來(lái)存放中間結(jié)果; 執(zhí)行ADD A,R?(加法)、SUB A,R?(減法)等命令時(shí)所必須使用的寄存器。寄存器W執(zhí)行SUB A,R?(減法)等雙操作數(shù)命令時(shí)所必須使用的寄存器。左移門L用來(lái)實(shí)現(xiàn)相
16、應(yīng)數(shù)據(jù)左移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來(lái)控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)右移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計(jì)數(shù)器PC 控制程序按順序正常執(zhí)行; 當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動(dòng)執(zhí)行。 當(dāng)要從EM中讀取數(shù)據(jù)時(shí),由PC提供地址。存儲(chǔ)器EM存儲(chǔ)指令和數(shù)據(jù)。微程序計(jì)數(shù)器PC向微程序存儲(chǔ)器M提供相應(yīng)微指令的地址。微程序存儲(chǔ)器M存儲(chǔ)相應(yīng)指令的微指令。輸出寄存器OUT可以將運(yùn)算結(jié)果輸出到輸出寄存器OUT(本實(shí)驗(yàn)未用)。堆棧ST當(dāng)存儲(chǔ)于累加器R0的值將要受到破壞時(shí),將其數(shù)據(jù)保存在
17、堆棧ST中,使程序能夠正常地執(zhí)行。4在COP2000集成開發(fā)環(huán)境下設(shè)計(jì)全新的指令/微指令系統(tǒng)設(shè)計(jì)結(jié)果如表所示(可按需要增刪表項(xiàng))(1) 新的指令集(設(shè)計(jì)兩個(gè)不同指令集要分別列表)助記符機(jī)器碼1機(jī)器碼2指令說(shuō)明PUSH A000001xx 04-07將寄存器A中的數(shù)存到堆棧寄存器ST。POP A000010xx08-0B將堆棧寄存器ST中的數(shù)存到A。ADD A,#II000011xx0C-0F II將寄存器A中的數(shù)與立即數(shù)II相加送A 并影響標(biāo)志位ADD A,R?000100xx10-13將寄存器R?中的數(shù)與寄存器A中的數(shù)相加送R?,并影響標(biāo)志位LD R?,#II000101xx14-17II將
18、立即數(shù)II中的數(shù)送寄存器R?LD R?,A000110xx18-1B將寄存器A中的數(shù)送至寄存器R?中LD A,R?000111xx1C-1F將寄存器R中的數(shù)送至寄存器A中HR A001010xx 28-2B寄存器A中的數(shù)不帶進(jìn)位右移一位,并影響標(biāo)志位SAL A001011xx2C-2F寄存器A中的數(shù)不帶進(jìn)位左移一位,并影響標(biāo)志位SHR A001100xx30-33寄存器A中的數(shù)帶進(jìn)位向右移一位,并影響標(biāo)志位SUB A,#II001101xx34-37II將寄存器A中的數(shù)與立即數(shù)II相減送至寄存器A并影響標(biāo)志位ADD R?,#II001110xx38-3BII將寄存器R?中的數(shù)與立即數(shù)相加送至R
19、?并影響標(biāo)志位ADD R?,A001111xx3C-3F將寄存器A中的數(shù)與R?中的數(shù)相加送至R?,并影響標(biāo)志位SUB R?,#II010000x40-43II將寄存器R?中的數(shù)與立即數(shù)II相減送至R?并影響標(biāo)志位SUB A,R?010001xx44-47將寄存器A中的數(shù)與寄存器R?中的數(shù)相減送至A中,并影響標(biāo)志位AND R?,#II010010xx48-4BII將寄存器R?中的數(shù)與立即數(shù)II相與送至R?中GOTO MM010011xx4C-4FMM無(wú)條件跳轉(zhuǎn)至MMGC MM010100xx50-53MM如果零標(biāo)志位為1 ,跳轉(zhuǎn)至MMGZ MM010101xx54-57MM如果進(jìn)位標(biāo)志位為1 ,
20、跳轉(zhuǎn)至MM下圖為實(shí)驗(yàn)過(guò)程中指令系統(tǒng)的截圖(2) 新的微指令集助記符狀態(tài)微地址微程序數(shù)據(jù)輸出數(shù)據(jù)打入地址輸出運(yùn)算器移位控制mPCPC_FATCH_T0->00CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+101FFFFFF浮空浮空A輸出+102FFFFFF浮空浮空A輸出+103FFFFFF浮空浮空A輸出+1PUSH AT104FFFF9FALU直通堆棧寄存器ST浮空A輸出+1T005CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+106FFFFFF浮空浮空A輸出+107FFFFFF浮空浮空A輸出+1POP AT108FFFF57堆棧寄存器ST寄存器A浮空A輸出+1T009CBFFFF
21、浮空指令寄存器IRPC輸出A輸出寫入+10AFFFFFF浮空浮空A輸出+10BFFFFFF浮空浮空A輸出+1ADD A,#IIT20CC7FFFF存貯器值EM寄存器W 標(biāo)志位C,ZPC輸出A輸出+1+1T10DFFFF90ALU直通寄存器A浮空加運(yùn)算+1T00ECBFFFF浮空指令寄存器IRPC輸出A輸出寫入+10FFFFFFF浮空浮空A輸出+1T210FFF7EF寄存器值R?寄存器W浮空A輸出+1T111FFFF90ALU直通寄存器A 標(biāo)志位C,Z浮空加運(yùn)算+1T012CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+113FFFFFF浮空浮空A輸出+1ADD A,R?T114C7FBFF存
22、貯器值EM寄存器R?PC輸出A輸出+1+1T015CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+116FFFFFF浮空浮空A輸出+117FFFFFF浮空浮空A輸出+118FFFFFF浮空浮空A輸出19FFFFFF浮空浮空A輸出1AFFFFFF浮空浮空A輸出1BFFFFFF浮空浮空A輸出LD A,R?T11CFFF7F0寄存器值R?寄存器A浮空加運(yùn)算T01DCBFFFF浮空指令寄存器IRPC輸出A輸出寫入+11EFFFFFF浮空浮空A輸出+11FFFFFFF浮空浮空A輸出+1UNDEF20FFFFFF浮空浮空A輸出+121FFFFFF浮空浮空A輸出+122FFFFFF浮空浮空A輸出+123F
23、FFFFF浮空浮空A輸出+1UNDEF24FFFFFF浮空浮空A輸出+125FFFFFF浮空浮空A輸出+126FFFFFF浮空浮空A輸出+127FFFFFF浮空浮空A輸出+1HR AT128FFFFB7ALU右移寄存器A浮空A輸出帶進(jìn)位右移+1T029CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+12AFFFFFF浮空浮空A輸出+12BFFFFFF浮空浮空A輸出+1SAL AT12CFFFCD7ALU左移寄存器A,標(biāo)志位C,Z浮空A輸出左移+1T02DCBFFFF浮空指令寄存器IRPC輸出A輸出寫入+12EFFFFFF浮空浮空A輸出+12FFFFFFF浮空浮空A輸出+1SHR AT130F
24、FFFB7ALU右移寄存器A 標(biāo)志位C,Z浮空A輸出帶進(jìn)位右移+1T031CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+132FFFFFF浮空浮空A輸出+133FFFFFF浮空浮空A輸出+1SUB A,#IIT234C7FEE9存貯器值EM寄存器W 標(biāo)志位C,ZPC輸出減運(yùn)算+1+1T135FFFF97ALU直通寄存器A浮空A輸出+1T036CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+137FFFFFF浮空浮空A輸出+1ADD R?,#IIT338C7FFE8存貯器值EM寄存器WPC輸出加運(yùn)算+1+1T239FFF7F7寄存器值R?寄存器A浮空A輸出+1T13AFFFB90ALU直通
25、寄存器R?寄存器A浮空加運(yùn)算+1T03BCBFFFF浮空指令寄存器IRPC輸出A輸出寫入+1ADD R?,#IIT23CFFF7EF寄存器值R?寄存器W浮空A輸出+1T13DFFFA98ALU直通寄存器R?標(biāo)志位C,Z浮空加運(yùn)算+1T03ECBFFFF浮空指令寄存器IRPC輸出A輸出寫入+13FFFFFFF浮空浮空A輸出+1SUB A,#IIT240C7FFFF存貯器值EM寄存器A寄存器WPC輸出減運(yùn)算+1+1T141FFF7F7寄存器值R?寄存器A浮空A輸出+1T042CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+143FFFFFF浮空浮空A輸出+1SUB A,R?T244FFF7EF寄
26、存器值R?寄存器W浮空A輸出+1T145FFFE91ALU直通寄存器A標(biāo)志位C,Z浮空減運(yùn)算+1T046CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+147FFFFFF浮空浮空A輸出+1AND R?,#IIT348C7FFEF存貯器值EM寄存器WPC輸出A輸出+1+1T249FFF7F7寄存器值R?寄存器A浮空A輸出+1T14AFFFA93ALU直通寄存器R?寄存器A標(biāo)志位C,Z浮空與運(yùn)算+1T04BCBFFFF浮空指令寄存器IRPC輸出A輸出寫入+1GOTO MMT14CC6FFFF存貯器值EM寄存器PCPC輸出A輸出+1寫入T04DCBFFFF浮空指令寄存器IRPC輸出A輸出寫入+14
27、EFFFFFF浮空浮空A輸出+14FFFFFFF浮空浮空A輸出+1GC MMT150C6FFFF存貯器值EM寄存器PCPC輸出A輸出+1寫入T051CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+152FFFFFF浮空浮空A輸出+153FFFFFF浮空浮空A輸出+1GZ MMT154C6FFFF存貯器值EM寄存器PCPC輸出A輸出+1寫入T055CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+1如下為實(shí)驗(yàn)過(guò)程中新建微指令的截圖5用設(shè)計(jì)完成的新指令集編寫實(shí)現(xiàn)無(wú)符號(hào)二進(jìn)制乘法、除法功能的匯編語(yǔ)言程序(1)乘法4位乘法的算法流程圖與匯編語(yǔ)言程序清單:LD R0,#03HLD R1,#04HLD
28、R2,#00HLOOP1:LD A,R1SHR ALD R1,AGC LOOP2LD A,R0SAL ALD R0,AGOTO LOOP1LOOP2:LD A,R0ADD R2,ALD A,R1SUB A,#00HGZ FINALGOTO LOOP1FINAL:END(3) 除法(選作)4位除法的算法流程圖與匯編語(yǔ)言程序清單:LDR0,#4AH;被除數(shù)LDR1,#08H;除數(shù)LDR2,#00H;商LDR3,#4AH;余數(shù);R3暫時(shí)存放中間結(jié)果;切記不能用兩個(gè)存儲(chǔ)器操作數(shù)LD A,R0HRAHRAHRA ;第一次-不帶進(jìn)位右移三位SUB A,R1 PUSH A ;中間商 ,暫存第一次差GCLS0
29、;減不開轉(zhuǎn)LS0,減得開繼續(xù)ADDR2,#08H;商的第四位為1,帶寄存器的加減法都會(huì)使A中值改變 POP ALOOP0:PUSH A ANDR0,#04H;得被除數(shù)第三位SUBR0,#00H;判斷被除數(shù)第三位是否為0POP A ;中間結(jié)果GZNEXT0;若為0,跳轉(zhuǎn)至NEXT0;若非0,繼續(xù) SALAADDA,#01H ;非0即1 ,還原為1GOTOTAG0NEXT0: SALA;直接左移,原 被乘數(shù)的第三位(中間結(jié)果的最后一位)為0TAG0:SUBA,R1 ;繼續(xù)做差 ,需要帶進(jìn)位GCLS1;減不開轉(zhuǎn)LS1 PUSH A;減得開,繼續(xù) ADDR2,#04H;商的第三位為1 POP ALOO
30、P1:PUSH ALD A,R3 LD R0,APOP APUSH AANDR0,#02HSUBR0,#00H POP AGZNEXT1;被除數(shù)的第二位為0 SALAADDA,#01HGOTOTAG1NEXT1:SALATAG1:SUBA,R1GCLS2;減不開轉(zhuǎn)2 PUSH A ADDR2,#02H;商的第二位為1 POP ALOOP2:PUSH ALD A,R3 LD R0,APOP APUSH AANDR0,#01HSUBR0,#00H POP AGZNEXT2;被除數(shù)的第一位為0SALAADDA,#01HGOTOTAG2NEXT2:SALATAG2:PUSH A LD A,R3 LD
31、R0,A POP APUSHASUBA,R1GCNEXT3 PUSH AADDR2,#01H;商的第一位為1 POP A GOTOTAG3NEXT3: ADDR2,#00H;商的第一位為0 POPATAG3:LDR3,AGOTO FINALLS0:ADDA,R1GOTOLOOP0LS1:ADDA,R1GOTOLOOP1LS2:ADDA,R1GOTOLOOP2FINAL:END6上述程序的運(yùn)行情況(跟蹤結(jié)果)無(wú)符號(hào)乘法程序的運(yùn)行過(guò)程匯 編 指 令程序地址機(jī)器碼指令說(shuō)明微程序PC mPC運(yùn)行時(shí)寄存器或存儲(chǔ)器的值_FATCH_000000實(shí)驗(yàn)機(jī)占用,不可修改。復(fù)位后,所有寄存器清0,首先執(zhí)行 _FA
32、TCH_ 指令取指。CBFFFF+1寫入EM:14LD R0,#03001403將立即數(shù)03H送至寄存器R0C7FBFFCBFFFF+1+1+1寫入EM:14R0:00R1:00R2:00A:00LD R1,#04H021504將立即數(shù)04H送至寄存器R1C7FBFFCBFFFF+1+1+1寫入EM:15R0:03R2:00R1:00A:00LD R2,#00H041600將立即數(shù) 00H送至寄存器R2C7FBFFCBFFFF+1+1+1寫入EM:16R0:03R1:04R2:00A:00LD A,R1061D將寄存器R1中的數(shù)送至A寄存器FFF7F0CBFFFF+1+1寫入EM:1DR0:0
33、3R1:04R2:00SHR A0730將寄存器A中的數(shù)據(jù)帶進(jìn)位右移一位,帶標(biāo)志位FFFEB7CBFFFF+1+1寫入A:04R0:03R1:04R2:00EM:30LD R1,A0819將寄存器A中的數(shù)據(jù)送至R1FFFB9FCBFFFF+1+1寫入A:02EM:19R0:03R1:04R2:00GC 10095010如果進(jìn)位標(biāo)志位1 則跳轉(zhuǎn)至10C6FFFFCBFFFF寫入+1+1寫入EM:50R0:03R1:02R2:00A:02LD A,R00B1C將寄存器R0中的數(shù)據(jù)送至寄存器AFFF7F0CBFFFF+1寫入+1EM:1CA:02R0:03R1:02R2:00SAL A0C2C寄存器
34、A中的數(shù)據(jù)不帶進(jìn)位左移一位FFFCD7CBFFFF+1寫入+1EM:2CA:03R0:03R1:02R2:00LD R0,A0D18將寄存器A中的數(shù)據(jù)送至寄存器R0FFFB9FCBFFFF+1+1寫入EM:18R1:02A:06R0:03R2:00GOTO 060E4C06無(wú)條件跳轉(zhuǎn)至06C6FFFFCBFFFF寫入+1+1寫入EM:4CR0:06R1:02A:06R2:00LD A,R0101C將寄存器R0中的數(shù)據(jù)送至寄存器AFFF7F0CBFFFF+1+1寫入EM:1CA:00R0:0CR1:02R2:00ADD R2,A113E將寄存器R2中的數(shù)據(jù)域寄存器A中的數(shù)據(jù)相加送至A,影響標(biāo)志位
35、FFF7EFCBFFFF+1+1EM:3EA:0CR0:0CR1:02R2:00LD A,R1121D將寄存器R1中的數(shù)據(jù)送至A+1+1寫入EM:1DA:0CR0:0CR1:02R2:00SUB A,#00H133400將寄存器A中的數(shù)據(jù)與立即數(shù)A相減送至A,影響標(biāo)志位+1+1寫入EM:34R2:0CA:0CR0:0CR1:02GZ 19155419無(wú)條件跳轉(zhuǎn)至19+1寫入寫入+1EM:54R2:0CA:0CR0:0CR1:02實(shí)驗(yàn)過(guò)程中的 截圖如下:無(wú)符號(hào)除法程序的運(yùn)行過(guò)程匯 編 指 令程序地址機(jī)器碼指令說(shuō)明微程序PC mPC運(yùn)行時(shí)寄存器或存儲(chǔ)器的值LDR0,#4AH00144A將立即數(shù)4A
36、H送至R0寄存器C7FBFFCBFFFF+1+1寫入+1EM:14A:00R0:4AR1:00R2:00R3:00W:00LDR1,#08H021508將立即數(shù)08H送至R1寄存器C7FBFFCBFFFF+1+1寫入+1EM:08A:00R0:4AR1:08R2:00R3:00W:00LDR2,#00H041600將立即數(shù)00H送至R2寄存器C7FBFFCBFFFF+1+1寫入+1EM:00A:00R0:4AR1:00R2:00R3:00W:00LDR3,#4AH06174A將立即數(shù)4AH送至R3寄存器C7FBFFCBFFFF+1+1寫入+1EM:4AA:00R0:4AR1:08R2:00R3
37、:4AW:00LD A,R0 081C 將寄存器R0中的數(shù)送至A寄存器FFF7F0CBFFFF+1+1寫入EM:14A:4AR0:4AR1:08R2:00R3:4AW:00HRA0928將寄存器A中的數(shù)不帶進(jìn)位右移一位FFFFB7CBFFFF+1+1寫入EM:28A:25R0:4AR1:08R2:00R3:4AW:00HRA0A28將寄存器A中的數(shù)不帶進(jìn)位右移一位FFFFB7CBFFFF+1+1寫入EM:28A:12R0:4AR1:08R2:00R3:4AW:00HRA0B28將寄存器A中的數(shù)不帶進(jìn)位右移一位FFFFB7CBFFFF+1+1寫入EM:28A:09R0:4AR1:08R2:00R
38、3:4AW:00SUBA,R10C45將寄存器A中的數(shù)與R1中的數(shù)帶相減送至A,影響標(biāo)志位FFF7EFFFFE91CBFFFF+1+1+1寫入EM:45A:09R0:4AR1:08R2:00R3:4AW:00PUSH A0D04將寄存器A中的數(shù)壓棧FFFE9FCBFFFF+1寫入+1EM:04A:01R0:4AR1:08R2:00R3:4AW:08GC670E5067若進(jìn)位標(biāo)志位1,跳轉(zhuǎn)至67C6FFFFCBFFFF寫入+1+1寫入EM:67A:01R0:4AR1:08R2:00R3:4AW:08ADDR2,#08H103A08將寄存器R2中的數(shù)與立即數(shù)08H相加,送至R2,影響標(biāo)志位C7FF
39、E8FFF7F7FFFF57+1寫入+1EM:08A:08R0:4AR1:08R2:08R3:4AW:08POP A1208將堆棧寄存器中的數(shù)送至AFFFF57CBFFFF+1寫入+1EM:08A:01R0:4AR1:08R2:08R3:4AW:08PUSH A1304將寄存器A中的數(shù)壓棧至堆棧寄存器FFEF9FCBFFFF+1+1寫入+1EM:04A:01R0:4AR1:08R2:08R3:4AW:08ANDR0,#04H144804將立即數(shù)04H與R0中的數(shù)想與送至R0C7FFEFFFF7F7FFFA93CBFFFF+1+1+1+1寫入+1EM:04A:00R0:00R1:08R2:08R3:4AW:04SUBR0,#00H164000將R0中的數(shù)與立即數(shù)00H想減送至R0,影響標(biāo)志位C7FFE1FFF7F7CBFFFF+1+1+1寫入+1+1寫入EM:00A:00R0:-R1:08R2:08R3:4AW:00POP A1808將堆棧寄存器中的數(shù)送至AFFFF57CBFFFF+1+1寫入EM:00A:00R0:00R1:08R2:08R3:4AW:00GZ20195420如果零標(biāo)志位為0 ,跳轉(zhuǎn)至20C6FFFFCBFFFF寫入+1+1寫入EM:00A:00R0:00R1:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保項(xiàng)目監(jiān)理工程師22項(xiàng)環(huán)境監(jiān)理責(zé)任合同
- 2025年度城市排水及污水處理設(shè)施建設(shè)項(xiàng)目合同管理實(shí)施細(xì)則
- 2025年個(gè)人房屋裝修貸款合同范文(2篇)
- 2025年度建筑工程勞務(wù)用工實(shí)名制管理合同
- 2025大連市農(nóng)作物種子代銷合同范文
- 2025個(gè)人房屋買賣合同協(xié)議樣式
- 2025年度智能家居租賃管理服務(wù)合同
- 2025年度光伏發(fā)電項(xiàng)目建筑工程咨詢服務(wù)合同
- 2025年度化肥新產(chǎn)品研發(fā)與試制服務(wù)合同
- 2025年度新能源汽車充電基礎(chǔ)設(shè)施建設(shè)合同
- 一級(jí)建造師繼續(xù)教育最全題庫(kù)及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
- GB/T 17854-1999埋弧焊用不銹鋼焊絲和焊劑
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 直線加速器專項(xiàng)施工方案
- 聯(lián)苯二氯芐生產(chǎn)工藝及產(chǎn)排污分析
- 儲(chǔ)能設(shè)備項(xiàng)目采購(gòu)供應(yīng)質(zhì)量管理方案
- 2022年全國(guó)卷高考語(yǔ)文答題卡格式
- 復(fù)旦大學(xué)簡(jiǎn)介 (課堂PPT)
- CKD馬達(dá)使用說(shuō)明
評(píng)論
0/150
提交評(píng)論