最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

计算机组成原理 课程设计报告

来源:动视网 责编:小OO 时间:2025-10-01 02:12:18
文档

计算机组成原理 课程设计报告

计算机组成原理课程设计报告班级:计算机班姓名:学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及分析、解决问题的能力。二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开
推荐度:
导读计算机组成原理课程设计报告班级:计算机班姓名:学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及分析、解决问题的能力。二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开
计算机组成原理课程设计报告

班级:计算机       班    姓名:        学号:    

完成时间:       

一、课程设计目的

1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;

2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;

3.培养综合实践及分析、解决问题的能力。

二、课程设计的任务

针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。

三、 课程设计使用的设备(环境)

1.硬件

●COP2000实验仪

●PC机

2.软件

●COP2000仿真软件

四、课程设计的具体内容(步骤)

1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现

该模型机指令系统的特点:

1.模型机总体结构

   COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。

   模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。

   模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。

2. 模型机寻址方式

   模型机的寻址方式分五种:

   累加器寻址:    操作数为累加器A,例如“CPL  A”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。

   寄存器寻址:    参与运算的数据在R0-R3的寄存器中,例如 “ADD  A,R0”指令是将寄存器R0的值加上累加器A的值,再存入累加器A中。

   寄存器间接寻址:参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,例如 “MOV  A,@R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。

   存储器直接寻址:参与运算的数据在存储器EM中,数据的地址为指令的操作数。例如“AND  A,40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。

   立即数寻址:    参与运算的数据为指令的操作数。例如 “SUB  A,#10H”是从累加器A中减去立即数10H,结果存入累加器A。

3. 模型机指令集

   模型机的缺省的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。

算术运算指令:逻辑运算指令:数据传输指令:跳转指令:
ADD A, R? 

ADD A, @R? 

ADD A, MM 

ADD A, #II 

ADDC A, R? 

ADDC A, @R? 

ADDC A, MM 

ADDC A, #II 

SUB A, R?

SUB A, @R? 

SUB A, MM 

SUB A, #II 

SUBC A, R? 

SUBC A, @R? 

SUBC A, MM 

SUBC A, #II

AND A, R? 

AND A, @R? 

AND A, MM 

AND A, #II 

OR A, R?

OR A, @R? 

OR A, MM 

OR A, #II

CPL A

MOV A, R? 

MOV A, @R? 

MOV A, MM 

MOV A, #II 

MOV R?, A 

MOV @R?, A

MOV MM, A 

MOV R?, #II

JC MM 

JZ MM  

JMP MM

CALL MM RET

移位指令:中断返回指令:输入/输出指令:

RR A 

RL A 

RRC A 

RLC A

RETIREAD MM

WRITE MM 

IN

OUT

4. 模型机指令格式

该模型机微指令系统的特点(包括其微指令格式的说明等):

1. 总体概述

该模型机的微命令是以直接表示法进行编码的,其特点是操作控制字段中的每一位代表一个微命令。这种方法的优点是简单直观,其输出直接用于控制。缺点是微指令字较长,因而使控制存储器容量较大。

2. 模型机微指令格式

3. 模型机微指令格式的说明

模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。微程序控制器由微程序给出24位控制信号,而微程序的地址又是由指令码提供的,也就是说24位控制信号是由指令码确定的。该模型机的微指令的长度为24位,其中微指令中只含有微命令字段,没有微地址字段。其中微命令字段采用直接按位的表示法,哪位为0,表示选中该微操作,而微程序的地址则由指令码指定。

24位控制位分别介绍如下:

   XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。

   EMWR: 程序存储器EM写信号。

   EMRD: 程序存储器EM读信号。

   PCOE: 将程序计数器PC的值送到地址总线ABUS上。

EMEN: 将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。

   IREN: 将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。

   EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。

   ELP:  PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。

   MAREN:将数据总线DBUS上数据打入地址寄存器MAR。

   MAROE:将地址寄存器MAR的值送到地址总线ABUS上。

   OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。

   STEN: 将数据总线DBUS上数据存入堆栈寄存器ST中。

   RRD:  读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

   RWR:  写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

   CN:   决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。

   FEN:  将标志位存入ALU内部的标志寄存器。

   

X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。

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没有输出
WEN:  将数据总线DBUS的值打入工作寄存器W中。

   AEN: 将数据总线DBUS的值打入累加器A中。

   S2、S1、S0三位组合决定ALU做何种运算。

S2 S1 S0功能
0  0  0A+W      加

0  0  1A-W      减

0  1  0A|W      或

0  1  1A&W     与

1  0  0A+W+C   带进位加

1  0  1A-W-C    带进位减

1  1  0~A       A取反

1  1  1A        输出A

2.  计算机中实现乘法和除法的原理

(1)无符号乘法

①算法流程图:

                                      Y

                          N

      

                                    N

                          Y

      

      

②硬件原理框图:

      

                                           判断乘数末位

                                      ALU

(2)无符号除法

①算法流程图:

                    N                      Y

          N                                          N

                     Y                   Y

      

②硬件原理框图:

      

                                           判断乘数末位

                                      ALU

3.对应于以上算法如何分配使用COP2000实验仪中的硬件

(1)无符号乘法

 

硬件名称实现算法功能描述
寄存器R0

① 初始化时,用来存放被乘数;

② 在程序执行的过程中,用来存放向左移位后的被乘数。

寄存器R1

① 初始化时,用来存放乘数;

② 在程序执行的过程中,用来存放向右移位后的乘数。

寄存器R2

计算时用来存放部分积和最后的积
累加器A

执行ADD A,R?(加法)、SHL  R?(左移一位)、SHR  R?(右移一位)等命令时所必须使用的寄存器。

寄存器W

执行ADD  A,R?(加法)、TEST   R?,#II(测试R2的末位)等双操作数命令时所必须使用的寄存器。

左移门L

用来实现相应数据左移一位的运算,并能够控制该运算后的结果是否输出到数据总线。
直通门D

用来控制ALU的执行结果是否输出到数据总线。

右移门R

用来实现相应数据右移一位的运算,并能够控制该运算后的结果是否输出到数据总线。
程序计数器PC

① 控制程序按顺序正常执行;

② 当执行转移指令时,从数据线接收要跳转的地址,使程序能够按需要自动执行。

③ 当要从EM中读取数据时,由PC提供地址。

存储器EM

存储指令和数据。
微程序计数器μPC

向微程序存储器μM提供相应微指令的地址。

微程序存储器μM

存储相应指令的微指令。
输出寄存器OUT

可以将运算结果输出到输出寄存器OUT(本实验未用)。

堆栈ST

当存储于累加器A的值将要受到破坏时,将其数据保存在堆栈ST中,使程序能够正常地执行。

(2)无符号除法

硬件名称实现算法功能描述
寄存器R0

初始化时,用来存放被除数和计算后的余数。
寄存器R1

① 初始化时,用来存放除数;

② 在程序执行的过程中,用来存放向右移位后的除数。

寄存器R2

在程序执行过程中,用来保存当前算得的商。
寄存器R3

当作计数器使用,用来控制程序是否结束。
累加器A

① 计算时用来存放中间结果;

② 执行ADD A,R?(加法)、SUB A,R?(减法)等命令时所必须使用的寄存器。

寄存器W

执行SUB  A,R?(减法)等双操作数命令时所必须使用的寄存器。

左移门L

用来实现相应数据左移一位的运算,并能够控制该运算后的结果是否输出到数据总线。
直通门D

用来控制ALU的执行结果是否输出到数据总线。

右移门R

用来实现相应数据右移一位的运算,并能够控制该运算后的结果是否输出到数据总线。
程序计数器PC

① 控制程序按顺序正常执行;

② 当执行转移指令时,从数据线接收要跳转的地址,使程序能够按需要自动执行。

③ 当要从EM中读取数据时,由PC提供地址。

存储器EM

存储指令和数据。
微程序计数器μPC

向微程序存储器μM提供相应微指令的地址。

微程序存储器μM

存储相应指令的微指令。
输出寄存器OUT

可以将运算结果输出到输出寄存器OUT(本实验未用)。

堆栈ST

当存储于累加器A的值将要受到破坏时,将其数据保存在堆栈ST中,使程序能够正常地执行。

4.在COP2000集成开发环境下设计全新的指令/微指令系统

设计结果如表所示(可按需要增删表项)

(1)新的指令集

(如果针对乘除法设计了两个不同指令集要分别列表)

助记符机器码1

机器码2

指令说明
_FATCH_  000000xx

00-03

实验机占用,不可修改。复位后,所有寄存器清0,首先执行 _FATCH_ 指令取指。

MOV

R?,#II

000001xx

04-07

II将立即数II存放到寄存器R?中。

MOV R?,A000010xx

08-0B

将寄存器A内容送入寄存器R?中

MOV A,R?000011xx

0C-0F

将寄存器R?中的数放入累加器A中。

ADD R?,A 000100xx

10-13

将累加器A中的数加入到寄存器R?中,并影响标志位。

ADD A,R?000101xx

14-17

将寄存器R?中的数加入到累加器A中

SUB A,R?000110xx

18-1B

将寄存器A中的数据与R?中的内容相减,结果存入A中。

ADD

R?,#II

000111xx

1C-1F

II将寄存器R?中的数据与立即数相与,结果存入R?。

NOT R?001000xx

20-23

将寄存器R?中的数据取反。

RL R?001001xx

24-27

将寄存器R?中的数据逻辑左移一位。

RR R?001010xx

28-2B

将寄存器R?中的数据逻辑右移一位。

RLC R?001011xx

2C-2F

将寄存器R?中的数据带进位左移一位。

RRC R?001100xx

30-33

将寄存器R?中的数据带进位右移一位。

CLR R?001101xx

34-37

将寄存器R?中的内容清零。

TEST R?001110xx

38-3B

测试寄存器R?中的内容是否为零。

ENDP001111xx

3C-3F

程序结束。
JC MM010000XX  40-43MM若进位标志位置1,跳转到MM地址。

JZ MM010001XX  44-47MM若零标志位置1,跳转到MM地址。

JMP MM010010  48-4BMM无条件跳转到MM地址。

(2)新的微指令集

助记符状态微地址微程序数据输出数据打入地址输出运算器移位控制PC

PC
_FATCH_T0 00CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
01FFFFFF浮空浮空A输出

+1
02FFFFFF浮空浮空A输出

+1
03FFFFFF浮空浮空A输出

+1
MOV R?,#IIT104C7FBFF存储器值EM

寄存器R?

PC输出

A输出

+1+1
T005CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
06FFFFFF浮空A输出

+1+1
07FFFFFF浮空A输出

+1+1
MOV R?,AT108FFFB9FALU直通

寄存器R?

浮空A输出

+1
T009CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
0AFFFFFF浮空浮空A输出

+1
0BFFFFFF浮空浮空A输出

+1
MOV A,R?T10CFFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T00DCBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
0EFFFFFF浮空浮空A输出

+1
0FFFFFFF浮空浮空A输出

+1
ADD R?,AT210FFF7EF寄存器值R?

寄存器W

浮空A输出

+1
T111FFFB98ALU直通

寄存器R?

浮空A输出

+1
T012CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
13FFFFFF浮空浮空A输出

+1
ADD A,R?T214FFF7EF寄存器值R?

寄存器W

浮空A输出

+1
T115FFFE90ALU直通

寄存器A,标志位C,Z

浮空A输出

+1
T016CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
17FFFFFF浮空浮空A输出

+1
SUB A,R?T218FFF7EF寄存器值R?

寄存器W

浮空A输出

+1
T119FFFE91ALU直通

寄存器A,标志位C,Z

浮空减运算+1
T01ACBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
1BFFFFFF浮空浮空A输出

+1
AND R?,#IIT31CC7FFEF存贮器值EM

寄存器W

PC输出

A输出

+1
T21DFFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T11EFFFB9BALU直通

寄存器R?

浮空与运算+1
T01FCBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
NOT R?T220FFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T121FFFB9EALU直通

寄存器R?

浮空A取反

+1
T022CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
23FFFFFF浮空浮空A输出

+1
RL  R?T224FFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T125FFF8DFALU左移

寄存器R?,标志位C,Z

浮空A输出

左移+1
T026CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
27FFFFFF浮空浮空A输出

+1
RR  R?T228FFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T129FFF8BFALU右移

寄存器R?,标志位C,Z

浮空A输出

右移+1
T02ACBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
2BFFFFFF浮空浮空A输出

+1
RLC  R?T22CFFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T12DFFFADFALU左移

寄存器R?,标志位C,Z

浮空A输出

带进位左移+1
T02ECBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
2FFFFFFF浮空浮空A输出

+1
RRC  R?T230FFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T131FFFABFALU右移

寄存器R?,标志位C,Z

浮空A输出

带进位右移+1
T032CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
33FFFFFF浮空浮空A输出

+1
CLR  R?T334FFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T235FFF7EF寄存器值R?

寄存器W

浮空A输出

+1
T136FFFB99ALU直通

寄存器R?

浮空减运算+1
T037CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
TEST R?T338FFF7F7寄存器值R?

寄存器A

浮空A输出

+1
T239FFF7EF寄存器值R?

寄存器W

浮空A输出

+1
T13AFFFE92ALU直通

寄存器R?,标志位C,Z

浮空或运算+1
T03BCBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
ENDPT03CCBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
3DFFFFFF浮空浮空A输出

+1
3EFFFFFF浮空浮空A输出

+1
3FFFFFFF浮空浮空A输出

+1
JC  MMT140C6FFFF存贮器值EM

寄存器PC

PC输出

A输出

+1写入
T041CBFFFF浮空指令寄存器IR

PC输出

A输出

写入+1
42FFFFFF浮空浮空A输出

+1
43FFFFFF浮空浮空A输出

+1
JZ  MMT144C6FFFF存贮器值EM

寄存器PC

PC输出

A输出

+1写入
T045CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
46FFFFFF浮空浮空A输出

+1
47FFFFFF浮空浮空A输出

+1
JMP MMT148C6FFFF存贮器值EM

寄存器PC

PC输出

A输出

+1写入
T049CBFFFF浮空指令寄存器IR  

PC输出

A输出

写入+1
4AFFFFFF浮空浮空A输出

+1
4BFFFFFF浮空浮空A输出

+1
5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序

(1)乘法

4位乘法的算法流程图与汇编语言程序清单:

汇编语言程序清单:

MOV  R0,#07H  ;初始化被乘数

MOV  R1,#05H  ;初始化乘数

CLR  R2 ;R2    ;清零

P1:   TEST  R1      ;测试乘数是否为0

JZ   W          ;是0跳转,程序结束

RRC  R1        ;进位右移

JC   S           ;CF=1,跳到S

P2:   RL  R0         ;R0左移

JMP  P          ;跳到P

P3:   MOV  A,R0 

ADD  R2,A 

JMP  Q 

P4:   ENDP

L:   JMP  L

(2)除法

 4位除法的算法流程图与汇编语言程序清单:

汇编语言程序清单:

            MOV  R0,#63H  ;初始化被除数

            MOV  R1,#08H  ;初始化除数

            MOV  A,R1     

            MOV  R3,A     

            RR   R3        ;初始化计数器

            CLR  R2        ;清零商

            TEST R1        ;检验除数是否为0

            JZ   C0        ;是0,跳转报错

            RL   R1

            RL   R1

            RL   R1

            RL   R1       ;对齐被除数与除数

            MOV  A,R0

            SUB  A,R1     ;判断商是否不超过5位

            JC   B1       ;不超过,跳转

            JMP  C0       ;超过,报错

B0:         MOV  A,R3

            SUB  A,R1

            JZ   C1        ;控制循环次数

            MOV  A,R0

            SUB  A,R1

            JC   B1

            JMP  B2        ;余数为正,做减法

B1:         ADD  A,R1     ;余数为负,做加法

B2:         MOV  R0,A

            RR   R1       ;右移除数

            RLC  R2     ;余数为负则C=1,左移上1;余数为正则C=0,左移上0

            JMP  B0      ;跳转

C0:         MOV  R0,#0FFH  ;报错

            MOV  R1,#0FFH

            MOV  R2,#0FFH

            MOV  R3,#0FFH

            JMP  ENDD

C1:         NOT  R2        ;取反得商

            AND  R2,#0FH   ;商不超过4位

ENDD:       ENDP

P:           JMP P

6.上述程序的运行情况(跟踪结果)

按下表填写描述以上各程序运行情况的内容。按每个程序一张表进行。

1.乘法程序运行的过程

汇 编 指 令

程序地址机器码指令说明微程序PC    PC

运行时寄存器或存储器的值
MOV  R0,#07H000407C7FBFF

CBFFFF

01

02

04

05

R0=07,EM=07,IR=04
MOV R1,#05H020505C7FBFF

CBFFFF

03

04

04

05

R1=05,EM=05,IR=05
CLR R20436FFF7F7

FFF7EF

CBFFFF

0534

35

36

37

IR=36,EM=36,

R2=0,A=0,W=0

TEST R10539FFF7F7

FFF7EF

FFFE92

CBFFFF

0638

39

3A

3B

IR=39,EM=39,

R1=05,A=05

W=05

JZ P4064412C6FFFF

CBFFFF

07

08

44

45

EM=44,IR=44

EM=12

RRC R10831FFF7F7

FFFABF

CBFFFF

0930

31

32

EM=31,IR=31

R1=02

JC P309400EC6FFFF

CBFFFF

0A

0E

40

41

EM=40,IR=40

EM=0E

MOV A,R00E0CFFF7F7

CBFFFF

0F0C

0D

EM=0C,IR=0C

R0=07,A=07

ADD R2,A0F12FFF7EF

FFFB98

CBFFFF

1010

11

12

EM=12,IR=12

R2=0,W=0

R2=07

JMP P210480BC6FFFF

CBFFFF

11

0B

48

49

EM=48,IR=48

EM=0B

RL R00B24FFF7F7

FFF8DF

CBFFFF

0C24

25

26

EM=24,IR=24

R0=07,A=07

R0=0E

JMP P10C4805C6FFFF

CBFFFF

0D

05

48

49

EM=48,IR=48

EM=05

TEST R10539FFF7F7

FFF7EF

FFFE92

CBFFFF

0638

39

3A

3B

EM=39,IR=39

R1=02,A=02

W=02

A=02

JZ P4064412C6FFFF

CBFFFF

07

08

44

45

EM=44,IR=44

EM=12

RRC R10831FFF7F7

FFFABF

CBFFFF

0930

31

32

EM=31,IR=31

R1=02,A=02

R1=01

JC P309400EC6FFFF

CBFFFF

0A

0E

40

41

EM=40,IR=40

EM=0E

RL R00B24FFF7F7

FFF8DF

CBFFFF

0C24

25

26

EM=24,IR=24

R0=0E,A=0E

R0=1C

JMP P10C4805C6FFFF

CBFFFF

0D

05

48

49

EM=48,IR=48

EM=05

TEST R10539FFF7F7

FFF7EF

FFFE92

CBFFFF

0638

39

3A

3B

EM=39,IR=39

R1=01,A=01

W=01

A=01

JZ P4064412C6FFFF

CBFFFF

07

08

44

45

EM=44,IR=44

EM=12

RRC R10831FFF7F7

FFFABF

CBFFFF

0930

31

32

EM=31,IR=31

R1=01,A=01

R1=00

JC P309400EC6FFFF

CBFFFF

0A

0E

40

41

EM=40,IR=40

EM=0E

MOV A,R00E0CFFF7F7

CBFFFF

0F0C

0D

EM=0C,IR=0C

R0=1C,A=1C

ADD R2,A0F12FFF7EF

FFFB98

CBFFFF

1010

11

12

EM=12,IR=12

R2=07,W=07

R2=23

JMP P210480BC6FFFF

CBFFFF

11

0B

48

49

EM=48,IR=48

EM=0B

RL R00B24FFF7F7

FFF8DF

CBFFFF

0C24

25

26

EM=24,IR=24

R0=1C,A=1C

R0=38

JMP P10C4805C6FFFF

CBFFFF

0D

05

48

49

EM=48,IR=48

EM=05

TEST R10539FFF7F7

FFF7EF

FFFE92

CBFFFF

0638

39

3A

3B

EM=39,IR=39

R1=00,A=00

W=00

A=00

JZ P4064412C6FFFF

CBFFFF

07

12

44

45

EM=44,IR=44

EM=12

ENDP123CCBFFFF133CEM=3C,IR=3C
JMP L134813C6FFFF

CBFFFF

14

13

48

49

EM=48,IR=48

EM=13

2.除法程序运行的过程

汇 编 指 令

程序地址机器码指令说明微程序PC    PC

运行时寄存器或存储器的值
MOV  R0,#63H000463C7FBFF

CBFFFF

01

02

04

05

EM=04,IR=04

EM=63,R0=63

MOV  R1,#08H020508C7FBFF

CBFFFF

03

04

04

05

EM=05,IR=05

EM=08,R1=08

MOV  A,R1040DFFF7F7

CBFFFF

050C

0D

EM=0D,IR=0D

R1=08,A=08

MOV  R3,A050BFFFB9F

CBFFFF

0608

09

EM=0B,IR=0B

R3=08

RR  R3062BFFF7F7

FFF8BF

CBFFFF

0728

29

2A

EM=2B,IR=2B

A=08,R3=08

R3=04

CLR  R20736FFF7F7

FFF7EF

FFFB99

CBFFFF

0834

35

36

37

EM=36,IR=36

R2=0,A=0

W=0

TEST  R10839FFF7F7

FFF7EF

FFFE92

CBFFFF

0938

39

3A

3B

EM=39,IR=39

R1=08,A=08

W=08

JZ  C0094425C6FFFF

CBFFFF

0A

0B

44

45

EM=44,IR=44

EM=25

RL  R10B25FFF7F7

FFF8DF

CBFFFF

0C24

25

26

EM=25,IR=25

R1=10,A=10

R1=20

RL  R10C25FFF7F7

FFF8DF

CBFFFF

0D24

25

26

EM=25,IR=25

R1=08,A=08

R1=40

RL  R10D25FFF7F7

FFF8DF

CBFFFF

0E24

25

26

EM=25,IR=25

R1=20,A=20

R1=10

RL  R10E25FFF7F7

FFF8DF

CBFFFF

0F24

25

26

EM=25,IR=25

R1=40,A=40

R1=80

MOV  A,R00F0CFFF7F7

CBFFFF

100C

0D

EM=0C,IR=0C

R0=63,A=63

FFF7EF1019FFF7EF

FFFE91

CBFFFF

1118

19

1A

EM=19,IR=19

R1=80,W=80

A=E3

JC  B111401FC6FFFF

CBFFFF

12

1F

40

41

EM=40,IR=40

EM=1F

ADD  A,R11F15FFF7EF

FFFE90

CBFFFF

2014

15

16

EM=15,IR=15

R1=80,W=80

A=63

MOV  R0,A2008FFFB9F

CBFFFF

2108

09

EM=08,IR=08

R0=63

RR  R12129FFF7F7

FFF8BF

CBFFFF

2228

29

2A

EM=29,IR=29

R1=80,A=80

R1=40

RLC  R2222EFFF7F7

FFFADF

CBFFFF

232C

2D

2E

EM=2E,IR=2E

R2=0,A=0

R2=01

JMP  B0234815C6FFFF

CBFFFF

24

15

48

49

EM=48,IR=48

EM=15

MOV  A,R3150FFFF7F7

CBFFFF

160C

0D

EM=0F,IR=0F

R3=04,A=04

SUB  A,R11619FFF7EF

FFFE91

CBFFFF

1718

19

1A

EM=19,IR=19

R1=40,W=40

A=C4

JZ  C117442FC6FFFF

CBFFFF

18

19

44

45

EM=44,IR=44

EM=2F

MOV  A,R0190CFFF7F7

CBFFFF

1A0C

0D

EM=0C,IR=0C

R0=63,A=63

SUB  A,R11A19FFF7EF

FFFE91

CBFFFF

1B18

19

1A

EM=19,IR=19

R1=40,W=40

A=23

JC  B11B401FC6FFFF

CBFFFF

1C

1D

40

41

EM=40,IR=40

EM=1F

JMP  B21D4820C6FFFF

CBFFFF

1E

20

48

49

EM=48,IR=48

EM=20

MOV  R0,A2008FFFB9F

CBFFFF

2108

09

EM=08,IR=08

R0=23

RR  R12129FFF7F7

FFF8BF

CBFFFF

2228

29

2A

EM=29,IR=29

R1=40,A=40

R1=20

RLC  R2222EFFF7F7

FFFADF

CBFFFF

232C

2D

2E

EM=2E,IR=2E

R2=01,A=01

R2=02

JMP  B0234815C6FFFF

CBFFFF

24

15

48

49

EM=48,IR=48

EM=15

MOV  A,R3150FFFF7F7

CBFFFF

160C

0D

EM=0F,IR=0F

R3=04,A=04

SUB  A,R11619FFF7EF

FFFE91

CBFFFF

1718

19

1A

EM=19,IR=19

R1=20,W=20

A=E4

JZ  C117442FC6FFFF

CBFFFF

18

19

44

45

EM=44,IR=44

EM=2F

MOV  A,R0190CFFF7F7

CBFFFF

1A0C

0D

EM=0C,IR=0C

R0=23,A=23

SUB  A,R11A19FFF7EF

FFFE91

CBFFFF

1B18

19

1A

EM=19,IR=19

R1=20,W=20

A=03

JC  B11B401FC6FFFF

CBFFFF

1C

1D

40

41

EM=40,IR=40

EM=1F

JMP  B21D4820C6FFFF

CBFFFF

1E

20

48

49

EM=48,IR=48

EM=20

MOV  R0,A2008FFFB9F

CBFFFF

2108

09

EM=08,IR=08

R0=03

RR  R12129FFF7F7

FFF8BF

CBFFFF

2228

29

2A

EM=29,IR=29

R1=20,A=20

R1=10

RLC  R2222EFFF7F7

FFFADF

CBFFFF

232C

2D

2E

EM=2E,IR=2E

R2=02,A=02

R2=04

JMP  B0234815C6FFFF

CBFFFF

24

15

48

49

EM=48,IR=48

EM=15

 MOV  A,R3150FFFF7F7

CBFFFF

160C

0D

EM=0F,IR=0F

R3=04,A=04

 SUB  A,R11619FFF7EF

FFFE91

CBFFFF

1718

19

1A

EM=19,IR=19

R1=10,W=10

A=F4

 JZ  C117442FC6FFFF

CBFFFF

18

19

44

45

EM=44,IR=44

EM=2F

 MOV  A,R0190CFFF7F7

CBFFFF

1A0C

0D

EM=0C,IR=0C

R0=03,A=03

 SUB  A,R11A19FFF7EF

FFFE91

CBFFFF

1B18

19

1A

EM=19,IR=19

R1=10,W=10

A=F3

 JC  B11B401FC6FFFF

CBFFFF

1C

1F

40

41

EM=40,IR=40

EM=1F

 ADD  A,R11F15FFF7EF

FFFE90

CBFFFF

2014

15

16

EM=15,IR=15

R1=10,W=10

A=03

 MOV  R0,A2008FFFB9F

CBFFFF

2108

09

EM=08,IR=08

R0=03

 RR  R12129FFF7F7

FFF8BF

CBFFFF

2228

29

2A

EM=29,IR=29

R1=10,A=10

R1=08

 RLC  R2222EFFF7F7

FFFADF

CBFFFF

232C

2D

2E

EM=2E,IR=2E

R2=04,A=04

R2=09

 JMP  B0234815C6FFFF

CBFFFF

24

15

48

49

EM=48,IR=48

EM=15

 MOV  A,R3150FFFF7F7

CBFFFF

160C

0D

EM=0F,IR=0F

R3=04,A=04

 SUB  A,R11619FFF7EF

FFFE91

CBFFFF

1718

19

1A

EM=19,IR=19

R1=08,W=08

A=FC

 JZ  C117442FC6FFFF

CBFFFF

18

19

44

45

EM=44,IR=44

EM=2F

 MOV  A,R0190CFFF7F7

CBFFFF

1A0C

0D

EM=0C,IR=0C

R0=03,A=03

 SUB  A,R11A19FFF7EF

FFFE91

CBFFFF

1B18

19

1A

EM=19,IR=19

R1=08,W=08

A=FB

 JC  B11B401FC6FFFF

CBFFFF

1C

1F

40

41

EM=40,IR=40

EM=1F

 ADD  A,R11F15FFF7EF

FFFE90

CBFFFF

2014

15

16

EM=15,IR=15

R1=08,W=08

A=03

 MOV  R0,A2008FFFB9F

CBFFFF

2108

09

EM=08,IR=08

R0=03

 RR  R12129FFF7F7

FFF8BF

CBFFFF

2228

29

2A

EM=29,IR=29

R1=08,A=08

R1=04

 RLC  R2222EFFF7F7

FFFADF

CBFFFF

232C

2D

2E

EM=2E,IR=2E

R2=09,A=09

R2=13

 JMP  B0234815C6FFFF

CBFFFF

24

15

48

49

EM=48,IR=48

EM=15

 MOV  A,R3150FFFF7F7

CBFFFF

160C

0D

EM=0F,IR=0F

R3=04,A=04

 SUB  A,R11619FFF7EF

FFFE91

CBFFFF

1718

19

1A

EM=19,IR=19

R1=04,W=04

A=00

 JZ  C117442FC6FFFF

CBFFFF

18

2F

44

45

EM=44,IR=44

EM=2F

 NOT  R22F22FFF7F7

FFFB9E

CBFFFF

3020

21

22

EM=22,IR=22

R2=13,A=13

R2=EC

 AND  R2,#0FH301E0FC7FFEF

FFF7F7

FFFB98

CBFFFF

31

32

1C

1D

1E

1F

EM=1E,IR=1E

EM=0F,W=0F

R2=EC,A=EC

R2=0C

 ENDP323CCBFFFF333CEM=3C,IR=3C
 JMP  L334833C6FFFF

CBFFFF

34

33

48

49

EM=48,IR=48

EM=33

7.设计结果说明

调试运行程序时是否出现问题,是否有重新调整指令/微指令系统设计的情况出现?请在此做具体说明。

调试程序时除法加减交替法在循环过程中出现错误;寄存器选择有误;实现余负商0余正商1。

五、本次课程设计的总结体会(不少于200字)

    主要总结学到的具体知识、方法及设计中的切身体会;包括列出在设计的各个阶段出现的问题及解决方法。

在本次课程设计中我受益良多,以前实验中累积的很多疑问都得以解答,其中最重要的是清楚了如何分配硬件资源、设计的新的指令集在程序运行过程中如何具体实现期望目标。在实现乘法和除法的过程中,我学习了如何正确熟练的运用“加法-移位”算法和“加减交替”算法,并深刻认识了如何正确运用逻辑移位和带进位移位,以及二者的区别。这对于实现除法、得到商并控制商的位数起到了巨大的作用。而在仿真和调试过程中,我也清楚的认识到仿真和硬件存在区别,设计的最终成果只有在硬件上可实现才算完成。  

文档

计算机组成原理 课程设计报告

计算机组成原理课程设计报告班级:计算机班姓名:学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及分析、解决问题的能力。二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top