计算机组成原理课程设计基本模型机的设计与实现第1组.docx
《计算机组成原理课程设计基本模型机的设计与实现第1组.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计基本模型机的设计与实现第1组.docx(37页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计基本模型机的设计与实现第1组
计算机组成原理课程设计(基本模型机的设计与实现(第1组))
沈阳工程学院
课程设计任务书
课程设计题目:
基本模型机的设计与实现(第1组)
系别信息工程系班级计本061
学生姓名刘根虎、都子卿、吴长鑫学号9、11、23
指导教师王健、李贞职称讲师、教授
课程设计进行地点:
计算机组成原理实验室
任务下达时间:
2008年12月5日
起止日期:
2008年12月8日起——至2008年12月14日止
教研室主任李贞2008年12月3日批准
一、课程设计的原始资料及依据
查阅有关计算机组成原理的教材、实验指导书等资料,进一步熟悉微程序控制器原理,微指令的设计方法。
在掌握运算器、存储器、微程序控制器等部件的单元电路实验的基础上,进一步将各部件组成系统,构造一台基本模型计算机。
为给定的机器指令编写相应的微程序,上机调试,掌握整机概念。
二、课程设计主要内容及要求
1.认真阅读资料,掌握给定的机器指令的操作功能。
2.分析并理解数据通路图。
3.根据数据通路图画出给定的机器指令的微程序流程图。
4.根据微指令格式编写每条机器指令对应的微程序,形成“二进制微指令代码表”。
5.全部微程序设计完毕后,将微程序中各个微指令正确地写入E2PROM芯片2816中。
6.进行机器指令程序的装入和检查。
7.运行程序,检查结果是否和理论值一致。
8.IN、ADD、JMP指令为必做指令,另外新定义1条机器指令重复上述过程。
各组要求新定义的机器指令如下:
设计组编号
机器指令助记符
操作功能说明
设计组编号
机器指令助记符
操作功能说明
1
AND[addr]
R0AND[addr]->R0
6
NOT[addr]
2
OR[addr]
R0OR[addr]->R0
7
DEC[addr]
[addr]-1->R0
3
XOR[addr]
R0XOR[addr]->R0
8
LOD[addr]
[addr]->R0
4
SUB[addr]
R0-[addr]->R0
9
DECR
R0-1->R0
5
ROA[addr]
9.STA和OUT指令为选做指令,供有能力的学生完成。
10.记录出现故障的现象,并对故障进行分析,说明排除故障的思路及故障性质。
11.独立思考,认真设计。
遵守课程设计时间安排。
12.认真书写课程设计说明书,避免相互抄袭。
三、对课程设计说明书撰写内容、格式、字数的要求
1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:
设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。
一般不应少于3000字。
2.在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码表等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.设计总结部分主要写本人设计期间所做工作简介、得到了哪些设计成果、以及自己的设计体会,包括通过课程设计有何收获,程序有哪些不足之处,哪里遇到了困难,解决的办法,以及今后的目标。
设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。
评语包括该同学主要完成了哪些任务,课程设计期间的表现和态度如何,组长自己的评语由小组其他成员集体讨论后写出。
4.课程设计说明书手写或打印均可,具体要求如下:
●手写时要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;
●打印时采用A4纸,页边距均为20mm,章标题(如:
2设计原理及内容)和目录、摘要、参考文献、设计小组评语等部分的标题用小三号黑体,上下各空1行,居中书写;一级节标题(如:
2.1设计原理)采用黑体四号字,二级节标题(如:
2.1.1数据通路)采用黑体小四号字,左对齐书写。
●正文采用宋体小四号字,行间距18磅,每个自然段首行缩进2个字。
●图和表的要有编号和标题,如:
图2.1数据通路图;表1.1机器指令表。
图题与表题采用宋体五号字。
表格内和插图中的文字一般用宋体五号字,在保证清楚的前提下也可用更小号的字体。
●英文字体和数字采用TimeNewRoman字体,与中文混排的英文字号应与周围的汉字大小一致。
●页码用五号字,在每页底端居中放置。
5.课程设计说明书装订顺序为:
封面、任务书、成绩评定表、目录、正文、参考文献、设计小组评语。
在左侧用订书钉装订,不要使用塑料夹。
四、设计完成后应提交成果的种类、数量、质量等方面的要求
1.完成“基本模型机”中指定机器指令的操作功能,运行稳定。
2.撰写课程设计说明书。
五、时间进度安排
顺序
阶段日期
计划完成内容
备注
1
第1天
(12月8日)
阅读资料、系统分析设计
2
第2天
(12月9日)
系统分析设计、微程序编制
3
第3-4天
(12月10日-11日)
微程序输入、调试及运行
4
第5天
(12月12日)
基本模型机运行验收
按组号验收
5
第6-7天
(12月13日-14日)
撰写课程设计说明书
六、主要参考资料(文献)
[1]王健、王德君.计算机组成原理实验指导书.沈阳工程学院,2005
[2]白中英.计算机组成原理(第4版).北京:
科学出版社,2007
[3]蒋本珊.计算机组成原理.北京:
清华大学出版社,2004
[4]唐朔飞.计算机组成原理.北京:
高等教育出版社,2000
沈阳工程学院
计算机组成原理课程设计成绩评定表
系(部):
信息工程系班级:
计本061学生姓名:
刘根虎、都子卿、吴长鑫
指导教师评审意见
评价内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以8)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评价内容
具体要求
权重
评分
加权分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力
0.2
5
4
3
2
工作量
工作量饱满,难度适中。
0.5
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以4)
分
加权分合计
评阅教师签名:
年月日
答辩小组评审意见
评价内容
具体要求
权重
评分
加权分
学生汇报
汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。
0.5
5
4
3
2
答辩
思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。
0.5
5
4
3
2
答辩小组评审成绩
(加权分合计乘以8)
分
加权分合计
答辩小组教师签名:
年月日
课程设计总评成绩
分
摘要
“计算机组成原理”讲授单处理机系统的组成和工作原理,他涉及的知识面非常广,内容包括中央处理器、指令系统、存储系统、总线和输入输出系统等方面,内容抽象难于理解。
借助于“计算机组成原理”实验系统,学生通过实验环节,可以进一步融会贯通学习内容,掌握计算机各模块的工作原理,相互关系的来龙去脉。
计算机的指令系统是由一系列的机器指令组成的。
指令就是计算机执行某种操作的命令。
从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令。
微指令是微程序级的命令,属于硬件;宏指令是由若干条机器指令组成的软件指令,属于软件;机器指令是介于微指令与宏指令之间,通常称为指令,每一条机器指令可完成一个独立的算术运算或逻辑运算操作。
本系统采用TDN-CM+计算机组成原理教学实验系统搭建电路图,从而在实验箱上实现一指令系统。
该系统在基本模型机的基础上改进并实现IN,STA,OUT,加ADD,跳转JMP,AND与等6条指令的功能。
关键词:
计算机组成原理;微指令;机器指令;基本模型机
1需求分析
一台计算机所能执行的各种指令集合称为指令系统或指令集。
一台特定的计算机只能执行自己指令系统中的指令。
因此,指令系统就是计算机的机器语言。
指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。
指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。
计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。
指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。
通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。
计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系。
从便于程序设计、增加基本操作并行性、提高指令功能的角度来看,指令中应包含多种信息。
但在有些指令中,由于部分信息可能无用,这将浪费指令所占的存储空间,并增加了访存次数,也许反而会影响速度。
因此,如何合理、科学地设计指令格式,使指令既能给出足够的信息,又使其长度尽可能地与机器的字长相匹配,以节省存储空间,缩短取指时间,提高机器的性能,这是指令格式设计中的一个重要问题。
计算机是通过执行指令来处理各种数据的。
为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息:
⑴操作码。
它具体说明了操作的性质及功能。
一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。
⑵操作数的地址。
CPU通过该地址就可以取得所需的操作数。
⑶操作结果的存储地址。
把对操作数的处理所产生的结果保存在该地址中,以便再次使用。
⑷下条指令的地址。
执行程序时,大多数指令按顺序依次从主存中取出执行,只有在遇到转移指令时,程序的执行顺序才会改变。
为了压缩指令的长度,可以用一个程序计数器(ProgramCounter,PC)存放指令地址。
每执行一条指令,PC的指令地址就自动+1(设该指令只占一个主存单元),指出将要执行的下一条指令的地址。
当遇到执行转移指令时,则用转移地址修改PC的内容。
由于使用了PC,指令中就不必明显地给出下一条将要执行指令的地址。
一条指令实际上包括两种信息即操作码和地址码。
操作码(OperationCode,OP)用来表示该指令所要完成的操作(如加、减、乘、除、数据传送等),其长度取决于指令系统中的指令条数。
地址码用来描述该指令的操作对象,它或者直接给出操作数,或者指出操作数的存储器地址或寄存器地址(即寄存器名)。
2概要设计
2.1设计题目
基本模型机的设计与实现
2.2设计目的
1.掌握机器指令与微程序的对应关系。
2.掌握机器指令的执行流程。
3.掌握机器指令的微程序的编制、写入。
4.在掌握部件单元电路实验的基础上,进一步将组成系统,构成一台基本模型计算机。
5.为其定义六条机器指令,并编写相应的微程序,上机调试,掌握整机概念。
2.3实验器材
TDN-CM计算机组成原理教学实验系统一台,排线若干。
2.4设计内容
2.4.1实验原理
部件实验过程中,各部件单元的控制信号是人为模拟产生的,如运算器实验中对74LS-181芯片的控制,存储器中对存储器芯片的控制信号,以及几个实验中对输入设备的控制。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本系统使用两种外部设备,一种是二进制代码开关(DATAUNIT),它作为输入设备;另一种是发光二极管(BUSUNIT上的一组发光二极管),它作为输出设备。
例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线BUS上,驱动发光二极管显示。
本次设计采用六条机器指令;IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),AND(与运算),得指令格式表(前4位为操作码),如表2-1所示。
表2-1指令格式
助记符
机器指令码
说明
IN
00000000
“DATAUNIT”中的开关状态->R0
ADDaddr
00010000xxxxxxxx
R0+[addr]->R0
STAaddr
00100000xxxxxxxx
R0->[addr]
OUTaddr
00110000xxxxxxxx
[addr]->BUS
JMPaddr
01000000xxxxxxxx
Addr->PC
AND[addr]
01010000xxxxxxxx
R0AND[addr]->R0
其中IN为单字长(8位),其余为双字长指令,xxxxxxxx为addr对应的二进制地址码。
微控器读取一条机器指令后,将通过如下的逻辑电路,对SE1~SE5中的某一位或者几位激活,从而实现机器指令与微程序的对应。
当然,该逻辑电路还能接收外部控制输入SWA、SWB,内部状态输出FC、FZ等信号,并对这些信号给出相应的输出。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作程序。
存储器读操作(KRD):
拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE):
拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START微动开关,可对RAM连续手动写入。
启动程序:
拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB、SWA的状态来设置,得SWB、SWA定义表,如表2-2所示。
表2-2SWB、SWA定义表
SWB
SWA
控制台指令
0
0
读内存(KRD)
0
1
写内存(KWE)
1
1
启动程序(RP)
2.4.2数据通路图
实验系统的数据通路图,如图2.1所示。
图2.1数据流程图
注意:
①片选信号CE=0为有效电平,CE=1为无效电平。
②WE=1为写入,WE=0为读出。
③LOAD和LDPC同时为“1”时,可将总线上的数据装入到PC中,LDPC为“1”,同时LOAD为“0”时,将PC中的内容加1。
④M=0为算术运算,M=1为逻辑运算。
⑤CN=0表示运算开始时低位有进位,否则低位无进位。
图2.1中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。
这些部件的动作控制信号都有微控器根据微指令产生。
需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。
三个控制台操作微程序的流程图,如图2.2所示。
图2.2控制台操作微程序流程图
控制台操作为P(4)测试,它以控制台开关SWA、SWB作为测试条件,出现了3路分支,
占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控制存储器一个微地址单元随意填写。
当设计“取指”微指令的判别测试字段为P
(1)测试。
由于“取指”微指令是所有微程序都使用的公共微指令,因此P
(1)的测试结果出现多路分支。
本机器用指令寄存器的前4位(IR7―IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。
2.4.3设计流程
1.微指令格式
微指令字长共24位,其控制顺序图,如图2.3所示。
图2.3微指令格式图
其中UA5~UA0为下一条微指令微地址,A、B、C为三个译玛字段,分别由三个控制位译码出多种不同控制信号。
A字段中的LDRi为打入工作寄存器信号的译码器使能控制位。
B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
C字段中的P
(1)~P(4)是四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
AR为算术运算是否影响进位及零标志位控制位,其为2.微程序流程图
00
20
(SW)→PC
P(4)
PC→AR
PC+1
(SW)→BUS
BUS→RAM
24
PC→AR
PC+1
RAM→BUS
21
20
22
1
KWE(01)
RP(11)
KRD(00)
KT
根据机器指令的要求和数据通路图,设计各指令对应的微程序流程图,如下2.4所示。
PC→AR
PC+1
SW→R0
40
PC→AR
PC+1
41
PC→AR
PC+1
42
PC→AR
PC+1
44
RAM→BUS
BUS→AR
52
R0→BUS
BUS→RAM
53
RAM→BUS
BUS→AR
54
RAM→BUS
55
RAM→BUS
BUS→AR
46
RAM→BUS
BUS→DR2
47
R0→DR1
50
DR1+DR2→R0
51
PC→AR
PC+1
45
RAM→BUS
BUS→AR
57
R0→DR1
61
DR1.DR2→R0
62
RAM→BUS
BUS→DR2
60
43
RAM→BUS
BUS→PC
56
1
23
PC→AR
PC+1
RAM→BUS
BUS→IR
25
译码
40
23
IN
ADD
STA
OUT
JMP
AND
图2.4微程序流程图
3.微程序
根据流程图,设计各机器指令的微程序表,如表2-3所示。
表2-3各机器指令的微程
微地址
S3
S2
S1
S0
M
CN
WE
CE
LDPC
A
B
C
UA5
UA4
UA3
UA2
UA1
UA0
000000
0
0
0
0
0
0
0
1
1
101
110
100
0
1
0
0
0
0
010000
0
0
0
0
0
0
0
1
1
110
111
000
0
1
0
0
1
0
010001
0
0
0
0
0
0
0
1
1
110
111
000
0
1
0
1
0
0
010010
0
0
0
0
0
0
0
0
0
000
000
000
0
1
0
0
0
0
010011
0
0
0
0
0
0
0
1
1
110
111
000
0
1
0
1
0
1
010100
0
0
0
0
0
0
1
0
0
000
110
000
0
1
0
0
0
1
010101
0
0
0
0
0
0
0
0
0
100
000
001
1
0
0
0
0
0
100000
0
0
0
0
0
0
0
1
0
001
110
000
0
1
0
0
1
1
100001
0
0
0
0
0
0
0
1
1
110
111
000
1
0
0
1
1
0
100010
0
0
0
0
0
0
0
1
1
110
111
000
1
0
1
0
1
0
100011
0
0
0
0
0
0
0
1
1
110
111
000
1
0
1
1
0
0
100100
0
0
0
0
0
0
0
1
1
110
111
000
1
0
1
1
1
0
100101
0
0
0
0
0
0
0
1
1
110
111
000
1
0
1
1
1
1
100110
0
0
0
0
0
0
0
0
0
110
000
000
1
0
0
1
1
1
100111
0
0
0
0
0
0
0
0
0
011
000
000
1
0
1
0
0
0
101000
0
0
0
0
0
0
0
1
0
010
001
000
1
0
1
0
0
1
101001
1
0
0
1
0
0
0
1
0
001
101
000
0
1
0
0
1
1
101010
0
0
0
0
0
0
0
0
0
110
000
000
1
0
1
0
1
1
101011
0
0
0
0
0
0
0
1
0
001
000
000
0
1
0
0
1
1
101100
0
0
0
0
0
0
0
0
0
110
000
000
1
0
1
1
0
1
101101
0
0
0
0
0
0
0
0
0
000
000
000
0
1
0
0
1
1
101110
0
0
0
0
0
0
0
0
1
101
000
000
0
1
0
0
1
1
101111
0
0
0
0
0
0
0
0
0
110
000
000
1
1
0
0
0
0
110000
0
0
0
0
0
0
0
0
0
011
000
000
1
1
0
0
0
1
110001
0
0
0
0
0
0
0
1
0
010
000
000
1
1
0