东北大学计算机组成原理课设报告

  • 格式:docx
  • 大小:473.37 KB
  • 文档页数:32

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机组成原理课程设计报告班级:计算机XX 班姓名:XX 学号:XXX

完成时间:2017.1.6

一、课程设计目的

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

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

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

二、课程设计的任务

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

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

1.硬件

●COP2000实验仪

●PC机

2.软件

●COP2000仿真软件

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

1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:COP2000模型机的指令为8位,根据操作的内容,可以有0到2个操作数。每个操作数支持5种寻址方式,包括累加器A寻址,寄存器R0~R3寻址,寄存器R0~R3间接寻址,内存直接寻址以及立即数寻址。

COP2000模型机指令的最低两位(IR0和IR1)用来寻址R0~R3四个寄存器;IR2和IR3与ELP微控制信号,Cy和Z两个程序状态信号配合,控制PC的置数即程序的转移。各种转移的条件判断逻辑如下所示:

PC 置数逻辑

当ELP=1时,不允许PC被预置

当ELP=0时

当IR3=1时,无论Cy和Z什么状态,PC被预置

当IR3=0时

若IR2=0,则当Cy=1时PC被预置

若IR2=1,则当Z=1时PC被预置

本模型机时序控制采用不定长机器周期的同步控制方式,一条指令最多分四个节拍。系统提供的默认指令系统包括以下7类指令:

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

COP2000 模型机的微指令字长为24 位,全部为操作控制部分,不含顺序控制字段。微指令编码采用混合表示法,微地址形成采用计数器方式。微指令格式为水平型微指令。下面分别从为操作控制和顺序控制两方面进行说明:

a. 微操作控制

24 位微操作控制信号含义如下表:

b. 顺序控制

COP2000 微程序控制器的微地址生成部件是一个计数器,分别控制该计数器的使能端(自动加一)和置数端(跳转至其他指令对应的位程序地址)生成微命令的地址。

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

(1)无符号乘法

①实例演示:

1010×1011=1101110

无符号乘法的实例演示如图1所示:

1 0 1 0

× 1 0 1 1

0 0 0 0

+ 1 0 1 0

1 0 1 0

+ 1 0 1 0

1 1 1 1 0

+ 0 0 0 0

0 1 1 1 1 0

+ 1 0 1 0

(0) 1 1 0 1 1 1 0 即:1001×0110=1101110

②硬件原理框图:

③算法流程图:

(2)无符号除法

①实例演示:

无符号除法使用加减交替法,若余数为正,则下一步执行减法,商置1;反之商置0,下一步执行加法。

②硬件原理框图:

③算法流程图:

被除数(部分余数+商)

除数

0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 - 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 +

1

1

1

0 0 0 0 1 1 0 123÷13商为9,余数为6

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

由于循环控制运算时会占用累加器A,因此参与运算的操作数均应保存在通用寄存器R0~R3 中。资源分配如下:

直接乘法:R0:中间结果及最终结果

R1:被乘数(每次运算左移1 位)

R2:乘数(每次运算右移1 位)

加减交替除法:R0:被除数(部分余数,最终得到余数)

R1:除数(初始化时左移4 位,每次计算时右移1位)

R2:商(低4 位)

R3:计数器

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

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

(1)新的指令集

(设计两个不同指令集要分别列表)

(2)新的微指令集

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

MOV R0,#00H

MOV R1,#09H

MOV R2,#09H

LOOP1: SUB R2,#00H

JZ LOOP3

MOV A,R2

AND A,#01H

JZ LOOP2

MOV A,R1

ADD R0,A

LOOP2: SHL R1

SHR R2

JMP LOOP1

LOOP3: END

(2)除法

MOV R0,#86H

MOV R1,#09H

MOV R2,#00H

MOV R3,#05H

MOV A,R1

AND A,#0FFH

JZ LOOP3