2020年計算機(jī)組成原理課程設(shè)計_第1頁
2020年計算機(jī)組成原理課程設(shè)計_第2頁
2020年計算機(jī)組成原理課程設(shè)計_第3頁
2020年計算機(jī)組成原理課程設(shè)計_第4頁
2020年計算機(jī)組成原理課程設(shè)計_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)組成原理課程設(shè)計

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

計算機(jī)組成原理課程設(shè)計報告

一、課程設(shè)計目的

1.在實驗機(jī)上設(shè)計實現(xiàn)機(jī)器指令及對應(yīng)的微指

令(微程序)并驗證,從而進(jìn)一步掌握微程序設(shè)

計控制器的基本方法并了解指令系統(tǒng)與硬件結(jié)

構(gòu)的對應(yīng)關(guān)系;

2.經(jīng)過控制器的微程序設(shè)計,綜合理解計算機(jī)

組成原理課程的核心知識并進(jìn)一步建立整機(jī)系

統(tǒng)的概念;

3.培養(yǎng)綜合實踐及獨立分析、解決問題的能力。

二、課程設(shè)計的任務(wù)

針對COP實驗儀,從詳細(xì)了解該模型機(jī)的

指令/微指令系統(tǒng)入手,以實現(xiàn)乘法和除法運(yùn)算

功能為應(yīng)用目標(biāo),在COP的集成開發(fā)環(huán)境下,

設(shè)計全新的指令系統(tǒng)并編寫對應(yīng)的微程序;之后

編寫實現(xiàn)乘法和除法的程序進(jìn)行設(shè)計的驗證。

三、課程設(shè)計使用的設(shè)備(環(huán)境)

1.硬件

?COP實驗儀

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

?PC機(jī)

2.軟件

?COP仿真軟件

四、課程設(shè)計的具體內(nèi)容(步驟)

L詳細(xì)了解并掌握COP模型機(jī)的微程序控制

器原理,經(jīng)過綜合實驗來實現(xiàn)

該模型機(jī)指令系統(tǒng)的特點:

①總體概述

COP模型機(jī)包括了一個標(biāo)準(zhǔn)CPU所具備所有

部件,這些部件包括:運(yùn)算器ALU、累加器A、

工作寄存器W、左移門L、直通門D、右移門R、

寄存器組R0-R3、程序計數(shù)器PC、地址寄存器

MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入

端口IN、輸出端口寄存器OUT、程序存儲器EM、

指令寄存器IR、微程序計數(shù)器uPC、微程序存儲

器uM,以及中斷控制電路、跳轉(zhuǎn)控制電路。其

中運(yùn)算器和中斷控制電路以及跳轉(zhuǎn)控制電路用

CPLD來實現(xiàn),其它電路都是用離散的數(shù)字電路

組成。微程序控制部分也能夠用組合邏輯控制來

代替。

模型機(jī)的指令碼為8位,根據(jù)指令類型的不

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

同,能夠有0到2個操作數(shù)。指令碼的最低兩位

用來選擇RO-R3寄存器,在微程序控制方式中,

用指令碼做為微地址來尋址微程序存儲器,找到

執(zhí)行該指令的微程序。而在組合邏輯控制方式

中,按時序用指令碼產(chǎn)生相應(yīng)的控制位。在本模

型機(jī)中,一條指令最多分四個狀態(tài)周期,一個狀

態(tài)周期為一個時鐘脈沖,每個狀態(tài)周期產(chǎn)生不同

的控制邏輯,實現(xiàn)模型機(jī)的各種功能。模型機(jī)有

24位控制位以控制寄存器的輸入、輸出,選擇

運(yùn)算器的運(yùn)算功能,存儲器的讀寫。

模型機(jī)的缺省的指令集分幾大類:算術(shù)運(yùn)算

指令、邏輯運(yùn)算指令、移位指令、數(shù)據(jù)傳輸指令、

跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。

②模型機(jī)的尋址方式

表1模型機(jī)的尋址方式

模型機(jī)的尋址方式說指令舉

指令說明

尋址方式明例

操作數(shù)為累將累加器A

CPLA

累加器尋加器A的值取反

址隱含尋址累將累加器A

OUT

加器A的值輸出到

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

輸出端口寄

存器OUT

將寄存器RO

參與運(yùn)算的

的值加上累

寄存器尋數(shù)據(jù)在ADD

加器A的值,

址R0?R3的寄A,RO

再存入累加

存器中

器A中

參與運(yùn)算的將寄存器R1

數(shù)據(jù)在存儲的值作為地

寄存器間器EM中,數(shù)MOV址,把存儲器

接尋址據(jù)的地址在A,@R1EM中該地址

寄存器的內(nèi)容送入

R0-R3中累加器A中

將存儲器EM

參與運(yùn)算的

中40H單元

數(shù)據(jù)在存儲

的數(shù)據(jù)與累

存儲器直器EM中,數(shù)AND

加器A的值

接尋址據(jù)的地址為A,40H

作邏輯與運(yùn)

指令的操作

算,結(jié)果存入

數(shù)。

累加器A

立即數(shù)尋參與運(yùn)算的SUB從累加器A

址數(shù)據(jù)為指令A(yù),#10H中減去立即

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

的操作數(shù)。數(shù)10H,結(jié)果

存入累加器

A

COP模型機(jī)指令的最低兩位(IR0和IR1)

用來尋址R0?R3四個寄存器;IR2和IR3與ELP

微控制信號,Cy和Z兩個程序狀態(tài)信號配合,

控制PC的置數(shù)即程序的轉(zhuǎn)移。各種轉(zhuǎn)移的條件

判斷邏輯如下所示:

PC置數(shù)邏輯

當(dāng)ELP=1時,不允許PC被預(yù)置

當(dāng)ELP=0時

當(dāng)IR3=1時,無論Cy和Z什么狀

態(tài),PC被預(yù)置

當(dāng)IR3=0時

若IR2=0,則當(dāng)Cy=l時PC被

預(yù)置

若IR2=L則當(dāng)Z=1時PC被

預(yù)置

本模型機(jī)時序控制采用不定長機(jī)器周期的

同步控制方式,一條指令最多分四個節(jié)拍。

系統(tǒng)提供的默認(rèn)指令系統(tǒng)包括以下7類指令:

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

田4)二宿比j型田=田狂皿任七匕人

ADDA,R?ANDA,R?MAA,R?JCMM

ADDA,@R?ANDA,@R?MOVA,@R?JZMM

ADDA,MMANDA,MMMOVA,MMJMPMM

ADDA,#HANDA,#HMOVA,#11CALLMMRET

ADDCA,R?ORA.R?MOVR?.A

移位指令:中斷皈回指輸入/輸出

AADDDCPAA,/@aDKOr

RRARETIREADMM

ADDCA,MM

RLAWRITEMM

ADDCA,#11

RRCAIN

該模型機(jī)微指令系統(tǒng)的特點(包括其微

指令格式的說明等):

①總體概述

該模型機(jī)的微命令是以直接表示法進(jìn)行編碼

的,其特點是操作控制字段中的每一位代表一個

微命令。這種方法的優(yōu)點是簡單直觀,其輸出直

接用于控制。缺點是微指令字較長,因而使控制

存儲器容量較大。

②微指令格式的說明

模型機(jī)有24位控制位以控制寄存器的輸

入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲器的讀

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

寫。微程序控制器由微程序給出24位控制信號,

而微程序的地址又是由指令碼提供的,也就是說

24位控制信號是由指令碼確定的。該模型機(jī)的

微指令的長度為24位,其中微指令中只含有微

命令字段,沒有微地址字段。其中微命令字段采

用直接按位的表示法,哪位為0,表示選中該微

操作,而微程序的地址則由指令碼指定。這24

位操作控制信號的功能如表2所示:(按控制信

號從左到右的順序依次說明)

表2微指令控制信號的功能

操作招

控制信號的說明

制信號

外部設(shè)備讀信號,當(dāng)給出了外設(shè)的地址

XRD

后,輸出此信號,從指定外設(shè)讀數(shù)據(jù)。

EMW

程序存儲器EM寫信號。

R

EMRD程序存儲器EM讀信號。

將程序計數(shù)器PC的值送到地址總

PCOE

線ABUS±o

將程序存儲器EM與數(shù)據(jù)總線

EMEN

DBUS接通,由EMWR和EMRD

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

決定是將DBUS數(shù)據(jù)寫到EM中,

還是從EM讀出數(shù)據(jù)送到DBUSo

將程序存儲器EM讀出的數(shù)據(jù)打入指

IREN

令寄存器IR和微指令計數(shù)器FiPCo

中斷返回時清除中斷響應(yīng)和中斷

EINT

請求標(biāo)志,便于下次中斷。

PC打入允許,與指令寄存器的

ELP

IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。

MARE將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址

N寄存器MARo

MARO將地址寄存器MAR的值送到地址

E總線ABUS±0

OUTE將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出

N端口寄存器OUT里。

將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧

STEN

寄存器ST中。

讀寄存器組R0~R3,寄存器R?的

RRD

選擇由指令的最低兩位決定。

寫寄存器組R0~R3,寄存器R?的

RWR

選擇由指令的最低兩位決定。

決定運(yùn)算器是否帶進(jìn)位移位,

CN

CN=1帶進(jìn)位,CN=0不帶進(jìn)位。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄

FEN

存器。

X2

X2、XI、X0三位組合來譯碼選擇

XI

將數(shù)據(jù)送到DBUS上的寄存器。

X0

將數(shù)據(jù)總線DBUS的值打入工作寄

WEN

存器W中。

將數(shù)據(jù)總線DBUS的值打入累加器

AEN

A中。

S2

S2、SI、SO三位組合決定ALU做

S1

何種運(yùn)算。

SO

COP中有7個寄存器能夠向數(shù)據(jù)總線輸出數(shù)

據(jù),但在某一特定時刻只能有一個寄存器輸出

數(shù)據(jù).由X2,XI,X0決定那一個寄存器輸出數(shù)

據(jù)。

X2XI輸出寄存器

X0

00IN_OE夕卜

0部輸入門

00IA_OE中

1斷向量

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

01ST_OE堆

0棧寄存器

01PC_OE

1PC寄存器

10D_OE直

0通門

10R_OE右

1移門

11L_OE左

0移門

11沒有輸出

1

COP中的運(yùn)算器由一片EPLD實現(xiàn).有8種運(yùn)

算,經(jīng)過S2,SI,SO來選擇。運(yùn)算數(shù)據(jù)由寄存器

A及寄存器W給出,運(yùn)算結(jié)果輸出到直通門D。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

01A|W或

0

01A&W與

1

10A+W+C帶

0進(jìn)位加

10A-W-C帶

1進(jìn)位減

11?AA

0取反

11A輸

1出A

2o計算機(jī)中實現(xiàn)乘法和除法的原理

(1)無符號乘法

①實例演示(即,列4位乘法具體例子演

算的算式):

1001;被

乘數(shù)

X0101;乘

數(shù)

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

0000;初始值

(零)

+0101(0);乘

數(shù)最低位為1,部分積加乘數(shù),被乘數(shù)左移

9

位,乘

數(shù)右移

一位。

0101;部

分積

+0000(1);乘

數(shù)最低位為0,部分積加0,被乘數(shù)左

;移

一位,

乘數(shù)右

移一

位。

00101;部

分積

+0101(1);乘

數(shù)最低位為1,部分積加被乘數(shù),被乘數(shù)左

;移

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

-------------------一位,乘數(shù)

右移一位。

011001;部分積

+0000(0);乘

數(shù)最低位為0,部分積加0,被乘數(shù)左移一

位,乘

數(shù)右移

一位。

(0)0011001;計

算完畢,結(jié)果為0011001

即:1001X0110=0011001

②硬件原理框圖:

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

在模型機(jī)上實現(xiàn)無符號數(shù)乘法運(yùn)算時,采

用“加法一移位”的重復(fù)運(yùn)算方法。那么,

無符號乘法的硬件原理框圖如圖2所示。

③算法流程圖:

在模型機(jī)上實現(xiàn)無符號數(shù)乘法運(yùn)算時,采用

“加法一移位”的重復(fù)運(yùn)算方法。因此,無符號

乘法的算法流程圖如圖3所示。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

③算法流程圖

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

(2)無符號除法

①實例演示(即,列4位除法具體例子演

算的算式):

被除數(shù)為01100100(二進(jìn)制),即為十進(jìn)制的

100;除數(shù)為1001(二進(jìn)制),即為十進(jìn)制的9。

那么,能夠經(jīng)過筆算得到:

011001004-1001=1011-0001

即十進(jìn)制運(yùn)算結(jié)果為:

1004-9=11-1

無符號除法的實例演示如圖4所示

01011

1i6"liooio

o;被除數(shù)

100

1;除數(shù)

;減去除數(shù)

1101

0

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

余數(shù)為負(fù),c=l,商上0

100

1;

商左移一位,除數(shù)右移

一位

;加上

除數(shù)

00011

1;余數(shù)為正,C=0,商上1

100

1;商

左移一位,除數(shù)右移

一位

;減去除數(shù)

111110

0;余數(shù)為

負(fù),C=l,商上0

100

1;商左移一位,除數(shù)右移一位

;加上

除數(shù)

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

0000101

0;余數(shù)為正,C=0,商上1

100

1;商左移一

位,除數(shù)右移一位

;減去除數(shù)

0000000

1;余數(shù)為正,C=0,商上1,余數(shù)為1

;余數(shù)為正不用處理

②硬件原理框圖:

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

圖5無符號除法的硬件原理框圖

在模型機(jī)上實現(xiàn)無符號數(shù)除法運(yùn)算時,采

用“加減交替算法”的運(yùn)算方法。那么,無

符號除法的硬件原理框圖如圖5所示。

③算法流程圖:

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

3.對應(yīng)于以上算法如何分配使用COP實驗儀

中的硬件

(初步分配,設(shè)計完成后再將準(zhǔn)確的使用情況填

寫在此處)

(1)無符號乘法

符號乘法對應(yīng)于COP實驗儀的硬件具體分

配使用情況如下表所示:

表3無符號乘法的硬件分配情況

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

硬件名稱實現(xiàn)算法功能描述

計算時用來存放部分積和最后

寄存器R0

的積

①初始化時,用來存放被乘

數(shù);

寄存器R1

②在程序執(zhí)行的過程中,用來

存放向左移位后的被乘數(shù)。

①初始化時,用來存放乘數(shù);

寄存器R2②在程序執(zhí)行的過程中,用來

存放向右移位后的乘數(shù)。

執(zhí)行ADDA,R?(加法)、SHLR?

(左移一位)、SHRR?(右移

累加器A

一位)等命令時所必須使用的

寄存器。

執(zhí)行ADDA,R?(加法)、TEST

R?,#H(測試R2的末位)等雙

寄存器W

操作數(shù)命令時所必須使用的寄

存器。

用來實現(xiàn)相應(yīng)數(shù)據(jù)左移一位的

左移門L運(yùn)算,并能夠控制該運(yùn)算后的

結(jié)果是否輸出到數(shù)據(jù)總線。

直通門D用來控制ALU的執(zhí)行結(jié)果是否

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

輸出到數(shù)據(jù)總線。

用來實現(xiàn)相應(yīng)數(shù)據(jù)右移一位的

右移門R運(yùn)算,并能夠控制該運(yùn)算后的

結(jié)果是否輸出到數(shù)據(jù)總線。

①控制程序按順序正常執(zhí)行;

②當(dāng)執(zhí)行轉(zhuǎn)移指令時,從數(shù)據(jù)

程序計數(shù)線接收要跳轉(zhuǎn)的地址,使程序

器PC能夠按需要自動執(zhí)行。

③當(dāng)要從EM中讀取數(shù)據(jù)時,

由PC提供地址。

存儲器EM存儲指令和數(shù)據(jù)。

微程序計向微程序存儲器UM提供相應(yīng)

數(shù)器UPC微指令的地址。

微程序存

存儲相應(yīng)指令的微指令。

儲器UM

輸出寄存能夠?qū)⑦\(yùn)算結(jié)果輸出到輸出寄

器OUT存器OUT(本實驗未用)。

當(dāng)存儲于累加器A的值將要受

到破壞時,將其數(shù)據(jù)保存在堆

堆棧ST

棧ST中,使程序能夠正常地執(zhí)

行。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

(2)無符號除法

無符號除法對應(yīng)于COP實驗儀的硬件具體

分配使用情況如下表所示:

表4無符號除法的硬件分配情況

硬件名稱實現(xiàn)算法功能描述

初始化時,用來存放被除數(shù)和

寄存器R0

計算后的余數(shù)。

①初始化時,用來存放除數(shù);

寄存器R1②在程序執(zhí)行的過程中,用來

存放向右移位后的除數(shù)。

在程序執(zhí)行過程中,用來保存

寄存器R2

當(dāng)前算得的商。

當(dāng)作計數(shù)器使用,用來控制程

寄存器R3

序是否結(jié)束(初始值5)。

①計算時用來存放中間結(jié)果;

②執(zhí)行ADDA,R?(加法)、SUB

累加器A

A,R?(減法)等命令時所必須

使用的寄存器。

執(zhí)行SUBA,R?(減法)等雙操

寄存器W作數(shù)命令時所必須使用的寄存

器。

左移門L用來實現(xiàn)相應(yīng)數(shù)據(jù)左移一位的

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

運(yùn)算,并能夠控制該運(yùn)算后的

結(jié)果是否輸出到數(shù)據(jù)總線。

用來控制ALU的執(zhí)行結(jié)果是否

直通門D

輸出到數(shù)據(jù)總線。

用來實現(xiàn)相應(yīng)數(shù)據(jù)右移一位的

右移門R運(yùn)算,并能夠控制該運(yùn)算后的

結(jié)果是否輸出到數(shù)據(jù)總線。

①控制程序按順序正常執(zhí)行;

②當(dāng)執(zhí)行轉(zhuǎn)移指令時,從數(shù)據(jù)

程序計數(shù)線接收要跳轉(zhuǎn)的地址,使程序

器PC能夠按需要自動執(zhí)行。

③當(dāng)要從EM中讀取數(shù)據(jù)時,

由PC提供地址。

存儲器EM存儲指令和數(shù)據(jù)。

微程序計向微程序存儲器UM提供相應(yīng)

數(shù)器UPC微指令的地址。

微程序存

存儲相應(yīng)指令的微指令。

儲器UM

輸出寄存能夠?qū)⑦\(yùn)算結(jié)果輸出到輸出寄

器OUT存器OUT(本實驗未用)。

當(dāng)存儲于累加器A的值將要受

堆棧ST

到破壞時,將其數(shù)據(jù)保存在堆

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

棧ST中,使程序能夠正常地執(zhí)

行。

4.在COP集成開發(fā)環(huán)境下設(shè)計全新的指令/微

指令系統(tǒng)

設(shè)計結(jié)果如表所示(可按需要增刪表項)

(1)新的指令集

(設(shè)計兩個不同指令集要分別列表)

表5無符號乘法新指令集

助記機(jī)器碼機(jī)指令說明

符1器

碼2

_FAT000000實驗機(jī)占用,不可修改。復(fù)

CH_XX位后,所有寄存器清0,首

00-03先執(zhí)行_FATCH_指令取

指。

ADD000001將累加器A中的數(shù)加入到寄

R?,AXX存器R?中,并影響標(biāo)志位。

04-07

TEST000101II寄存器R?“與"立即數(shù)

R?,#XXH,只改變標(biāo)志位,并不改

II14-17變R?中的數(shù)值。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

MOV001001II將立即數(shù)II存放到寄存器

R?,#XXR?中。

II24-27

SHL001010寄存器R?中的數(shù)不帶進(jìn)位

R?XX向左移一位,并不影響標(biāo)志

28-2B位。

SHR001011寄存器R?中的數(shù)不帶進(jìn)位

R?XX向右移一位,并不影響標(biāo)志

2C-2F位。

JZ001101MM若零標(biāo)志位置1,跳轉(zhuǎn)到MM

MMXX地址。

34-37

JMP001110跳轉(zhuǎn)到MM地址。

MMXX

38-3B

OVER001111程序結(jié)束。

XX

3C-3F

表5無符號除法的新指令集

助記機(jī)器碼機(jī)指令說明

符1器

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

碼2

_FAT000000實驗機(jī)占用,不可修改。復(fù)

CH_XX位后,所有寄存器清0,首

00-03先執(zhí)行_FATCH_指令取

指。

ADD000001將累加器A中的數(shù)加入到寄

R?,AXX存器R?中,并影響標(biāo)志位。

04-07

II

ADD000010將立即數(shù)H加入到寄存器

R?,#XXR?中,并影響標(biāo)志位。

II08-0B

SUB000011從寄存器R?中減去累加器A

R?,AXX中的數(shù),并影響標(biāo)志位。

0C-0F

SUB000100II從寄存器R?中減去立即數(shù)

R?,#XXII,并影響標(biāo)志位。

II10-13

TEST000101II寄存器R?“與"立即數(shù)

R?,#XXH,只改變標(biāo)志位,并不改

II14-17變R?中的數(shù)值。

PUSH000110將累加器A中的數(shù)據(jù)壓入堆

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

AXX棧寄存器STo

18-1B

000111

POP將堆棧寄存器ST中的數(shù)據(jù)

XX

A彈出到累加器A中。

1C-1F

MOV001000將寄存器R?中的數(shù)放入累

A,R?XX加器A中。

20-23

MOV001001II將立即數(shù)II存放到寄存器

R?,#XXR?中。

II24-27

SHL001010寄存器R?中的數(shù)不帶進(jìn)位

R?XX向左移一位,并不影響標(biāo)志

28-2B位。

SHR001011寄存器R?中的數(shù)不帶進(jìn)位

R?XX向右移一位,并不影響標(biāo)志

2C-2F位。

JC001100MM若進(jìn)位標(biāo)志位置1,跳轉(zhuǎn)到

MMXXMM地址。

30-33

JZ001101MM若零標(biāo)志位置L跳轉(zhuǎn)到MM

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

MMXX地址。

34-37

JMP001110跳轉(zhuǎn)到MM地址。

MMXX

38-3B

OVER001111程序結(jié)束。

XX

3C-3F

(2)新的微指令集

無符號乘法的新微指令集

助記狀微微程數(shù)據(jù)數(shù)據(jù)地址運(yùn)移位P

符態(tài)地序輸出打入輸出算控制CC

址器

_FATT000CBFF指令PC輸A輸寫+1

CH_FF寄存出出入

器IR

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

01FFFFA輸+1

FF出

02FFFFA輸+1

FF出

03FFFFA輸+1

FF出

ADDT204FFF7寄存寄存A輸+1

R?,AEF器值器W出

R?

T105FFFAALU寄存加+1

98直通器R?運(yùn)

志算

C,Z

TO06CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

07FFFFA輸+1

FF出

TESTT314C7FF存貯寄存PC輸A輸+1+1

R?,#EF器值器W出出

IIEM

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

T215FFF7寄存寄存A輸+1

F7器值器A出

R?

T116FFFEALU寄存與+1

93直通器R?運(yùn)

志算

C,Z

TO17CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

MOVT124C7FB存貯寄存PC輸A輸+1+1

R?,#FF器值器出出

IIEMR?

TO25CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

26FFFFA輸+1

FF出

27FFFFA輸+1

FF出

SHLT228FFF7寄存寄存A輸+1

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

R?F7器值器A出

R?

T129FFF9ALU寄存A輸左移+1

DF左移器出

R?

TO2ACBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

2BFFFFA輸+1

FF出

SHRT22CFFF7寄存寄存A輸+1

R?F7器值器A出

R?

T12DFFF9ALU寄存A輸右移+1

BF右移器出

R?

TO2ECBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

2FFFFFA輸+1

FF出

JZT134C6FF存貯寄存PC輸A輸+1寫

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

MMFF器值器PC出出入

EM

TO35CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

36FFFFA輸+1

FF出

37FFFFA輸+1

FF出

JMPT138C6FF存貯寄存PC輸A輸+1寫

MMFF器值器PC出出入

EM

TO39CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

3AFFFFA輸+1

FF出

3BFFFFA輸+1

FF出

OVERTO3CCBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

3DFFFFA輸+1

FF出

3EFFFFA輸+1

FF出

3FFFFFA輸+1

FF出

無符號除法的新微指令集

助記狀微微程數(shù)據(jù)數(shù)據(jù)地址運(yùn)移位吁P

符態(tài)地序輸出打入輸出算控制CC

址器

_FATTO00CBFF指令PC輸A輸寫+1

CH_FF寄存出出入

器IR

01FFFFA輸+1

FF出

02FFFFA輸+1

FF出

03FFFFA輸+1

FF出

ADDT204FFF7寄存寄存A輸+1

R?,AEF器值器W出

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

R?

T105FFFAALU寄存加+1

98直通器R?運(yùn)

志算

C,Z

TO06CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

07FFFFA輸+1

FF出

ADDT308FFF7寄存寄存A輸+1

R?,#F7器值器A出

IIR?

T209C7FF存貯寄存PC輸A輸+1+1

EF器值器W出出

EM

T10AFFFAALU寄存加+1

98直通器R?運(yùn)

志算

c,z

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

TOOBCBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

SUBT3OCFFFFALU寄存A輸+1

R?,A8F直通器W出

T2ODFFF7寄存寄存A輸+1

F7器值器A出

R?

T1OEFFFAALU寄存減+1

99直通器運(yùn)

R?標(biāo)算

志位

C,Z

TOOFCBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

SUBT310FFF7寄存寄存A輸+1

R?,#F7器值器A出

IIR?

T211C7FF存貯寄存PC輸A輸+1+1

EF器值器W出出

EM

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

T112FFFAALU寄存減+1

99直通器R?運(yùn)

志算

C,Z

TO13CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

TESTT314C7FF存貯寄存PC輸A輸+1+1

R?,#FF器值器W出出

IIEM

T215FFF7寄存寄存A輸+1

F7器值器A出

R?

T116FFFEALU寄存與+1

93直通器R?運(yùn)

志算

C,Z

TO17CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

PUSHT118FFEFALU堆棧A輸+1

A9F直通寄存出

器ST

TO19CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

1AFFFFA輸+1

FF出

IBFFFFA輸+1

FF出

POPT1ICFFFF堆棧寄存A輸+1

A57寄存器A出

器ST

TOIDCBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

IEFFFFA輸+1

FF出

IFFFFFA輸+1

FF出

MOVT120FFF7寄存寄存A輸+1

A,R?F7器值器A出

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

R?

TO21CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

22FFFFA輸

FF出

23FFFFA輸

FF出

MOVT124C7FB存貯寄存PC輸A輸+1+1

R?,#FF器值器出出

IIEMR?

TO25CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

26FFFFA輸+1

FF出

27FFFFA輸+1

FF出

SHLT228FFF7寄存寄存A輸+1

R?F7器值器A出

R?

T129FFF9ALU寄存A輸左移+1

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

DF左移器出

R?

TO2ACBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

2BFFFFA輸+1

FF出

SHRT22CFFF7寄存寄存A輸+1

R?F7器值器A出

R?

T12DFFF9ALU寄存A輸右移+1

BF右移器出

R?

TO2ECBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

2FFFFFA輸+1

FF出

JCT130C6FF存貯寄存PC輸A輸+1寫

MMFF器值器PC出出入

EM

TO31CBFF指令PC輸A輸寫+1

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

FF寄存出出入

器IR

32FFFFA輸+1

FF出

33FFFFA輸+1

FF出

JZT134C6FF存貯寄存PC輸A輸+1寫

MMFF器值器PC出出入

EM

TO35CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

36FFFFA輸+1

FF出

37FFFFA輸+1

FF出

JMPT138C6FF存貯寄存PC輸A輸+1寫

MMFF器值器PC出出入

EM

TO39CBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

3AFFFFA輸+1

FF出

3BFFFFA輸+1

FF出

OVERTO3CCBFF指令PC輸A輸寫+1

FF寄存出出入

器IR

3DFFFFA輸+1

FF出

3EFFFFA輸+1

FF出

3FFFFFA輸+1

FF出

5.用設(shè)計完成的新指令集編寫實現(xiàn)無符號二進(jìn)

制乘法、除法功能的匯編語言程序

(1)乘法

4位乘法的算法流程圖與匯編語言程序清

單:

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

MOVRO,#00H

MOVRI,#09H

MOVR2,#06H

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

LOOP:TESTR2,#0FH

JZLAST

TESTR2,#01H

JZNEXT

MOVA,RI

ADDRO,A

NEXT:SHLRI

SHRR2

JMPLOOP

LAST:OVER

(2)除法(選作)

4位除法的算法流程圖與匯編語言程序清

單:

TT必

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

MOVRO,#64H

MOVRI,#09H

MOVR2,#0H

MOVR3,#05H

TESTR1,#OFH

JZOVERFLOW

MOVA,RI

PUSHA

SHLRI

SHLRI

SHLRI

SHLRI

MOVA,RI

SUBRO,A

JCZERO

JMPOVERFLOW

ZERO:SHLR2

SHRRI

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

SUBR3,#01H

JZDEAL

MOVA,RI

ADDRO,A

JCONE

JMPZERO

ONE:SHLR2

ADDR2,#01H

SHRRI

SUBR3,#01H

JZDEAL

MOVA,RI

SUBRO,A

JCZERO

JMPONE

DEAL:TESTR0,#80H

JZLAST

POPA

ADDRO,A

JMPLAST

OVERFLOW:MOVR2,#0FFH

LAST:OVER

文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。

6.上述程序的運(yùn)行情況(跟蹤結(jié)果)

按下表填寫描述以上各程序運(yùn)行情況的內(nèi)容。按

每個程序一張表進(jìn)行。

程序運(yùn)行的過程

匯編程機(jī)指令說明微程PC運(yùn)行時

指令序器序C寄存器

地碼或存儲

址器的值

0000實驗機(jī)占用,CBFFF

溫馨提示

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

最新文檔

評論

0/150

提交評論