基本模拟机设计.docx
《基本模拟机设计.docx》由会员分享,可在线阅读,更多相关《基本模拟机设计.docx(12页珍藏版)》请在冰豆网上搜索。
基本模拟机设计
计算机组成原理
课程设计报告
班级:
13级计算机科学与技术专业(朝)
学号:
姓名:
题目:
成绩:
课程设计任务书
一、设计的目的和意义
综合运用所学计算机组成原理知识,人为模拟各部件单元中的控制信号实现常用部件电路及之间的信息通路的设计,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计能够巩固所学的知识,使自己的设计水平和对所学知识的应用能力,以及分析问题、解决问题的能力得到全面提高。
二、设计班级
13级计算机科学与技术专业(朝)
三、设计安排
1.设计时间为一周(第十七周)。
2.周一上午动员,分配设计任务。
3.周五提交设计报告,并以答辩的方式考核。
4.按照统一安排积极与指导教师保持联系,取得老师的指导和帮助。
5.课程设计实验室:
实验楼313室
四、成绩评定
1.平时成绩10%,电路原理图占30%,设计报告占30%,设计答辩占30%。
2.设计过程要保证具有独立知识产权,不能抄袭他人的设计成果,一经发现雷同情况按不及格处理;如不参加设计、参加无设计报告按不及格处理。
五、设计要求
1.设计报告应包含题目、系统概述(设计的目的和意义)、系统设计的具体说明(含操作过程)、结论、认识体会等几部分,要对设计重点进行论述与说明。
2.文中符号、图、表要符合国家统一标准。
3.要画出必要的电路原理图。
4.编写程序及课程设计报告(不少于1500字)。
六、设计题目及要求
6.18位算术逻辑运算器设计
参考:
实验教程中 算术逻辑运算实验
(1)系统使用的芯片:
74LS181、74LS273、74LS245、LED及各种开关;
(2)能实现8位二进制数的算术运算和逻辑运算;
(3)能显示参加运算的数据、显示运算结果;
6.28位带进位控制的运算器设计
参考:
实验教程中 进位控制实验
(1)系统使用的芯片:
74LS181、74LS273、74LS245、74LS74、LED及各种开关;
(2)能实现8位二进制数的加法运算,并产生进位;
(3)能显示参加运算的数据、显示运算结果及进位情况;
6.3微程序控制器设计
参考:
实验教程中 微程序控制器实验
(1)实现5条机器指令功能:
IN、ADD、STA、OUT、JMP;
(2)设计出上述指令的微程序流程图及二进制代码表;
(3)编制微程序、写入CM中并运行微程序,观查结果;
6.4硬布线控制器设计
参考:
实验教程中 硬布线控制器实验
(1)实现X+Y功能,即由输入部分输入两个数据,输出显示结果。
(2)写出硬布线控制器的设计步骤;
(3)输入3组数据,观查结果,掌握硬布线控制器的组成原理;
6.5基本模型机设计与实现
参考:
实验教程中 基本模型机设计实验
(1)给出模型机的设计方案(包括指令系统和硬件结构);
(2)画出所设计计算机的硬件连接图,针对所设计的指令系统编写出相应的微程序;
(3)对所设计的计算机进行测试。
6.6复杂模型机设计与实现
参考:
实验教程中 复杂模型机设计实验
(1)给出模型机的设计方案(包括指令系统和硬件结构);
(2)画出所设计计算机的硬件连接图,针对所设计的指令系统编写出相应的微程序;
(3)对所设计的计算机进行测试。
计算机组成原理课程设计报告
1设计题目
基本模型机设计与实现
2实验设备
1.TDN-CM+或TDN-CM++教学实验系统一台。
2.PC微机一台。
3实验目的
1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
4实验原理
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微程序
控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制
将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本实验采用五条机器指令IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输
出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计
三个控制台操作微程序。
存储器读操作(KRD):
拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE):
拨动总清开关CLR后,控制台开关SWB、SWA置为“01”
时,按START微动开关可对RAM进行连续手动写入。
启动程序:
拨动总清开关CLR后,控制台开关SWB、SWA置为“11”时,按START
微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:
根据以上要求设计数据通路框图,如图6.5-1。
微代码定义如表6.5-1所示。
系统涉及到的微程序流程见图6.5-2,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7—IR4)作为测试条
件,引入了P
(1)指令测试字段,如此,对于5条机器指令,就可以有5路P
(1)测试分支,对于每一指令分别予以微程序解释。
控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。
注意:
微程序流程图上的单元地址为8进制。
当全部微程序设计完毕后,应将每条微指令代码化,表6.5-2即为将图6.5-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。
下面介绍指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一
条指令时,先把它从内存取到指令寄存器中,然后再对其进行译码、执行。
指令划分为操作
码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P
(1)],通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”(实验板上标有“INS
DECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT
DEVICE);另一种是数码块,它作为输出设备(OUTPUTDEVICE)。
例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,
将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码
块显示。
本实验设计机器指令程序如下:
5实验步骤
(1)按图6.5-3连接实验线路。
(2)写程序
方法一:
手动写入
①先将机器指令对应的微代码正确地写入2816中,由于在实验三微程序控制实验中已将微代码写入E2PROM芯片中,对照表6-2校验正确后就可使用。
②使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。
A.使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(1→0→1),微地址寄存器清零,程序计数器清零。
然后使控制台SWB、SWA开关置为“01”,按动一次启动开关START,微地址显示灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1,所以,每次按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。
C.写完程序后须进行校验。
拨动总清开关CLR(1→0→1)后,微地址清零。
PC程序计数器清零,然后使控制台开关SWB、SWA为“00”,按动启动START,微地址灯将显示“010000”,再按START,微地址灯显示为“010010”,第三次按START,微地址灯显示为“010111”,再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。
方法二:
联机读/写程序
按照规定格式,将机器指令及表6.5-2微指令二进制表编辑成十六进制的如下格式文件。
微指令格式中的微指令代码为将表6.5-2中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。
用联机软件的“【转储】—【装载】”功能将该格式文件装载入实验系统即可。
(3)运行程序
方法一:
本机运行
①单步运行程序
A.使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
B.拨动总清开关CLR(1→0→1),微地址清零,程序计数器清零。
程序首址为00H。
C.单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
D.当运行结束后,可检查存数单元(0BH)中的结果是否和理论值一致。
②连续运行程序
A.“STATEUNIT”中的STEP开关置为“EXEC”状态。
STOP开关置为“RUN”状态。
B.拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
C.停机后,可检查存数单元(0BH)结果是否正确。
方法二:
联机运行
联机运行程序时,进入软件界面,装载机器指令及微指令后,选择“【运行】-【通路
图】-【复杂模型机】”功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、
监控、调试程序。
)
总清开关CLR清零(1→0→1)后,将使程序首址及微程序地址为00H,程序可从头开始运行。
6实验数据
输入数据
结果
理论值
结果是否与理论值相等
02
03
03
是
05
06
07
是
07
08
08
是
04
05
05
是
06
07
07
是
08
09
09
是
7结论(包括完成功能、不足、进一步的工作等)
这次我们一组做的题目是基本模型机,这个模型机需要包括输入INT、输出OUT、存数STA、加ADD、跳转JMP、与AND这六个运算,我们实训在实验课阶段已经安排了关于简单模型机的学习,所以我们对设计充满了好奇。
老师给我们讲授了基本的实训课时分配,我觉得原理很清晰,我们需要将相应的机器指令码设计出来,通过计算机程序将其输入到连接好的实验箱上去,关于从SN~UA0的24位二进制代码,我学习过基本模型机指令结构图,了解到微地址是以八进制来设计的,S3~CN是逻辑算术运算,WE=1时代表写,WE=0时代表读,UA5~UA0代表下址这些知识虽然很简单,但确实是我规划主程序流程图的最重要依据,关于A字段,B字段,P字段,从指导书上的对应意义可以轻松的得出。
关于机器指令程序阶段的部分,对我来说是最难的部分,按照我先设计的流程图将相应的地址的内容准确的告诉给实验箱,一切衔接起来让我觉得这个实训很有趣味,中间走了很多弯路,当我们请教银老师问题时,老师很细心的给我们讲解,很清晰,很明了,我们很庆幸有她做我们的指导老师。
其实,这个课程设计并不难,老师是想给我们找点计算机组成原理的自己的感觉,所有的都是由那些琐碎的知识结合在一起构成的。
期间,最耽误时间、考验耐心和细心的就是指令的存储和机器指令的输入。
8认识体会
通过一周的课程实习,对模型机的设计,微指令是如何设计与运行,机器码又是怎样找到它所对应的微指令,从而实现各种功能,有了更深一步的了解,在实习中提高了与组员共同协作的能力,自己动手操作的能力也得到了很好的提高。
通过这次实践,使我们懂得,只要自己在每一次实践中都能仔细思考,能亲自动手,课程设计中遇到的难点都可以顺利解决。
只有多操作才能从中发现问题,及时解决问题,从而更好的掌握实验的基本原理。
课程设计目的除工作量和设计质量之外,更重要的是认真去对待,通过设计实践对理论知识有了更深刻的认识,并从中学到书本上学不到的知识和实践经验
附录:
小组成员