计算机组成原理课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
-设计基本模型机的指令系统
题目: 计算机组成原理课程设计
院 系: 计算机科学与工程学院
专业班级: 计算机08-6
学 号: 2008302974
学生姓名:
指导教师:
2010年 12 月 11 日
安徽理工大学课程设计(论文)任务书
计算机科学与工程 院系 硬件 教研室 学 号 2008302974 学生姓名 专业(班级) 计算机08-6 设计题目 设计基本模型机的指令系统实现异或
设
计 计算机组成原理教学实验仪一台,排线若干;
技 PC机一台
术 DJ-CPT816组成原理实验软件
参 模型机的指令系统,微程序,微指令,程序
数
设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转设 移,传送指令) 计
在已编写的指令系统上设计程序实现异或 要
按时提交设计报告 求
工
作 论文不少于15页,附带必要的图表
量
设计课一:分析设计要求,制定设计计划,完成指令系统设计,并在CPTH实验软件
中形成.mic文件 工 设计课二:分析设计编写程序实现异或 作 设计课三:在微机和试验仪的支持下,调入指令系统和程序,运行,测试,完成系统的计 设计 划 设计课四:提交设计报告
参 [1]李敬兆. 8086/8088和基于ARM核汇编语言程序设计 考 [2]清华大学出版社.计算机组成原理与设计实验指导 资 [3]白中英.计算机组成原理 料
指导教师签字 教研室主任签字
2010年 12月 11 日
I
安徽理工大学课程设计(论文)成绩评定表
指导教师评语:
成绩:
指导教师:
年 月 日
II
摘要
在飞速发展的科技社会中,计算机被应用到各行各业,各个领域中。人们渐渐地步入自动化、智能化的生活阶段。本次计算机组成原理课程设计课题是基本模型机的设计与实现。利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转移,传送指令),形成具有一定功能的完整的应用程序。
简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。
这一课题的实现不仅使我们对各种微指令有了熟练的掌握,更对有关知识的深入学习打下基础。
关键词:指令系统,微指令,机器指令,异或
III
目录
1系统分析 ........................................................................................................ 1
1.1 设计背景 .......................................................................................................................................... 1
1.2 设计目标 .......................................................................................................................................... 3 2系统设计 ........................................................................................................ 4
2.1 模型机的指令设计 .......................................................................................................................... 4
2.2 模型机的微指令设计 ...................................................................................................................... 5
2.3 异或程序设计 ................................................................................................................................ 10 3系统实现 ...................................................................................................... 11
3.1 程序编写 ........................................................................................................................................ 11
3.2 程序分析 ........................................................................................................................................ 11
3.3 调试结果 ........................................................................................................................................ 12 4总结 .............................................................................................................. 13
4.1 设计体会 ........................................................................................................................................ 13
4.2 系统改进 ........................................................................................................................................ 13 参考文献 ......................................................................................................... 14
IV
安徽理工大学课程设计(论文)
1.系统分析
1.1 设计背景
通过计算机组成原理理论课和几次实验的学习,尝试设计八类机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。
本课程设计的模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数,指令码的最低两位用来选择R0-R3寄存器。在微程序控制方式下,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。在本模型机中,一条指令最多分为四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入输出,选择运算器的运算功能,存储器的读写。
简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。
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打入允许,与指令寄存器的IR2.,IR3位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR
MAROE:将地址寄存器MAR的值送到地址总线ABUS上
OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里
STEN:将数据总线DBUS上数据存到堆栈寄存器里
RRD:读寄存器组R0-R3,寄存器R,的选择由指令的最低两位决定 RWR:写寄存器组R0-R3,寄存器R,的选择由指令的最低两位决定
-1-
安徽理工大学课程设计(论文) CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位 FEN:将标志位存入ALU内部的标志寄存器
X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,见表1
WEN:将数据总线DBUS的值打入工作寄存器W中 AEN:将数据总线DBUS的值打入累加器A中
S2,S1,S0三位组合决定ALU做何种运算,见表2
表1
X2 X1 X0 输出寄存器
0 0 0 IN_OE 外部输入门
0 0 1 IA_OE 中断向量
0 1 0 ST_OE 堆栈寄存器
0 1 1 PC_OE PC寄存器
1 0 0 D_OE 直通门
1 0 1 R_OE 右移门
1 1 0 L_OE 左移门
1 1 1 没有输出
表2
S2 S1 S0 功能
0 0 0 A+W 加
0 0 1 A-W 减
0 1 0 A|W 或
0 1 1 A & W 与
1 0 0 A+W+C 带进位加
1 0 1 A-W-C 带进位减
1 1 0 ~A A取反
1 1 1 A 输出A
-2-
安徽理工大学课程设计(论文)
1.2 设计目标
本课程设计要求实现机器指令:ZHN(传送),INPUT(输入), YU(逻辑与),HUO(逻辑或),OUTPUT(输出),JIA(算术加),JIAN(算术减),JC,JZ,JMP(转移)和FEI (逻辑非)。
要包括直接寻址,立即数寻址,寄存器寻址,间接寻址四种寻址方式。最后要在设计的指令系统基础上,编写程序实现异或。
-3-
安徽理工大学课程设计(论文)
2.系统设计
2.1 模型机的指令设计
根据设计要求,设计出的指令要包括传送,逻辑与,逻辑或,算术加,减运算,输
入,输出,转移这八种指令,且要运用直接寻址,立即数寻址,寄存器寻址,间接寻址
四种寻址方式。由此设计出指令表如表3:
表3 指令表
指令类型 助记符 机器码 功能 取指 _FETCH_ 000000xx IR?PC 算术加 JIA A,R? 000001xx R?+A?A
JIA A, @ R? 000010xx @ R?+A?A
JIA A,* 000011xx * (*)+A?A
JIA A,#* 000100xx #* *+A?A 算术减 JIAN A,R? 001001xx R?-A?A
JIAN A,@R? 001010xx @R?-A?A
JIAN A,* 001011xx * A-(*)?A
JIAN A,#* 001100xx #* A-*?A 输入 INPUT 010001xx K23…K16?A 输出 OUTPUT 010010xx A?OUT寄存器 逻辑与 YU A,R? 010011xx R?&&A?A
YU A,@R? 010100xx @R?&&A?A
YU A,* 010101xx * (*)&&A?A
YU A,#* 010110xx #* *&&A?A 逻辑或 HUO A,R? 010111xx R?||A?A
HUO A,@R? 011000xx @R?||A?A
HUO A,* 011001xx * (*)||A?A
HUO A,#* 011010xx #* *||A?A 逻辑非 FEI A 011011xx A取反 传送 ZHN R?,A 100000xx A?R?
ZHN *,A 100010xx * A?(*)
ZHN R?,#* 100011xx #* *?R?
ZHN A,R? 011100xx R? ?A
-4-
安徽理工大学课程设计(论文)
ZHN A,#* 011111xx #* *?A
转移 JC * 100100xx * CF=1则*?PC
JZ * 100101xx * ZF=1则*?PC
JMP * 100111xx * 2.2 模型机的微指令设计
(1)微指令的24位控制位如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? XRD EMWR EMRD PCOE EMEN IREN EINT ELP MAREN MARDE OUTEN STEN RRD RWR CN FEN X2 X1 X0 WEN AEN S2 S1 S0
(2)设计出的微指令集如表4:
表4 微指令集表
助记符 状 微地 微程序
态 址
_FETCH_ T0 00 CBFFFF
01 FFFFFF
02 FFFFFF
03 FFFFFF JIA A,R? T2 04 FFF7EF
T1 05 FFFE90
T0 06 CBFFFF
07 FFFFFF JIA A,@R? T3 08 FF77FF
T2 09 D7BFEF
T1 0A FFFE90
T0 0B CBFFFF JIA A,* T3 0C C77FFF
T2 0D D7BFEF
T1 0E FFFE90
T0 0F CBFFFF JIA A,#* T2 10 C7FFEF
T1 11 FFFE90
-5-
安徽理工大学课程设计(论文)
T0 12 CBFFFF
13 FFFFFF JIAC A,R? T2 14 FFF7EF
T1 15 FFFE94
T0 16 CBFFFF
17 FFFFFF JIAC A,@R? T3 18 FF77FF
T2 19 D7BFEF
T1 1A FFFE94
T0 1B CBFFFF JIAC A,* T3 1C C77FFF
T2 1D D7BFEF
T1 1E FFFE94
T0 1F CBFFFF JIAC A,#* T2 20 C7FFEF
T1 21 FFFE94
T0 22 CBFFFF
23 FFFFFF JIAN A,R? T2 24 FFF7EF
T1 25 FFFE91
T0 26 CBFFFF
27 FFFFFF JIAN A,@R? T3 28 FF77FF
T2 29 D7BFEF
T1 2A FFFE91
T0 2B CBFFFF JIAN A,* T3 2C C77FFF
T2 2D D7BFEF
T1 2E FFFE91
T0 2F CBFFFF JIAN A,#* T2 30 C7FFEF
T1 31 FFFE91
T0 32 CBFFFF
-6-
安徽理工大学课程设计(论文)
33 FFFFFF JIANC A,R? T2 34 FFF7EF
T1 35 FFFE95
T0 36 CBFFFF
37 FFFFFF JIAN T3 38 FF77FF C A,@R? T2 39 D7BFEF
T1 3A FFFE95
T0 3B CBFFFF JIANC A,* T3 3C C77FFF
T2 3D D7BFEF
T1 3E FFFE95
T0 3F CBFFFF JIANC A,#* T2 40 C7FFEF
T1 41 FFFE95
T0 42 CBFFFF
43 FFFFFF INPUT T1 44 FFFF17
T0 45 CBFFFF
46 FFFFFF
47 FFFFFF OUTPUT T1 48 FFDF9F
T0 49 CBFFFF
4A FFFFFF
4B FFFFFF YU A,R? T2 4C FFF7EF
T1 4D FFFE93
T0 4E CBFFFF
4F FFFFFF YU A,@R? T3 50 FF77FF
T2 51 D7BFEF
T1 52 FFFE93
T0 53 CBFFFF
-7-
安徽理工大学课程设计(论文) YU A,* T3 54 C77FFF
T2 55 D7BFEF
T1 56 FFFE93
T0 57 CBFFFF YU A,#* T2 58 C7FFEF
T1 69 FFFE93
T0 5A CBFFFF
5B FFFFFF HUO A,R? T2 5C FFF7EF
T1 5D FFFE92
T0 5E CBFFFF
5F FFFFFF HUO A,@R? T3 60 FF77FF
T2 61 D7BFEF
T1 62 FFFE92
T0 63 CBFFFF HUO A,* T3 64 C77FFF
T2 65 D7BFEF
T1 66 FFFE92
T0 67 CBFFFF HUO A,#* T2 68 C7FFEF
T1 69 FFFE92
T0 6A CBFFFF
6B FFFFFF FEI A T1 6C FFFE96
T0 6D CBFFFF
6E FFFFFF
6F FFFFFF ZHN A,R? T1 70 FFF7F7
T0 71 CBFFFF
72 FFFFFF
73 FFFFFF ZHN A,@R? T2 74 FF77FF
-8-
安徽理工大学课程设计(论文)
T1 75 D7BFF7
T0 76 CBFFFF
77 FFFFFF ZHN A,* T2 78 C77FFF
T1 79 D7BFF7
T0 7A CBFFFF
7B FFFFFF ZHN A,#* T1 7C C7FFF7
T0 7D CBFFFF
7E FFFFFF
7F FFFFFF ZHN R?,A T1 80 FFFB9F
T0 81 CBFFFF
82 FFFFFF
83 FFFFFF ZHN @R?,A T2 84 FF77FF
T1 85 B7BF9F
T0 86 CBFFFF
87 FFFFFF ZHN *,A T2 88 C77FFF
T1 89 B7BF9F
T0 8A CBFFFF
8B FFFFFF ZHN R?,#* T1 8C C7FBFF
T0 8D CBFFFF
8E FFFFFF
8F FFFFFF JC * T1 90 C6FFFF
T0 91 CBFFFF
92 FFFFFF
93 FFFFFF JZ * T1 94 C6FFFF
T0 95 CBFFFF
-9-
安徽理工大学课程设计(论文)
96 FFFFFF
97 FFFFFF JMP * T1 98 C6FFFF
T0 99 CBFFFF
9A FFFFFF
9B FFFFFF
2.3 异或程序设计
程序设计思路:
有等式
则有程序
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图如图5:
图5 程序流程图
-10-
安徽理工大学课程设计(论文)
3.系统实现
3.1 程序编写
按照系统分析中得到的指令集,在DJ-CPT816实验软件中新建指令系统,生
成.mac文件和.mic文件。在DJ-CPT816实验软件中新建.asm文件,输入程序:
INPUT
ZHN R0,A
INPUT
ZHN R1,A
FEI A
ZHN R2,A
ZHN A,R0
FEI A
ZHN R3,A
ZHN A,R0
YU A,R2
ZHN R2,A
ZHN A,R1
YU A,R3
ZHN R3,A
ZHN A,R2
JIA A,R3
OUTPUT
END
3.2 程序分析
INPUT //准备输入第一个二进制数 ZHN R0,A //输入第一个二进制数到寄存器R0 INPUT //准备输入第二个二进制数 ZHN R1,A //输入第一个二进制数到寄存器 FEI A //对累加器A里面的值取反 ZHN R2,A //把A里面的值存到寄存器R2中 ZHN A,R0 //把R0里面的值存到寄存器A中 FEI A //对累加器A里面的值取反 ZHN R3,A //把A里面的值存到寄存器R3中 ZHN A,R0 //把R0里面的值存到寄存器A中
-11-
安徽理工大学课程设计(论文)
YU A,R2 //对A和R2里面的值进行与操作,并将结果放入A中
ZHN R2,A //把A里面的值存到寄存器R2中
ZHN A,R1 //把R1里面的值存到寄存器A中
YU A,R3 //对A和R3里面的值进行与操作,并将结果放入A中
ZHN R3,A //把A里面的值存到寄存器R3中
ZHN A,R2 //把R2里面的值存到寄存器A中
JIA A,R3 //把A和R3中的值进行加操作,并将结果放入A中
OUTPUT //输出A中的值
END
3.3 调试结果
把计算机与试验仪器相连接,打开试验仪器,导入新建的指令系统,编译下载该asm文件,装载正确后单步运行,检查运行结果是否符合要求。
实验结果:
(第一次置K23—K16 为00101000,第二次置K23—K16为01011111,输1
出的是01110111
(第一次置K23—K16 为00101111,第二次置K23—K16为00101101,输 2
出的是00000010
-12-
安徽理工大学课程设计(论文)
4.总结
4.1 设计体会
经过为期四周的课程设计,一路走下来发现自己存在的问题还是非常多的,当初拿到课程设计题目的时候由于相关知识的缺乏,自己并没有很好的设计思路,在通过和同学的探讨以及查阅相关资料之后,发现有时候同学之间的交流还是能够学到很多东西的。
本次课程设计要求我们设计一台微程序控制的模型机,设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转移,传送指令),设计的目的是让我们增加自己的动手能力,真正的达到理论与实际的结合。由于自己对计算机硬件知识了解的不是非常透彻,对相关部件的工作原理并不是很清楚,在刚开始设计感觉到无从下手,只能够由实验书上的简单例子进行相关的试验,并查阅相关资料漫漫的由浅入深达到设计的目的。
经过本次课程设计,真正的发现理论与实际结合得重要性,有时并不是理论知识学得好动手能力就会高,当真正动起手来发现自己需要学得知识还是很多的,在以后的学习中,自己一定会加强理论与实际的结合,让自己达到新型社会需要人才的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
。
在此次的设计中,感谢老师对我们的帮助和指导。过程还不够完善,希望老师继续指导
4.2 系统改进
本系统由于立即数寻址方式未能做好,所以程序代码方面效率不是太高。主要是因为:修改助记符和微指令时并没有按照规范的步骤修改,就通过记事本方式修改了.mic文件,.mac文件和.dat文件,虽然运行结果运行可以,但立即数那一块运行有问题。
所以本系统要想改善的话,应该重新做微指令那块,但考虑到时间问题就没有重新做微指令了,虽然程序不是很精简,但运行也没什么问题。还有就是指令合并没做,这样可以使程序代码简化,运行速度加快,但自身能力不足就没做了。
-13-
安徽理工大学课程设计(论文)
参考文献
[1]计算机组成原理实验指导书. 王诚,宋佳兴,董长洪编著. 清华大学出版社,2002. [2]《计算机组成原理》学习指导与训练 . 旷海兰等编著. 中国水利水电出版社, 2004.
[3]计算机原理与设计. 宋焕章 张春元 王保恒. 长沙:国防科技大学出版社, 2000. [4] 白中英(计算机组成原理(第二版)(北京:科学出版社,1998
-14-