计算机组成原理课程设计总结报告模板.docx
《计算机组成原理课程设计总结报告模板.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计总结报告模板.docx(9页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计总结报告模板
大庆师范学院
计算机组成原理课程设计
总结报告
设计题目:
基本模型机的模拟设计与实现
子 题 目:
学生姓名:
院别:
专业:
班级:
学号:
指导教师:
2011 年 7 月 8 日
课 程 设 计 任 务 书 ...............4
一、 微程序控制器的基本原理 ......5
二、 模型机的结构 ................6
三、 微指令格式 ..................7
四、 指令系统 ....................9
五、 指令流程图 ..................9
六、 程序清单 ...................11
七、 微程序清单 .................11
八、 心得体会 ...................12
2
大庆师范学院
课 程 设 计 任 务 书
题目
专业、班级
学号姓名
主要内容:
对基本模型机的设计与实现,能够自己设计机器
指令并且能够翻译为微程序,并能将机器指令和微程序
分别打入模拟机的内存和控制存储其中,并通过程序调
试能将所编写的程序正确运行。
主要参考资料等:
《计算机组成原理》 唐朔飞著
《计算机组成原理》 白中英著
《计算机组成原理实验指导》
完成期限:
一周
指导教师签名:
年月日
3
一、 微程序控制器的基本原理
在部件实验过程中,各部件单元的控制信号是以人为模拟产
生的,而本次实验将能在微程序控制下自动产生各部件单元的控
制信号,实现特定指令的功能。
这里,计算机数据通路的控制
将有微程许序控制器来完成,CPU 从内存中取出一条机器指令到
指令执行结束的一个指令周期全部有微指令组成的序列来完成,
即一条机器指令对应一个微程序。
本实验的 4 条机器指令有
IN(输入)、RR(右移)、NEG (求补)、MOV(移动)、OUT (输出)。
其
中 IN 为单字长(8 位),MOV 为双字长指令,其余为双字节指
令,XXXXXXXX 为 addr 对应的二进制地址码:
=====================================================
助记符 机器指令码 说 明
-----------------------------------------------------
IN0010 0000数据开关状态-〉R0
RRR0,2990110 0000 **** ****RO 不带进位的右移
NEG R01000 0000 **** ****RO + [addr]
(1)—>RO
MOV [addr1],[addr2] 1100 1010 **** ****[addr1]->[addr2]
=====================================================
当拟定“取指”微指令时,该微指令的判别测试字段为 P
(1)测
试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此
P
(1)的测试结果出现多路分支。
本机用指令寄存器的前 3 位
(IR7~IR5)作为测试条件,出现 8 路分支,占用 8 个固定微地
址单元。
4
二、 模型机的结构
5
三、 微指令格式
6
7
地址
内容
助记符
说明
00H
0010 0000
IN R0,SW
数据开关状态-〉
R0
01H
0100 0000
RR R0,299
RO 不带进位的右移
02H
0110 0000
NEG R0 求补
R0 取反+[0EH]-〉
R0
03H
0000 1000
04H
1000 0001
MOV[09H],[0AH]
[09H]->[0AH]
05H
0000 1001
06H
0000 1010
08H
0000 0001
NEG 取反加的 1
09H
0101 0101
0AH
移动后存放的数
四、 指令系统
本实验设计的机器指令程序如下:
五、 指令流程图
8
运行微程
序
PC->AR
PC+1
01
02
RAM->BUS
BUS->IR
08
P
(1)
INRRNEGMOV
09
0A 0B 0C
SW->R0R0->299
03
PC->AR
PC+1
PC->AR
PC+1
0A
右环移
04
299->R0
0A
05
RAM->BUS
BUS->AR
07
R0->DR1
10
R0->DR1
11
RAM->BUS
BUS->DR2
12
DR1+DR2-
>R0
0A
13
RAM->BUS
BUS->AR
14
RAM->BUS
BUS->DR1
15
PC->AR
PC+1
16
RAM->BUS
BUS->AR
17
DR1->BUS
BUS->RAM
11
0A
地址
内容
助记符
说明
P00
20
IN R0,SW
数据开关->R0
P01
40
RR R0 299
R0 不带进位的右移
P02
60
NEG R0 求补
RO 取反+[08H]->RO
P03
08
P04
80
MOV [09H],[0AH]
P05
09
P06
0A
P08
01
取反+1
P09
55
P0A
移动后存放的数
六、 程序清单
机器指令格式说明(“P”代表机器指令)
七、 微程序清单
;32 位微控制代码说明("M"代表微指令):
; MXXXX XX XX XX
; 微地址 32 位微指令代码
M0000 00 00 80;空操作
M0120 00 60 40;PC→AR,PC+1
M0200 80 10 12;RAM→IR
M0360 04 00 20;向右循环移动
M0460 00 02 80;299→R0
M0500 80 40 E0;RAM→AR
M0606 40 02 80;
M0780 00 04 08;R0→DR1
M0800 00 00 80;用户自定义单元
M0900 00 02 81;SW→R0
M0A80 00 0C C0;R0→299
M0B20 00 60 A0;PC→AR,PC+1
M0C20 00 60 C8;PC→AR,PC+1
M1040 10 04 88;RO→DR1
M1100 80 08 48;RAM→DR2
12
M1240 29 02 80;DR1+DR2→R0
M1300 80 40 28;RAM→AR
M1400 80 04 A8;RAM→DR1
M1520 00 60 68;PC→AR,PC+1
M1600 80 40 E8;RAM→AR
M1740 3F 01 80;DR1→RAM
八、 心得体会
经过一周的努力,终于完成了这次学期的《计算机组成原理》
科目的课程设计.虽然只有短短的一周,但是缺感觉学到了很多东
西.
虽然本学期我们对《计算机组成原理》的内容进行了深入
全面的学习,但是课程设计对我们来说是一个遥远陌生而且感到
十分深奥的名词。
课本上对微程序的编写这一部分讲解的并不多,
所以在实验过程中我们遇到了很多困难,由于过去对基本模型机
知之甚少,所以心里很担心最后的程序能否调试出来。
不过在我
们小组的共同努力下最终将程序正确的调试了出来,并且我们从
中学到了整个课程设计的流程:
首先分析题目,应用所学的知识
设计画出基本模型机微程序流程图;然后根据流程图写出相应的
机器指令;再次进行编写微程序;然后是上机调试,检测程序的
正确性,接下来就是接受验收了;最后便是编写设计报告。
在整个实验过程中我们遇到了甚多麻烦,其中最主要的有微
程序的编写,它需要和指令格式表中进行严格的对照,尤其是在
UA5~UA0 的 6 位后续微地址,分别由 6 个控制位译码输出多位。
根据 UA5~UA0 所对应的代码进行 P 测试,使微程序转入相应的微
地址入口,从而实现微程序的顺序、分支、循环。
再者就是在调
试程序中所遇到的困难,由于一个学期的使用实验的模拟机的某
些部件可能存在问题,尤其常见的是电源线的故障,所以我们在调
试程序的过程中首先遇到的就是排除机器故障的问题.接下来便
是将相应的机器指令存入内存,微指令存入控制存储器中.这些都
是一些比较琐碎的工作所以稍微疏忽便会出错.
这次实验再次让我们体会到了团队合作的快乐,可以说如果没有
大家齐心协力,我们就不能完成这个实验.正是由于大家的团队精
神,在讨论时能各抒己见,不断的交流和学习,我们才能依靠集体
的力量,顺利的完成了这个实验.
5
总之,经过一个周的试验我受益匪浅,同时我还要感谢老
师对我们的悉心指导,帮我们分析解决了许多棘手的问题,也为
我拓展思路提供了很好的指导。
5