《计算机组成原理课程设计基本模型机设计与实现(14页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计基本模型机设计与实现(14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-计算机组成原理课程设计基本模型机设计与实现-第 14 页课程设计(大作业)报告 课程名称:计算机组成原理 设计题目: 基本模型机设计与实现 院 系:信息技术学院 班 级:计算机科学与技术3班 设 计 者: 学 号: 指导教师: 设计时间: 2017.6.192017.6.23 昆明学院信息技术学院课程设计(大作业)任务书姓 名: 院(系):信息技术学院专 业:计算机科学与技术 学 号:任务起止日期:课程设计题目:基本模型机设计与设计课程设计要求:本课程设计以ZYE1603B计算机组成原理及系统结构教学实验系统为平台,设计完成。1.按给定的数据格式和指令系统,设计一个微程序控制器。2.设计给定
2、机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。3.连接逻辑电路完成启动、测试、编程、测试、效验和运行,并观测运行过程及结果。4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。5.用微程序控制器控制模型机的数据通路。6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程序,装载代码到ZYE1603B实验系统并运行,实现应用要求。工作计划及安排
3、:2017年6月19日上午:集中进行课程设计题目的讲解和分解,提出学生需要掌握的硬件和软件方面的知识和要求;以及在课程设计期间的安全和纪律要求,熟悉开发环境(ZYE1603B)(4401机房)。 2017年6月19日下午:查阅资料、确定题目,了解各人(小组)设计安排,就设计过程进行集中讲解,解决设计过程存在的问题。 2017年6月20日6月22日:在机房进行系统的设计。2017年6月23日上午:分组讨论,进行交流,了解学生的掌握情况,对本周的学习情况进行总结,对后续的设计提出要求;对存在的问题进行分析和解决。(机房)。 2017年6月23日下午:答辩,成绩评定。指导教师签字 2017年 6月1
4、9 日 课程设计(大作业)成绩学号: 姓名: 指导教师: 课程设计题目:基本模型机设计与实现总结:指导教师评语:成绩:填表时间:指导教师签名:目录一、课程设计的教学目的5二、课程设计任务和基本要求6三、设计任务及分析6四、设计原理7五、操作步骤121本实验设计机器指令程序如下表所示。12根据下图连接线路143联机写程序144. 联机运行15六、实验结果16七、实验总结17八、参考书籍17课程设计(大作业)报告一、课程设计的教学目的1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,
5、形成整机概念。课程设计内容 设计一台基本模型机,并实现相关的指令。二、课程设计任务和基本要求本课程设计以TDN-CM+计算机组成原理教学实验系统为平台设计完成。1. 按给定的数据格式和指令系统,设计一个微程序控制器。2. 设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。3. 连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运行过程及结果。4. 将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。5. 用微程序控制器控制模型机的数据通路。6. 通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算
6、机的控制机制。7. 按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在PC机上编辑机器指令和微程序,装载代码到TDN-CM+实验系统并运行,实现应用要求。三、设计任务及分析(1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的内存单元,将X与R0.寄存器中的内容Y执行X ,结果送到以B为直接地址的内存单元保存。(2)分析:A:给R0寄存器直接置入01H.B:从数据开关给间接地址为0CH的内存单元置数,(03H).C:给R0中的内容取反,结果存在R0中.D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1
7、中, R0中的内容放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R0中. E:将R0中的内容存在直接地址为0DH的内存单元中.四、设计原理模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前位为操作码):助记符机器指令码说明IN0000 0000“INPUT DEVI
8、CE”中的开关状态ROADDaddr00010000进制加法,R0+addr R0STAaddr00100000存数,RO addrOUTaddr00110000输出,addrBUSJMPaddr 01000000无条件转移,addrPC其中IN 为单字长(位)指令,其余为双字长指令,为addr 对应的二进制地址码。根据模型机的数据通路图(如图所示)和指令的要求定义微代码如下:微程序24212019181716151312109761控制信号S3S0MCNRDM17M16ABPuA5uA0表1 微代码定义A字段B字段P字段151413控制信号121110控制信号987控制信号000000000
9、001LDRI001RS_G001P1010LDDR1010RD_G010P2011LDDR2011RI_G011P3100LDIR100299_G100P4101LOAD101ALU_G101AR110LDAR110PC_G110LDPC表2 A、B、P字段表中A5A0 为6 位后续微地址,A、B、C 为三个译码字段,分别由三个控制位译码出多位。P 字段中的P(1)P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。B 字段中的RS-B、RD-B、RI-B 分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器
10、选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1 及R2 的选通译码。A 字段中的LDRI 为从输入设备组件中读入数据使能控制信号。指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成。为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令寄存器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码结果强置微控器单元的微地址,使下一条微指令指向相应得微程序首地址。本系统使用两种外部设备,一种是二进制代码开
11、关,它作为输入设备(INPUT DEVICE);另一种是数码管,它作为输出设备(OUPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出的数据送到数据总线BUS上,当写信号(W/R)有效时,将数据打入输出锁存器,在数码管显示。图基本模型机数据通路图(1) 运算器。运算器又由运算逻辑单元、数据暂存器、通用寄存器组成。在图1模型机的结构图中,ALU、ALU_G和74299组成运算逻辑单元,其中ALU是由2个4位的74LS181串联成8位的运算器,ALU_G是ALU-G实现用于控制ALU的运算结果的输出,74299用74LS
12、299实现用于对ALU的运算结果进行移位运算;数据暂存器在图1中由DR1和DR2组成,DR1和DR2都是用74LS273实现,它们用于存储运算器进行运算的两个操作数;通用寄存器在图1中由R0、R1和R2组成,R0、R1和R2都是用74LS374实现,它们用作目的寄存器和源寄存器。(2) 控制器。控制器由微程序控制器、指令寄存器、地址寄存器和程序计数器组成。在图1中微程序控制器表示为MControl,它里面存放了指令系统对应的全部微程序,微程序控制器是由微控制存储器和3个138译码器实现(A138、B138和P138),用于产生控制信号来控制各个组件的工作状态;在图1中指令寄存器表示为IR,指令
13、寄存器由一个74LS273实现,用于存放当前正在执行的指令;在图1中地址寄存器表示为AR,地址寄存器由一个74LS273实现,在读取或者写入存储器时用于指明要读取或写入的地址;程序计数器在图1中由PC_G和PC组成,其中PC是由八位二进制同步计数器实现,用于产生程序指针pc的下一个值,PC_G由PC-G实现,用于存储程序的程序指针pc的值。(3) 存储器。存储器在图1中表示为MEN,存储器用静态随机存储器6116实现,用来存储用户程序和数据。(4) 数据总线。数据总线用于连接运算器、存储器、输入输出等模块,数据总线由ccp_DataBus实现。(5) 输入输出。输入输出类似于键盘和显示器。(6
14、) 时序产生器。在图1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图2所示,时序产生器一个周期中产生四个脉冲信号T1T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。系统涉及到的微程序流程如图1所示,当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。本次课程设计用指令寄存器的前4位(I7-I4)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,
15、出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。当全部微程序设计完毕之后,应将每条微指令代码化:当全部微程序设计完毕后,应将每条微指令代码化,表3即为将图2的微程序流程图按微指令格式转化而成的二进制微代码表。微地址S3 S2 S1 S0 M CN WE M17 M16ABPA 5A0000 0 0 0 0 0 0 1 10 0 00 0 01 0 00 1 0 0 0 0010 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0020 0 0 0 0 0 0 0 11 0 00 0 0
16、0 0 10 0 1 0 0 0030 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0040 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 1050 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 0061 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1070 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 1100 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0 1110 0 0 0 0 0
17、0 1 11 1 01 1 01 1 00 0 0 0 1 1120 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1130 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 0140 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 1 0150 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1160 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 1 1170 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 0
18、1200 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 0210 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 0220 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 1 1230 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1240 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 0250 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1260 0 0 0 0 0 0 0 11 0 10 0 0
19、1 1 00 0 0 0 0 1270 0 0 0 0 1 1 1 00 0 01 0 10 0 00 1 0 0 0 0300 0 0 0 0 1 1 0 10 0 01 0 10 0 00 1 0 0 0 0表3 二进制代码表 00 WRITE(01) READ(00) RUN(11) 21 20 23 24 22 01 30 27PC-ARPC+1RAM-BUSBUS-IRP1SW-R0PC-ARPC+1PC-AR PC+1PC-ARPC+1PC-ARPC+1RAM-BUSBUS-DR2R0-DR1DR1+DR2-R0DR1-LEDRAM-BUSBUS-ARRAM-BUSBUS-ARR0
20、-BUSBUS-RAMRAM-BUSBUS-DR1DR1-LEDRAM-BUSBUS-PC 运行: 01 02 10 IN ADD STA OUT JMP 10 11 12 13 14 01 03 07 16 26 04 15 17 0105 01 25 06 01 01图2 微程序流程图五、操作步骤1本实验设计机器指令程序如下表所示。地址(二进制)内容(二进制)助记符说 明0000 00000000 0000IN将输入数据送R0寄存器0000 00010010 0000STA 0HR00H0000 00100000 1000地址0000 00110011 0000OUT 0H0H BUS00
21、00 01000000 1000地址0000 01010100 0000JMP 00H00HPC0000 01100000 0000跳转地址实验一:实验中机器指令解释表地址(二进制)内容(二进制)助记符说 明0000 00000000 0000IN将输入数据送R0寄存器0000 00010001 0000ADD 0AHRO+0AHR00000 00100000 1010地址0000 00110010 0000STA 0BHR00BH0000 01000000 1010地址0000 01010011 0000OUT 0BH0BHLED0000 01100000 1011地址0000 011101
22、00 0000JMP 00H00HPC0000 10000000 0000跳转地址0000 10100000 0001加数,可自定0000 1011求和结果保存在0B单元中实验二:实验中机器指令解释表根据下图连接线路基本模型机实验接线图3联机写程序按照规定格式,将机器指令及表3微指令二进制表编辑成十六进制的规定格式文件。微指令格式中的微指令代码为将表3中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。使用联机软件的文件装载将实验程序和微程序下载到实验箱中,并用软件的读出功能进行检查。其中参考程序一”。实验一的机器指令: $P0000 $P0120 $P02
23、08$P0330 $P0408 $P0540$P0600实验二的机器指令:$P0000 $P0110 $P020A$P0320 $P040B $P0530$P060B $P0740 $P0800$P0A01微程序(以上两程序公用):$M00018110 $M0101ED82 $M0200C048$M0300E004 $M0400B005 $M0501A206$M06959A01 $M0700E00D $M08001001$M0901ED83 $M0A01ED87 $M0B01ED8E$M0C01ED96 $M0D028201 $M0E00E00F$M0F00A015 $M1001ED92 $M
24、1101ED94$M1200A017 $M13018001 $M14002018$M15070A01 $M1600D181 $M17070A10$M18068A114. 联机运行首先使各个开关的状态为:SIGNAL UNIT中的SP03开关设置为“STEP”状态,SP04开关设置为“RUN”状态;CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN” 状态;开关单元的开关SWB、SWA为“11”。使开关单元的总清开关CLR(101)清零后,程序首址为00H。通过联机软件进入调试界面,联机运行程序时,进入软件界面,转储装载,再弹出窗口选择要装载的文件(*.txt格式
25、),在装载完机器指令及微指令后,选择(运行)(通路图)(复杂模型机)功能菜单打开相应的动态数据通路图,按相应功能键即可联机运行、监控、调试程序。本试验采用微指令单步运行。可以通过调试程序的操作界面控制程序的运行,同时观察运行过程和结果。六、实验结果实验一:实验二: 七、实验总结通过本次实验,我对基本模型机设计与实现有了进一步的了解,理解它的功能特性和使用方法,对整个模型计算机的程序运行有了更全面的了解。让我能够在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机;能够用微程序控制器来控制模型机的数据通道;并且通过CPU运行五条机器指令组成
26、的简单程序,掌握了机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。而对运算如何运算,如何无条件跳转都知道,特别是在屏幕动态流线显示流程的帮助下,更容易理解程序的整个流程。这次实验是个综合性的实验,难度比较大,因为本实验的接线比较多,某一或两条线坏了,导致无法进行实验。几经波折,接线才算成功。但是接着那仪器总是一开始没有输入数据的时候就是09而不是00,我们弄了好多次都不成功,花了好多时间,好不容易才把实验做正确。这次试验很需要耐心,但是理解了整个流程以及接线正确之后其实也不算太难的,只要认真细心就可以做好的。这次实验加强了我的理解能力和实验能力,也更加巩固、完善和深化了我的知识体系。 八、参考书籍计算机组成原理 科学出版社 白中英著计算机组成原理与应用 工业出版社 王子齐著