计算机组成原理课程设计报告及代码之复杂模型机设计.docx
- 文档编号:14909946
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:15
- 大小:21.48KB
计算机组成原理课程设计报告及代码之复杂模型机设计.docx
《计算机组成原理课程设计报告及代码之复杂模型机设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告及代码之复杂模型机设计.docx(15页珍藏版)》请在冰点文库上搜索。
计算机组成原理课程设计报告及代码之复杂模型机设计
课程设计报告
课程名称:
计算机组成原理
题目名称:
复杂模型机设计
专业名称:
计算机科学与技术
班级:
03
学生姓名:
李俊
同组同学:
丰翔王兆宇
学号:
指导教师:
兰勇
完成时间:
2016年1月8日
5
一、课程设计概述
课程设计的教学目的
本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的方法,进一步加深对计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。
在设计实践中提高应用所学专业知识分析问题和解决问题的能力。
课程设计任务和基本要求
本课程设计以TD—CMA计算机组成原理教学实验系统为平台完成。
1.按给定的数据格式和指令系统,理解微程序控制器的设计原理。
2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的微指令代码。
3.连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程和结果。
4.将微程序控制器模块与运算器模块、存储器模块联机,组成一台模型计算机。
5.用微程序控制器控制模型机的数据通路。
6.通过在模型机上运行有机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。
7.按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。
在PC机上编辑机器指令和微程序,装载代码到TD—CMA实验系统并运行,实现应用要求。
设计原理
在部件实验中,我们是人为用二进制开关来模拟一些控制信号完成数据通
路的控制。
而在本课程设计中,数据通路的控制由微程序控制器来完成。
计算机
从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令的列
来完成,即一条机器指令对应一个微程序。
二、规定项目的实验验证
设计原理
机器指令格式:
$PXXXX机器指令标志、十六进制地址、机器指令代码
微指令格式:
$MXXXXXXXX微指令标志、十六进制地址、微指令代码
微指令代码格式
23
22
21
20
19
18-15
14-12
11-9
8-6
5-0
M23
CN
WR
RD
IOM
S3-S0
A
B
C
M5-M0
0
进位
读
写
ALU
下一个地址
CN代表进位
WR、RD代表向MEM单元写和读
IOM代表向IN或OUT单元读写
S3-S0代表不同的运算
A指定目的地址
B指定原地址
C代表P测试或指定目的地址为PC指针
M5-M0代表下一个微指令的地址(一共6位,所以最大值为3F)
WR、RD、IOM的功能
WR
RD
IOM
功能
0
0
0
不涉及MEM、IN和OUT单元
0
1
0
从MEM单元读数据
0
1
1
从IN单元读数据
1
0
0
向MEM单元写数据
1
0
1
向OUT单元写数据
S3~S0以及CN的功能
运算类型
S3;S2;S1;S0
CN
功能
逻辑运算
0000
X
F=A
0001
X
F=B
0010
X
F=AB
0011
X
F=A+B
0100
X
F=~B
移位运算
循环移位
0101
X
F=A>>B
0110
0
F=A>>1
1
F=A>>1
0111
0
F=A<<1
1
F=A<<1
算数运算
1000
X
FC=CN
1001
X
F=A+B
1010
X
F=A+B+FC
1011
X
F=A-B
1100
X
F=A-1
1101
X
F=A+1
1110
X
1111
X
ABC字段以及功能
字段
内容
功能
A字段
目的操作数
000
NOP
001
存入A
010
存入B
011
存入寄存器Ri(R0~R3)
101
配合C字段的101,代表存入PC指针
110
存入地址寄存器AR
111
存入指令寄存器IR
B字段
源操作数
000
NOP
001
ALU写入总线
010
RS写入总线
011
RD写入总线
100
RI写入总线
110
配合C字段的101,代表PC写入总线
C字段
P测试
000
NOP
001
P
(1)
010
P
(2)
011
P(3)
101
指令涉及PC
寻址模式
寻址模式M
有效地址E
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(R2)+D
R2变址寻址
11
E=(PC)+D
相对寻址
RS、RD的表示
RS/RD
RI
00
R0
01
R1
10
R2
11
R3
一般D表示立即数;P表示地址
复杂模型机数据流图
微指令格式如表3所示,当微指令格式确定之后,下一步就是确定后续微指令地
当微指令格式确定之后,下一步就是确定后续微指令址通常的方法是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试,这些微地址确定以后,就可以在一个“微地址表”中将分支微地址填入相应的分支微地址单元,避免以后的设计中因重复使用而造成错误,对于其他位置按照数据通路可画出机器指令的微程序流程图如图2所示,当拟定“取值”微指令时,该微指令的判别测试字段为P
(1)测试,由于取值指令是所有微程序都是用的公用微序,因此P
(1)测试结果出现多路分支,本机使用指令寄存器的前四位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定的微地址单元。
控制台操作作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定的微地址单元,当分支地址单元固定后,其余每条微指令各占用控存一个微地址单元,随意填写即可。
注意:
微程序流程图上的单元地址为八进制。
指令寄存器(IR)用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存中取到缓存,然后在传送到指令寄存器中。
微程序流程图
(用visio画的,电子版的可以放大查看,纸质版的另附一张图)
当全部微程序设计完毕后,应将每条微指令代码化,表4即为将图2微程流程图按微指令格式转化得到的“二进制微代码表”。
下图为表4:
地址
16进制表示
高五位
S3-S0
A
B
C
下一微地址
功能
00
000001
00000
0000
000
000
000
000001
NOP
01
006D43
00000
0000
110
110
101
000011
PC->AR,PC加1
02
03
107070
00010
0000
111
000
001
110000
MEM->IR,P<1>
04
002405
00000
0000
010
001
000
000101
RS->B
05
04B201
00000
1001
011
001
000
000001
A加B->RD
06
002407
00000
0000
010
001
000
000111
RS->B
07
013201
00000
0010
011
001
000
000001
A与B->RD
08
106009
00010
0000
110
000
000
001000
MEM->AR
09
183001
00011
0000
011
000
000
000001
IO->RD
0A
106010
00010
0000
110
000
000
010000
MEM->AR
0B
005341
00000
0000
101
001
101
000001
NOP
0C
103001
00010
0000
011
000
000
000001
MEM->RD
0D
200601
00100
0000
000
011
000
000001
RD->MEM
0E
005341
00000
0000
101
001
101
000001
A->PC
0F
0000CB
00000
0000
000
000
011
001011
NOP,P<3>
10
280401
00101
0000
000
010
000
000001
RS->IO
11
103001
00010
0000
011
000
000
000001
MEM->RD
12
063201
00000
1100
011
001
000
000001
A-1->RD
13
002414
00000
0000
010
010
000
010100
RS->B
14
05B201
00000
1011
011
001
000
000001
A减B->RD
15
002416
00000
0000
010
010
000
010110
RS->B
16
01B201
00000
0011
011
001
000
000001
A或B->RD
17
18
03B201
00000
0111
011
001
000
000001
A<<1->RD
19
1A
1B
000001
00000
0000
000
000
000
000001
A->PC
1C
10101D
00010
0000
001
000
000
011101
MEM->A
1D
10608C
00010
0000
110
000
010
001100
MEM->AR,P<2>
1E
10601F
00010
0000
110
000
000
011111
MEM->AR
1F
101020
00010
0000
001
000
000
100000
MEM->A
20
10608C
00010
0000
110
000
010
001100
MEM->AR,P<2>
21
006D62
00000
0000
110
110
001
100010
PC->AR,PC++
22
102023
00010
0000
010
000
000
100011
MEM->B
23
058201
00000
1011
000
001
000
000001
A-B
24
25
26
27
28
101029
00010
0000
001
000
000
101001
MEM->A
29
00282A
00000
0000
010
100
000
101010
RI->B
2A
04E22B
00000
1001
110
001
000
101011
A加B->AR
2B
04928C
00000
1001
001
001
010
001100
A加B->A,P<2>
2C
10102D
00010
0000
001
000
000
101101
MEM->A
2D
002C2E
00000
0000
010
110
000
101110
PC->B
2E
04E22F
00000
1001
110
001
000
101111
A加B->AR
2F
04928C
00000
1011
001
001
010
001100
A加B->A,P<2>
30
001604
00000
0000
001
011
000
000100
RD->A
31
001606
00000
0000
001
011
000
000110
RD->A
32
006D48
00000
0000
110
110
101
001000
PC->AR,PC加1
33
006D4A
00000
0000
110
110
101
001010
PC->AR,PC加1
34
001621
00000
0000
001
011
000
100001
RD->A
35
000035
00000
0000
000
000
000
110101
NOP
36
006D51
00000
0000
110
110
101
010001
PC->AR,PC加1
37
001612
00000
0000
001
011
000
010010
RD->A
38
001613
00000
0000
001
011
000
010011
RD->A
39
001615
00000
0000
001
011
000
010101
RD->A
3A
001618
00000
0000
001
011
000
011000
RD->A
3B
000001
00000
0000
000
000
000
000001
NOP
3C
006D5C
00000
0000
110
110
101
011100
PC->AR,PC加1
3D
006D5E
00000
0000
110
110
101
011110
PC->AR,PC加1
3E
006D68
00000
0000
110
110
101
101000
PC->AR,PC加1
3F
006D6C
00000
0000
110
110
101
101100
PC->AR,PC加1
表4二进制微代码表
本设计的机器指令程序及相应的汇编程序如下:
微指令
汇编
指令格式
指令功能
ADDRD,RS
0000
RS
RD
RD+RS->RD
ANDRD,RS
0001
RS
RD
RD&RS->RD
INRD,P
0010
**
RD
P
[P]->RD
OUTP,RS
0011
RS
**
P
RD->[P]
TESTRD,D
0100
RD
D
RD-D
HALT
0101
停机
LDIRD,D
0110
**
RD
D
D->RD
DECRD
0111
**
RD
RD-1✍RD
SUBRD,RS
1000
RS
RD
RD-RS->RD
ORRD,RS
1001
RS
RD
RS|RD->RD
ROLRD
1010
RD
RD<<1->RD
保留
LADMD,RD
1100
M
RD
D
E->RD
STAMD,RS
1101
M
RS
RD->E
JMPMD
1110
M
D
E->PC
JNZMD
1111
M
D
当ZF=0或CF=0跳转
操作步骤
实验连线图
1.连线:
按实验连线图进行连线。
2.测试:
在联机软件CMA中打开综合性实验的数据通路图,并进行测试
3.编写程序:
采用联机读/写程序
按下面规定格式,用联机软件在CMPP中建立将机器指令及微指令的二进制代码编辑成十六进制的*.TXT文档,并用联机软件的转储功能将该格式文件装载到实验系统中。
测试程序及微指令代码:
;
运行程序
联机运行:
联机运行程序时,进入CMA软件界面,装在机器指令及微指令后,选择【实验】→【综合性实验】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。
三、指定应用项目的设计与实现
1、基本模型机设计与实现;
2、在基本模型机设计的基础上设计一台复杂模型机
任务分析:
本实验完成了逻辑与、左移、算术加、减运算、直接寻址、间接寻址、变址寻址、test指令并用JNZ、JMP指令实现跳转。
同时涉及到输入输出数据和将寄存器中的内容输入到内存中等知识点。
解决方案:
1.从in单元读入一个数,读入R1。
2.立即数0FH送R0
3.R0&R1与运算得到R1的低四位,输出R1的值
4.通过变址寻址找到地址为64H单元的数据存入R3,且输出R3
5.R1=R1+R3,输出R1。
6.通过间接寻址找到67H单元的数据62H,将62H中的数据存入R3,输出R3
7.R1=R1-R3,输出R1
8.将R1左移一位
9.输出R1
10.R1--
12.跳转至START
四、收获和体会
李俊)
通过本次课程设计,对计算机的基本组成,部件的设计,部件间的连接,微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论课程的理解。
通过自己对一系列微程序的编写,对程序执行的流程以及指令之间的跳转有了更深的理解,能够根据流程图和机器指令写出相应的微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对各种指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能。
最后感谢老师和同组同学的帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 报告 代码 复杂 模型 设计