计算机组成原理课程设计报告及代码之复杂模型机设计剖析Word下载.docx
《计算机组成原理课程设计报告及代码之复杂模型机设计剖析Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告及代码之复杂模型机设计剖析Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
本课程设计以TD—CMA计算机组成原理教学实验系统为平台完成。
1.按给定的数据格式和指令系统,理解微程序控制器的设计原理。
2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的微指令代码。
3.连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程和结果。
4.将微程序控制器模块与运算器模块、存储器模块联机,组成一台模型计算机。
5.用微程序控制器控制模型机的数据通路。
6.通过在模型机上运行有机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。
7.按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。
在PC机上编辑机器指令和微程序,装载代码到TD—CMA实验系统并运行,实现应用要求。
1.3设计原理
在部件实验中,我们是人为用二进制开关来模拟一些控制信号完成数据通路的控制。
而在本课程设计中,数据通路的控制由微程序控制器来完成。
计算机从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令的列来完成,即一条机器指令对应一个微程序。
规定项目的实验验证
2.1设计原理
机器指令格式:
$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
进位
读
写
ALU
下一个地址
CN代表进位
WR、RD代表向MEM单元写和读
IOM代表向IN或OUT单元读写
S3-S0代表不同的运算
A指定目的地址
B指定原地址
C代表P测试或指定目的地址为PC指针
M5-M0代表下一个微指令的地址(一共6位,所以最大值为3F)
WR、RD、IOM的功能
功能
不涉及MEM、IN和OUT单元
1
从MEM单元读数据
从IN单元读数据
向MEM单元写数据
向OUT单元写数据
S3~S0以及CN的功能
运算类型
S3;
S2;
S1;
S0
逻辑运算
0000
X
F=A
0001
F=B
0010
F=AB
0011
F=A+B
0100
F=~B
移位运算循环移位
0101
F=A>
>
0110
0111
F=A<
<
算数运算
1000
FC=CN
1001
1010
F=A+B+FC
1011
F=A-B
1100
F=A-1
1101
F=A+1
1110
1111
ABC字段以及功能
字段
内容
A字段目的操作数
000
NOP
001
存入A
010
存入B
011
存入寄存器Ri(R0~R3)
101
配合C字段的101,代表存入PC指针
110
存入地址寄存器AR
111
存入指令寄存器IR
B字段源操作数
ALU写入总线
RS写入总线
RD写入总线
100
RI写入总线
配合C字段的101,代表PC写入总线
C字段P测试
P
(1)
P
(2)
P(3)
指令涉及PC
5
寻址模式
寻址模式M
有效地址E
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(R2)+D
R2变址寻址
11
E=(PC)+D
相对寻址
RS、RD的表示
RS/RD
RI
R0
R1
R2
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
下一微
000001
00000
006D43
000011
PC->
AR,PC加1
02
03
107070
00010
110000
MEM->
IR,P<
1>
04
002405
000101
RS->
05
04B201
A加B->
7
06
002407
000111
07
013201
A与B->
08
106009
001000
AR
09
183001
00011
IO->
0A
106010
010000
0B
005341
0C
103001
0D
200601
00100
RD->
MEM
0E
A->
PC
0F
0000CB
00000
001011
NOP,P<
3>
280401
00101
IO
12
063201
A-1->
13
002414
010100
14
05B201
A减B->
15
002416
010110
16
01B201
A或B->
17
18
03B201
A<
1->
1A
1B
1C
10101D
00010
011101
1D
10608C
001100
AR,P<
2>
1E
10601F
011111
1F
101020
100000
006D62