基本模型机设计及实现.docx
《基本模型机设计及实现.docx》由会员分享,可在线阅读,更多相关《基本模型机设计及实现.docx(20页珍藏版)》请在冰豆网上搜索。
基本模型机设计及实现
课程设计任务书
课程名称:
计算机组成原理
设计题目:
(共3个课题,最多3人一组,每组任选一题)
1.基本模型机设计与实现;
2.带移位运算的模型机的设计与实现;
3.复杂模型机的设计与实现。
已知技术参数和设计要求:
内容和技术参数:
利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。
设计环境为TDN-CM+计算机组成原理教学实验系统,微机,虚拟软件。
将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。
最后撰写出符合要求的课程设计说明书、完成答辩。
1.基本模型机设计与实现
指令系统至少要包括六条不同类型指令:
如一条输入指令,一条减法指令,一条加法指令,
一条存数指令,一条输出指令和一条无条件转移指令。
2.带移位运算的模型机的设计与实现
在基本模型机的基础上增加左、右循环和左、右带进位循环四条指令
3.设计不少于10条指令的指令系统。
其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。
重点是要包括直接、间接、变址和相对寻址等多种寻址方式。
以上数据字长为8位,采用定点补码表示。
指令字长为8的整数倍。
微指令字长为24位具体要求:
1、确定设计目标
确定所设计计算机的功能和用途。
2、确定指令系统
确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
确定相对应指令所包含的微操作。
3、总体结构与数据通路
总体结构设计包括确定各部件设置以及它们之间的数据通路结构。
在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。
综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。
数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。
4、设计指令执行流程
数据通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。
对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中
5、确定微程序地址根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。
6微指令代码化
根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到
控制存储器中的相应单兀中。
7、组装、调试
在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。
当所有功能模块都调试正常后,进入总调试。
连接所有模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。
课程设计说明书要求:
课程设计说明书按学校统一格式撰写和装订。
课程设计报告要求打印,其中的数据通路框
图、微程序流程图、实验接线图用VISIO等工具软件绘制或用铅笔工工整整绘制。
(1)封面(包括:
题目、所在系、班级、学号、指导教师及时间等项,可到教务处网页
上下载)
(2)任务书
(3)目录
目录要层次清晰,要给出标题及页次,目录的最后一项是无序号的“参考文献”。
(4)正文正文应按目录中编排的章节依次撰写,要求计算正确,论述清楚,文字简练通顺,插图清晰,书写整洁。
文中图、表及公式应规范地绘制和书写正文是实践设计报告的主体,具体由以下几部分组成:
1)课程设计题目;
2)课程设计使用的实验设备;
3)课程设计步骤(包括确定所设计计算机的功能和用途、指令系统、总体结构与数
据通路、设计指令执行流程、确定微程序地址、微指令代码化、组装、调试。
)
4)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法等);
(5)附录
附录1:
数据通路图
附录2:
微程序流程图
附录3:
实验接线图
附录4:
实验程序及微程序
附录5:
参考文献(资料)(格式规范参照长沙学院毕业设计(论文)撰写规范)
设计工作量:
(1)作品:
设计的最终作品包括硬件和软件两个部分,要求能够演示并达到设计指标的要求每个学生(或小组)在作品完成后,要经指导教师检查,同意拆除后方可拆卸。
(2)论文:
严格按上述课程设计说明书的要求撰写和装订。
每个学生一份。
成绩评定标准:
课程设计的成绩分为:
优秀:
、良好、中等、及格、不及格五个等级。
优秀:
完成复杂模型机的设计与实现,指令系统完备有更新扩充。
调试成功。
文档规范齐
良好:
完成模型机的设计与实现,指令系统指令种类丰富有一定的更新。
调试成功。
文档规范齐全。
中等:
完成基本模型机的设计与实现,在老师指导下对指令系统有更新。
调试成功。
文档规范齐全。
及格:
完成基本模型机的设计与实现。
调试成功。
文档规范齐全。
不及格:
没有课程设计报告,无故缺勤,不能完成调试者不及格。
工作计划:
时间:
15、16周
讲授:
2课时
答疑及设计:
22课时
上机调试:
12课时
答辩:
4课时
教研室主任签名:
日期:
系主任签名:
日期:
设计背景
通过计算机组成原理理论课和几次实验的学习,尝试设计六条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。
在设计基本模型机4的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到
指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。
本课程设计要求实现六条机器指令:
IN(输入),与AND(逻辑乘),STA(存数),OUT(输出),或OR(逻辑加),异或XOR(逻辑异)的输入,输出。
重点主要在逻辑运算的设计中
设计目标
在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。
本次课程设计主要是为其定义六条机器指令,编写相应的微程序,并上机调试运行,
形成整机概念。
用微程序控制器实现以下指令功能,设计各指令格式以及编码,并实现各机器指令微
代码,根据定义的机器指令,自拟编写加ADD,减SUB循环左移RLC的应用程序。
全部微指令设计完毕后,编写二进制代码,即使每条指令代码化。
连接线路在ZY15CompSys12BB
计算机组成原理教学实验箱上运行,并显示输出实验结果。
概要设计
1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台稍微复杂的模型计算机;
2.为其定义六条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
设计仪器
TDX—CM+计算机组成原理教学实验系统一台,排线若干;
PC机一台。
设计内容
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的
控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用六条机器指令:
IN,OUT,STA加ADD,减SUB循环左移RLC其指格式如下:
地址
内容
助
记
符
说明
00
00
IN
;输入开关数据
—R0,采集数据
01
10
ADD[0AH]
;RO+[OAH]—RO
02
0A
;地址
03
20
STA[0BH]
R0—[0BH]
04
0B
;地址
05
30
OUT[0BH]
[0BH]—BUS输出显示
06
0B
;地址
07
40
SUB[0AH]
7
R0-[0AH]—R0
08
0A
;地址
01
0A
OB
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序•
存储器读操作:
拨动总清开关CLR后,控制台开关SWB,SWA为”00”时,按START微动开关,可对RAM连续手动读操作.
存储器写操作:
拨动总清开关CLR后,控制台开关SWBSWA置为”01”时按START微动开关可对RAM进行连续手动写入.
启动程序:
拨动总清开关CLR后,控制台开关SWBSWA置为11”时,按START微动
开关,既可转入到第01号“取址微指令,启动程序运行.
上述三条控制台指令用两个开关SWBSWA的状态来设置,其定义如下
表3-1读写变化
SWB
SWA
控制台指令
0
0
读内存(KRD)
0
1
写内存(KWE)
1
1
启动程序(RP)
微代码定义如表
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
C
W
A
A
A
B
C
uA
uA
uA
uA
uA
uA
n
E
9
8
5
4
3
2
1
0
表3-3A,B,P字段内容
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_G
0
0
1
P1
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
P4
1
0
1
LOAD
1
0
1
ALUG
1
0
1
1
1
0
LDAR
1
1
0
PCG
1
1
0
LDPC
当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。
本次课程设计用指令寄存器的前4位(17-14)作为测试条件,出现6路分支,占用6个固定微地址单元。
控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。
当全部微程序设计完毕之后,应将每条微指令代码化:
运行:
01
PC->AR
PC+1
02
RAM->BUS
IN
T10
SW->RO
ADD
STA
BUS->IR
10
P1
OUT
JMP
SUB
PC->AR
PC+1
01
12
13
14
15
PC->AR
PC+1
PC->AR
PC+1
PC->AR
PC+1
——一07RAM->BUS
T16
RAM->BUS
t26
RAM->BUS
T30
RAM->BUS
BUS->AR
BUS->AR
BUS->AR
BUS->AR
R0->BUS
26
17
31
BUS->RAM
01
RAM->BUS
X~0T
R0->BUS
BUS->DR1
/
BUS->DR0
1
r
32
DR1->LED
R0->DR1
33
01
DR1+DR2->
R0
01
控制台
+00
图3-1微程序流程图
表3-4二进制微代码表
微地址
S3~CN
RD
M17M16
A
B
P
uA5~uA0
00
00000
0
0
1
1
000
000
100
01000
0
01
00000
0
0
1
1
110
110
110
00001
0
02
00000
0
0
0
1
100
000
001
00100
0
03
00000
0
0
0
1
110
000
000
00010
0
04
00000
0
0
0
1
011
000
000
00010
1
05
00000
0
0
1
1
010
001
000
00011
0
06
10010
1
0
1
1
001
101
000
00000
1
07
00000
0
0
1
110
000
000
01011
0
0
10'
00000
0
0
0
001
r000
p000
00000
0
1
11
00000
0
1
1
110
110
110
00001
0
1
12
00000
0
1
1
110
110
110
00011
0
1
13
00000
0
1
1
110
110
110
00111
0
0
14
00000
0
1
1
110
110
110
01100
0
1
15
00110
0
1
1
000
001
000
01110
0
1
16
00000
0
0
1
110
000
000
00111
0
1
17
00000
0
0
1
010
000
000
01010
0
1
20
00000
0
1
1
110
110
110
01001
0
0
21
00000
0
1
1
110
110
110
01010
0
0
22
00000
0
0
1
010
000
000
01011
0
1
23
00000
0
1
1
000
000
000
00000
0
1
24
00000
0
0
0
010
000
000
01100
0
0
25
00000
1
1
0
000
101
000
00000
1
1
26
00000
1
0
1
000
001
000
00000
0
1
27
00000
1
1
0
000
101
000
01000
1
0
30
00000
1
0
1
000
101
000
01000
1
1
31
00000
0
0
1
110
000
000
00010
0
0
32
00000
0
0
1
011
000
000
00010
0
1
33
00000
0
1
1
010
001
000
00011
0
0
34
01100
0
0
1
1
001
101
000
01
11
1
1
35
00011
0
0
1
1
000
100
000
01
11
0
1
36
00000
0
0
1
1
001
100
000
01
11
1
1
37
00000
0
0
1
1
010
001
000
01
01
1
0
下面介绍指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把他从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P
⑴],通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器:
”(实验板上标有“INSDECODE'的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT
DEVICE;另一种是数码块,它作为输出设备(OUTDEVICEo例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线上,当写信号(W/E)有效时,将数据打入输出锁存器,驱动数码块显示。
详细设计
4.1系统需求分析
一台计算机所能执行的各种指令集合称为指令系统或指令集。
一台特定的计算机只能
执行自己指令系统中的指令。
因此,指令系统就是计算机的机器语言。
指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。
指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。
计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属
性,而指令系统的设置又与机器的硬件结构密切相关。
指令是计算机执行某种操作的命令,
而指令系统是一台计算机中所有机器指令的集合。
通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。
4.2系统目标
在基本模型机的基础上改进并实现IN,OUT,STA加ADD,减SUB循环左移RLC六条指令。
4.3功能分析
该系统实现的功能是对输入的数据可以和内存中的数据进行连续的加、减及循环左移
运算,并对其结果进行存储,显示等功能,从而得到一个简易的复杂模型机所实现的功能。
4.4详细步骤
(1)按图4-1连接实验线路。
B7
BUSUNIT
B0
W/RUNITT4
T3
T2
T1
WEr-
di
§§§§
H-H-H-H-
STATEUNIT
一H24
SIGNALUNIT
B7
S3
I
IAUJ3
I
I
I
I
BO
I
CN
M24
|M18'
|se6r
M19
SE1
SE6
SE1
I7
SWI
CHUNII
SWB
SWA
SWB
SWA
LDDR1
LDDR2'
ALU-BI
ALUUNIT
LDDR1
LDDR2
ALU-B
P
(1)''
P(4)[
|
P
(1)|
—□P(4)|
LOGUNITI2
LDIP.一
I7
B7LDR0[
I_
IRO-B[
I
B0REGUNIT
LDR1
RS-B
D7
INPUTDEVICE
_B7LDAR
nILOAD
I
IPC-B
I—Jbo
LDPC口
ADDRESSUNIT
LDPCM17
LDAR
LOAD
PC-B
M16
MICRO-CONTROLLER
|
|
|
D0
SW-B
A7
I
I
I
A0
W/R
AD7D7
||
||
||
AD0D0
W/REXTBUS
D7■
I
I
I
D01—
MAINMEM
CE
4-1实验线路图
(2)写程序
联机读/写程序
按照规定格式,
—A8
Y0I_
EXUNIT
YllI
D7
Ii—t
IysLJ
I
D0
D7LED-B|I
I
|W/R_I
D0OUTPUTDEVICE
将机器指令及表5-2微指令二进制表成十六进制的如下格式文件。
微
指令格式中的微指令代码微将表5-2中的24位微代码按从左到右分成3个8位,将此
三个8位二进制代码化为相应的十六进制数即可
程序
$P0000$P0110$P0350$P04FE$P0520$P06FD$P0740$P08A0$PA030$PA1FD$PFD2C$PFE2A$PFF2B
$M00018001$M0165ED82$M0200C048$M0300E004$M0400A005$M0501B206$M06959A01$M0700E017$M08001001$M0901ED83$M0A01ED87$M0B01ED8E$M0C01ED96$M0D01ED98$MOEOOEOOF$M0F009015$M15030201$M1600D001$M17028201$M1800E019$M1900B01A$M1A01A21B$M1B659A01
(3)运行程序
1)单步运行程序
A、将STEP置为STEP,STOP置为RUN。
B、拨动总清开关CLR(Of1