1、计算机组成原理课程设计基本模型机课程设计说明书题目: 1、 基本模型机设计与实现 2、 扩展8255并行口设计 院 系: 专业班级: 学 号: 学生姓名: 指导教师: 2010 年 月 日课程设计(论文)任务书计算机科学与工程学院 硬件教研室学 号 *学生姓名*专业(班级)计算机07级3班设计题目基本模型机(算术运算,包括IN,OUT,STA,加ADD,减SUB,循环左移RLC六条指令)设计技术参数微指令,程序,微程序控制器设计要求设计机器指令和微指令,将机器指令和微指令编写成规定格式的十六进制文件,然后下载到实验箱上模拟验证。工作量1、画出流程图,编写微指令代码和程序2、课程设计说明书100
2、0字工作计划第13周 学习微程序控制器第14周 画出流程图,设计微指令,将机器指令和微指令编写成规定格式的十六进制文件第15周 连线,在实验箱上运行参考资料计算机组成原理 第三版(网络版) 白中英主编计算机组成原理实验指导书指导教师签字教研室主任签字 2009年 9月 28 日 课程设计(论文)成绩评定表指导教师评语:成绩: 指导教师: 年 月 日摘要随着社会科技的发展,计算机被应用到各行各业,人们步入自动化、智能化的生活阶段。本次课程设计课题是基本模型机的设计与实现,它正体现了这一点。利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应
3、用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。部件实验过程中,各部件单元的控制信号是人为模拟产生的,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微指令和控制信号程序。首先向存储器(RAM)中装入数据和程序,然后检查写入是否正确,启动程序执行。另外,还需设计三个控制台操作微程序:存储器读操作(READ),存储器写操作(WRITE),运行程序(RUN)。以上各微指令设计完毕后,连接线路在ZY15CompSys
4、12BB计算机组成原理教学实验箱运行程序,并将实验结果显示输出。这一课题的实现不仅使我们对各种微指令有了熟练的掌握,更对以后的学习、工作中有深远的影响。关键词:微指令,机器指令,READ,WRITE, RUN,ZY15CompSys12BB目录摘要 III1 设计背景 12 设计目标 13 概要设计 231设计目的 232设计仪器 233设计内容 24 详细设计 841系统需求分析 842系统目标 843功能分析 844详细步骤 85 总结 12参考文献(资料) 131 设计背景通过计算机组成原理理论课和几次实验的学习,尝试设计六条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模
5、型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。在设计基本模型机4的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。本课程设计要求实现六条机器指令:IN(输入),与AND(逻辑乘),STA(存数),OUT(输出),或OR(逻辑加),异或XOR(逻辑异)的输入,输出。重点主要在逻辑运算的设计中。2 设计目标在“
6、微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。本次课程设计主要是为其定义六条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。用微程序控制器实现以下指令功能,设计各指令格式以及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写加ADD,减SUB,循环左移RLC的应用程序。全部微指令设计完毕后,编写二进制代码,即使每条指令代码化。连接线路在ZY15CompSys12BB计算机组成原理教学实验箱上运行,并显示输出实验结果。3 概要设计31设计目的1. 在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台稍微复杂的模型计算机
7、;2. 为其定义六条机器指令,并编写相应的微程序,具体上机调试掌握整机概念32设计仪器 TDXCM+计算机组成原理教学实验系统一台,排线若干; PC机一台。33设计内容部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用六条机器指令:IN,OUT,STA,加ADD,减SUB,循环左移RLC其指格式如下:地址内容助记符说明0000IN ;输入
8、开关数据R0,采集数据0110ADD0AH ;R0+0AHR0020A ;地址0320STA0BH ;R00BH040B ;地址0530OUT0BH ;0BHBUS,输出显示060B ;地址0740SUB0AH ;R0-0AHR0080A ;地址0950RLC0A010B为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.存储器读操作:拨动总清开关CLR后,控制台开关SWB,SWA 为”0 0”时,按START微动开关,可对RAM连续手动读操作.存储器写操作:拨动总清开关CLR后,控制台开关SWB SWA置为”0 1”时,按START微动开关可对R
9、AM进行连续手动写入.启动程序:拨动总清开关CLR后,控制台开关SWB SWA置为“1 1”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行.上述三条控制台指令用两个开关SWB SWA 的状态来设置,其定义如下表3-1读写变化SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)根据以上要素设计数据通路框图,如图3-2:图3-1 数据通路框图微代码定义如表1-2所示:表3-2 微代码的定义微程序2423222120-19181716151413控制信号S3S2S1S0MCNRDM17M16A121110987654321BPuA5uA4uA3
10、uA2uA1uA0表3-3 A,B,P字段内容A字段 B字段 P字段151413控制信号121110控制信号987控制信号000.000000001LDRI001RS_G001P1010LDDR1010010011LDDR2011011100LDIR100100P4101LOAD101ALU_G101110LDAR110PC_G110LDPC当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。本次课程设计用指令寄存器的前4位(I7-I4)作为测试条件,出现6路分支,占用6个固定微地址单元。控制台操作为P4测
11、试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。当全部微程序设计完毕之后,应将每条微指令代码化: 运行: 01 02 10 IN ADD STA OUT SUB RLC 10 11 12 13 14 1501 03 07 16 31 35 04 26 17 32 36 05 01 25 33 37 06 34 25 01 37 01 01 25 01 控制台 00 20 WRITE(01) READ(00) RUN(11) 21 20 23 24 22 01 30 27
12、图3-1 微程序流程图表3-4 二进制微代码表微地址S3CNRDM17 M16ABPuA5uA0000 0 0 0 0 001 10 0 00 0 01 0 00 1 0 0 0 0010 0 0 0 0 001 11 1 01 1 01 1 00 0 0 0 1 0020 0 0 0 0 000 11 0 00 0 00 0 10 0 1 0 0 0030 0 0 0 0 000 11 1 00 0 00 0 00 0 0 1 0 0040 0 0 0 0 000 10 1 10 0 00 0 00 0 0 1 0 1050 0 0 0 0 001 10 1 00 0 10 0 00 0 0
13、 1 1 0061 0 0 1 0 101 10 0 11 0 10 0 00 0 0 0 0 1070 0 0 0 0 000 11 1 00 0 00 0 00 1 0 1 1 0100 0 0 0 0 000 00 0 10 0 00 0 00 0 0 0 0 1110 0 0 0 0 001 11 1 01 1 01 1 00 0 0 0 1 1120 0 0 0 0 001 11 1 01 1 01 1 00 0 0 1 1 1130 0 0 0 0 001 11 1 01 1 01 1 00 0 1 1 1 0140 0 0 0 0 001 11 1 01 1 01 1 00 1
14、1 0 0 1150 0 1 1 0 001 10 0 00 0 10 0 00 1 1 1 0 1160 0 0 0 0 000 11 1 00 0 00 0 00 0 1 1 1 1170 0 0 0 0 000 10 1 00 0 00 0 00 1 0 1 0 1200 0 0 0 0 001 1 1 1 01 1 01 1 00 1 0 0 1 0210 0 0 0 0 001 11 101 1 01 1 00 1 0 1 0 0220 0 0 0 0 000 10 1 00 0 00 0 00 1 0 1 1 1230 0 0 0 0 001 10 0 00 0 00 0 00 0
15、 0 0 0 1240 0 0 0 0 000 00 1 00 0 00 0 00 1 1 0 0 0250 0 0 0 0 111 00 0 01 0 10 0 00 0 0 0 0 1260 0 0 0 0 010 10 0 00 0 10 0 00 0 0 0 0 1270 0 0 0 0 111 00 0 01 0 10 0 00 1 0 0 0 0300 0 0 0 0 110 10 0 01 0 10 0 00 1 0 0 0 1310 0 0 0 0 000 11 1 00 0 00 0 00 0 0 1 0 0320 0 0 0 0 000 10 1 10 0 00 0 00
16、0 0 1 0 1330 0 0 0 0 001 10 1 00 0 10 0 00 0 0 1 1 0340 1 1 0 0 001 10 0 11 0 10 0 00 1 1 1 1 1350 0 0 1 1 001 10 0 01 0 00 0 00 1 1 1 1 0360 0 0 0 0 001 10 0 11 0 00 0 00 1 1 1 1 1370 0 0 0 0 001 10 1 00 0 10 0 00 1 0 1 0 1下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把他从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为
17、操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P (1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器:”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码块,它作为输出设备(OUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号(W/E)有效时,将数据打入输出锁存
18、器,驱动数码块显示。4 详细设计41系统需求分析一台计算机所能执行的各种指令集合称为指令系统或指令集。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。 计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而
19、指令功能的实现需要复杂的硬件结构来支持。 42系统目标在基本模型机的基础上改进并实现IN,OUT,STA,加ADD,减SUB,循环左移RLC六条指令。43功能分析该系统实现的功能是对输入的数据可以和内存中的数据进行连续的加、减及循环左移运算,并对其结果进行存储,显示等功能,从而得到一个简易的复杂模型机所实现的功能。44详细步骤(1)按图4-1连接实验线路。4-1实验线路图(2)写程序联机读/写程序按照规定格式,将机器指令及表52微指令二进制表成十六进制的如下格式文件。微指令格式中的微指令代码微 将表52中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。程
20、序$P0000$P0110$P020A$P0320$P040B$P0530$P060B$P0740$P080A$P0950$P0A01微程序$M00018110$M0101ED82$M0200C048$M0300E004$M0400B005$M0501A206$M06959A01$M0700E016$M08001001$M0901ED83$M0A01ED87$M0B01ED8E$M0C01ED99$M0D31821D$M0E00E00F$M0F00A015$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M15070A01$M16028201
21、$M17070A10$M18068A11$M1900E01A$M1A00B01B$M1B01A21C$M1C619A1F$M1D19881E$M1E01981F$M1F01A215 (3)运行程序.单步运行程序A 使编程开关处于”RUN的状态,STEP为”STEP” 状态,STOP为”RUN”状态B 拨动总清处于CLR (0_1),微地址清零,程序计数器清零,程序首址为00H.C 单步运行一条微指令,每按动一次START键,即单步运行一条指令,对照微程序流程图,观察微地址显示是否和流程一致.D 当运行结束后.可检查存数单元中的结果是否和理论植一致. 连续运行程序A 使”START UNIT”
22、中的STEP开关置为”ECEX”状态.STOP开关置为”RUN”状态. B 拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将”STOP”拨至”STOP”时,系统停机.C 停机后,可检查存数单元结果是否正确. 若联机运行程序时,进入DEBUG调试界面,总清开关CLR 清零后,程序首址为00H. 按相应功能键既可联机运行调试程序。5 总结经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。本次课程设计我们要
23、设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。课程设计结束了,从中我们也学到了不少知识。虽然计算机组成原理的课程设计与学
24、习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要,这样才能真正成为一名合格的大学生。在此次的设计中,感谢老师对我们的帮助和指导。过程还不够完善,希望老师继续指导。参考文献(资料)1 张昆藏计算机系统结构北京:科学出版社,19942 (美)普拉持(Platt,DS)著黄慧萍等译MicrosoftNET精髓北京:机械工业出版社,2003.93 白中英计算机组成原理(第二版)北京:科学出版社,19984 白中英计算机组成原理(第三版网络版) 北京:科学出版社,1998 5 ,中国研究生招生信息网6计算机组成原理实验指导书. 王诚,宋佳兴,董长洪编著. 清华大学出版社,2002.7计算机组成原理学习指导与训练 . 旷海兰等编著. 中国水利水电出版社, 2004.8计算机原理与设计. 宋焕章 张春元 王保恒. 长沙:国防科技大学出版社, 2000.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1