计算机科学与技术系实验报告专业名称计算机科学与技术课程名称计算机组成与结构项目名称CPU与简单模型机设计实验班级学号姓名同组人员无实验日期2015-11-15一、实验目的1.掌握一个简单CPU的组成原理;2.在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机;3.为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。二、实验逻辑原理图与分析2.1实验逻辑原理图及分析本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(RO)、指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图下图所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和贮存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。基本CPU构成原理图系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD芯片中。CLR连接至CON单元的纵情断CLR,按下CLR按钮,将是PC清零,LDPC和T3相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线的数据打入PC。程序计数器(PC)原理图2.2逻辑原理图分析本模型机;和前面微程序控制器实验相比,新增加一条跳转指令JMP,供有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移)、HLT(停机)、其指令格式瑞霞(高4为为操作码):助记符机器指令码说明IN00100000IN-ROADD00000000RO+RO-ROOUT00110000RO-OUTJMPaddr11100000********addr-PCHLT01010000停机其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。系统涉及到的微程序流程如下图所示,当拟定“取指”微指令时,该微指令的判别测试字段为P1测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P1的测试结果出现多分支。本机用指令寄存器的高6位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定为地址单元,剩下的其他地方就可以一条微指令占用控制一个微地址单元随意填写,微程序流程图上的但愿地址为16进制。当全部为程序设计完毕后,应将每条微指令代码化,下表即为将下图的微程序流程图按微指令格式转化而成的“二进制微代码表”。简单模型机微程序流程图二进制微代码表地址十六进制高五位S3—S0A字段B字段C字段MA5-MA00000000100000000000000000000000101006D4300000000011011010100001103107070000100000111000001110000040024050000000000100100000001010504B2010000010010110010000000011D105141000100000101000101000001300014040000000000010100000001003218300100000000001100000000000133280401000000000000010000000001350000350000000000000000001101013C006D5D000000000110110101011101三、数据通路图及分析(画出数据通路图并作出分析)数据通路图四、实验数据和结果分析4.1实验结果数据和结果数据分析如图所示联机写入的程序如下:;//*************************************//;////;//微控器实验指令文件//;////;//ByTangDuCO.,LTD//;////;//*************************************//;//**EndOfMainMemoryData**//$P0020;START:INRO从IN单元读入数据送RO$P0100;ADDRO,RORO和自身相加,结果送RO$P0230;OUTRORO的值送OUT单元显示$P03E0;JMPSTART跳转至00H地址$P0400$P0550;HLT停机;//*****EndOfMainMemoryData*****//;//*****StartOfMicroControllerData*****//$M00000001;NOP$M01007070;CON(INS)-IR,P1$M04002405;R0-B$M0504B201;A加B-R0$M30001404;R0-A$M32183001;IN-R0$M33280401;R0-OUT$M35000035;NOP;//**EndOfMicroControllerData**//联机写入和校验后,得如下结果:(1)从IN单元读入数据送至AR。首先,AR地址为00,计数器PC加1,机器指令代码送至MEM单元,MEM=20。(2)MEM中的机器指令代码送至IR单元,再到控制器,进行译码操作。(3)RO寄存器读入IN单元输入的数据(4)AR地址为01,计数器PC加1,机器指令代码送至MEM单元,MEM=00。(5)MEM中的机器指令代码送至IR单元,再到控制器,进行译码操作。(6)将读入的数据送到A暂存器,再送到B暂存器。最后将RO和自身相加,结果送到RO。(7)进行计数译码操作,将RO的值送至OUT单元,输出。(8)再进行计数译码,跳转到00,返回第一条机器指令4.2结果数据分析从IN单元输入的数据是02,最后输出的数据是04,结果是正确的。五、实验问题分析、思考题与小结5.1实验问题分析实验要完整无错误的进行,首先要确保实验接线图连线的正确性才能确保在进行实验时数据通路流向以及数据的的正确性,这样才能到达实验的目的;在进行实验过程中需要理解每一步骤的原因,也加强自己的理解性和掌握程度;实验前要理解实验原理,以便于提高实验效果速率。5.2小结本次实验是CPU与简单模型机设计实验,刚开始可能是真的不懂该实验要干什么,对一些知识点很陌生,完全不知道怎么下手,后来通过老师和同学的帮助,慢慢知道了实验的目的。难怪别人都说计算机组成原理不懂的通过做实验也就明白了。当然,在学习实验之前,预习是一定要的,这样更能掌握实验的主要部分,以及操作流程,也能让自己很快的上手,达到老师布置给我们的任务。还有一次实验就要结束了,希望自己能够做到更好。得分(百分制)实验报告分析评价课程名称计算机组成与结构班级实验名称CPU与简单模型机设计实验时间2015-11-15实验报告情况分析:实验报告分为五大部分:实验目的;实验逻辑原理图与分析;数据通路图及分析;实验数据和结果分析;实验问题分析、思考题与小结。其主要核心部分在第四节:实验数据和结果分析,包含了实验的操作流程及数据的结果分析。当然,其他部分也介绍了实验目的,原理及实验步骤,并且加了一些原理图使其更好地理解。在实验报告最后还添加了实验问题分析和小结部分,介绍了在实验过程中自己遇到的问题及注意事项。经验总结及进一步改进措施:本次实验是CPU与简单模型机设计实验,刚开始可能是真的不懂该实验要干什么,对一些知识点很陌生,完全不知道怎么下手,后来通过老师和同学的帮助,慢慢知道了实验的目的。难怪别人都说计算机组成原理不懂的通过做实验也就明白了。当然,在学习实验之前,预习是一定要的,这样更能掌握实验的主要部分,以及操作流程,也能让自己很快的上手,达到老师布置给我们的任务。还有一次实验就要结束了,希望自己能够做到更好。