资源描述
计 算 机 组 成 原 理
实 验 报 告
评 语:
成绩
教 师:
年 月 日
班 级: 031213
学 号: 03121256
姓 名: 戚玉志
地 点: 二区312
时 间: .9.15(第二批)
计算机组成原理和体系结构课程设计
基础模型机设计和实现
一.试验目标
1.深入了解基础模型计算机功效、组成知识;
2.深入学习计算机各类经典指令实施步骤;
3.学习微程序控制器设计过程和相关技术,掌握LPM_ROM配置方法。
4.在掌握部件单元电路试验基础上,深入将单元电路组成系统,结构一台基础模型计算机。
5.定义五条机器指令,并编写对应微程序,上机调试,掌握计算机整机概念。掌握微程序设计方法,学会编写二进制微指令代码表。
6.经过熟悉较完整计算机设计,全方面了解并掌握微程序控制方法计算机设计方法。
二.试验原理
本试验采取五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式以下(最高4位二进制数为操作码):
1.在部件试验过程中,各部件单元控制信号是人为模拟产生,而本试验将能在微过程控制下自动产生各部件单元控制信号,实现特定功效。试验中,计算机数据通路控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令实施结束一个指令周期,全部由微指令组成序列来完成,即一条机器指令对应一个微程序。
2.指令格式
(1)指令格式
采取寄存器直接寻址方法,其格式以下:
位
7654
32
10
功效
OP-CODE
rs
rd
其中,OP-CODE为操作码,rs为源寄存器,rd为目标寄存器,并要求:
Rs或rd
选定寄存器
00
01
10
R0
R1
R2
助记符
机器指令码
Addr地址码
功效说明
IN
ADD addr
STA addr
OUT addr
JMP addr
0 0H
1 0H XX H
2 0H XX H
3 0H XX H
4 0H XX H
“INPUT”中数据→R0
R0+[addr] ->R0
R0 -> [addr]
[addr] -> BUS
addr →PC
其中IN为单字长(8位二进制),其它为双字长指令,XX H 为addr对应十六进制地址码。为了向RAM中装入程序和数据,检验写入是否正确,并能开启程序实施,还必需设计三个控制台操作微程序。
图6-1 数据通路框图
1,存放器读操作(KRD):下载试验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 0”时,可对RAM连续手动读入操作。
2,存放器写操作(KWE):下载试验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 1”时,可对RAM连续手动写操作。
3、开启程序(RP):下载试验程序后按总清除按键(CLR)后,控制台SWA、SWB为“1 1”时,即可转入到微地址“01”号“取指令”微指令,开启程序运行。
SWB
SWA
控制台指令
0
0
1
0
1
1
读内存(KRD)
写内存(KWE)
开启程序(RP)
依据以上要求设计数据通路框图,图5-1所表示。
表6-1 24位微代码定义:
24
23
22
21
20
19
18
17
16
15 14 13
12 11 10
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
A9
A8
A
B
C
uA5
uA4
uA3
uA2
uA1
uA0
表6-2 A、B、C各字段功效说明:
A字段
B字段
C字段
15
14
13
选择
12
11
10
选择
9
8
7
选择
0
0
0
0
0
0
0
0
0
0
0
1
LDRi
0
0
1
RS-B
0
0
1
P(1)
0
1
0
LDDR1
0
1
0
0
1
0
0
1
1
LDDR2
0
1
1
0
1
1
1
0
0
LDIR
1
0
0
1
0
0
P(4)
1
0
1
LOAD
1
0
1
ALU-B
1
0
1
LDAR
1
1
0
LDAR
1
1
0
PC-B
1
1
0
LDPC
24位微代码中各信号功效
(1) uA5—uA0:微程序控制器微地址输出信号,是下一条要实施微指令微地址。
(2) S3、S2、Sl、S0:由微程序控制器输出ALU操作选择信号,以控制实施16种算术操作或16种逻辑操作中某一个操作。
(3) M:微程序控制输出ALU操作方法选择信号端。M=0实施算术操作;M=l实施逻辑操作。
(4) Cn:微程序控制器输出进位标志信号,Cn=0表示ALU运算时最低位有进位,Cn=1则表示无进位。 (5)WE:微程序控制器输出RAM控制信号。当/CE=0时,如WE=0为存放器读;如WE=1为存放器写。
(6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED选通控制信号。
(7) A字段(15、14、13)——译码后产生和总线相连接各单元输入选通信号(见表6-1)。
(8) B字段(12、11、10)——译码后产生和总线相连接各单元输出选通信号。
(9) C字段(9、8、7) ——译码后产生分支判定测试信号P(1)~P(4)和LDPC信号。
系统包含到微程序步骤见图6-2。当实施“取指令”微指令时,该微指令判定测试字段为P(1)测试。因为“取指令”微指令是全部微程序全部使用公用微指令,所以P(1)测试结果出现多路分支(见图6-2左图)。用指令寄存器高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。
控制台操作为P(4)测试(见图6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下其它地方就能够一条微指令占用控制存放器一个微地址单元,随意填写。注意:微程序步骤图上微地址为8进制!
当全部微程序设计完成后,应将每条微指令代码化,表6-2即为图6-2微程序步骤图按微指令格式转化而成“二进制微代码表”。
微地址
微指令
S3 S2 S1 S0 M CN WE A9 A8
A
B
C
UA5—UA0
00
018110
000
000
100
010000
01
00ED82
110
110
110
000010
02
00C048
100
000
001
001000
03
00E004
110
000
000
000100
04
00B005
011
000
000
000101
05
01A206
010
001
000
000110
06
919A01
001
101
000
000001
07
00E00D
110
000
000
001101
10
001001
001
000
000
000001
11
00ED83
110
110
110
000011
12
00ED87
110
110
110
000111
13
00ED8E
110
110
110
001110
14
00ED96
110
110
110
010110
15
038201
00000011
000
001
000
000001
16
00E00F
110
000
000
001111
17
00A015
010
000
000
010101
20
01ED92
110
110
110
010010
21
01ED94
110
110
110
010100
22
00A010
010
000
000
010000
23
008001
000
000
000
000001
24
06
010
000
000
010001
25
070A01
000
101
000
000001
26
00D181
101
000
110
000001
表6-2 二进制微代码表
指令寄存器(IR):指令寄存器用来保留目前正在实施一条指令。当实施一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码段,由二进制数组成,为了实施任何给定指令,必需对操作码进行测试“P(1)”,经过节拍脉冲T4控制,方便识别所要求操作。
指令译码器: 依据指令中操作码强置微控制器单元微地址,使下一条微指令指向对应微程序首地址。
试验电路原理图 :
试验程序1:
伪指令设计过程:
图所表示,设计了减法,或运算,和运算,非运算,加一和减一运算,得到微指令以下图所表示:
试验RAM中程序以下图所表示:
试验心得
试验刚开始时候,拿到课程设计题目,认为自己简直是无法下手,但以后经过认真学习试验课程相关内容和在同学帮助下,我认为其是自己还是能够实现课程设计最终目标。其是只要是认真看明白了试验所给出微指令例程,尤其是加法指令后,和其相同指令就能够实现了,自己所需要改变只是一些控制位和最终地址位而已,但这种方法做出来微指令也有一定缺点,全部指令全部是在围绕着ALU而已,没有创新。
经过这次课程设计,我愈加深刻认识到,全部在书本上面学到知识其实全部是能够在实际操作中实现。经过自己动手,所学到知识才会有愈加深刻印象,才能真正做到学以致用。
展开阅读全文