计算机组成原理课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理课程设计报告
班级:08计算机0803 班姓名:陈祥学号:20082908 完成时间:2011.1.3
一、课程设计目的
1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;
3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务
针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)
1.硬件
●COP2000实验仪
●PC机
2.软件
●COP2000仿真软件
四、课程设计的具体内容(步骤)
1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现
1.该模型机指令系统的特点:
从指令字长来看该模型机指令系统包含单字长和双字长两种格式的指令,字长为8位,对于需要访问内存的指令都是双字长的,指令系统中大多数指令是单字长;从指令操作码是定长和变长来看,这里认为,虽然ADD A, R?和ADD A, @R?都是执行加法操作,但他们是不同的指令,将指令格式中寻址寄存器的两位也认为是操作码的一部分,这两条指令的操作码不同。因此,指令系统的指令格式是定长操作码的,操作码为6位。
1)双字长的指令格式如下:
2)单字长的指令格式如下: 举例:
2.该模型机微指令系统的特点(包括其微指令格式的说明等): 该模型机微指令系统的微指令格式是水平型微指令,微指令的字长为24
位,是机器字长的3倍,每条微指令仅包含微操作控制字段,无顺序控制字段。操作控制字段的每一位对应一个微操作,采用字段直接译码的方式对系统进行控举例:微指令CBFFFF :取指令
2。计算机中实现乘法和除法的原理 (1)无符号乘法
①实例演示(即,列4位乘法具体例子演算的算式):
1 1 0 1 被乘数 × 1 0 1 1 乘数
1 1 0 1 位积 1 1 0 1 0 位积 0 0 0 0 0 0 位积 1
1 0 1 0 0 0 位积 1 0
0 0
1 1 1 1 结果
移位相加
③算法流程图:
(2)无符号除法
①实例演示(即,列4位除法具体例子演算的算式):
------商 ------被除数
0 0 0 0 0 0 0 0 ------不够减,商上0,除数右移一位
1 0 0 0 0 1 1 1 ------做差后的被除数 0 1 1 0 1 0 0 0 ------够减,商上1,除数右移一位
0 0 0 1 1 1 1 1 ------做差后的被除数 0 0 0 0 0 0 0 0 ------不够减,商上0,除数右移一位
0 0 0 1 1 1 1 1 ------做差后的被除数 0 0 0 1 1 0 1 0 ------够减,商上1,除数右移一位
0 0 0 0 ------移位4次后,余数
No
②硬件原理框图:
③算法流程图:
3.对应于以上算法如何分配使用COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)
4.在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项)
(1)新的指令集
(2)新的微指令集
5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序
(1)乘法
4位乘法的算法流程图与汇编语言程序清单:
1)流程图如下:
NO
NO
2)汇编语言程序清单如下:
MOV R0,#0FH ---被乘数在R0中MOV R1,#0FH ---乘数在R1中MOV R3,#04H
AND A,#00H
LOOP1:
SHR R1
JC NEXT1
JMP LOOP2
NEXT1:ADD A,R0
LOOP2:SHLN R0
PUSH A
SUB R3,#01H
POP A
JZ NEXT2
JMP LOOP1
NEXT2:MOV R0,A --乘积结果在R0中END
(2)除法
4位除法的算法流程图与汇编语言程序清单: 1)算法流程图如下
YES
NO
2)汇编语言程序清单如下:
MOV R0,#87H ---被除数在R0中
MOV R1,#0DH ---除数在R1中
MOV R3,#04H
AND R2,#00H ---商在R2中
SHLN R1
SHLN R1
SHLN R1
SHLN R1
MOV A,R0
CMP A,R1
JC NEXT1
JMP QUIT
NEXT1:
SHRN R1
SHLN R2
CMP A,R1
JC NEXT2
SUB A,R1
PUSH A
ADD R2,#01H
POP A
NEXT2:PUSH A
SUB R3,#01H
POP A
JZ QUIT
JMP NEXT1
QUIT:MOV R3,A ---余数保存在R3中
END
6.上述程序的运行情况(跟踪结果)
按下表填写描述以上各程序运行情况的内容。按每个程序一张表进行。
1)乘法程序运行的过程