(完整word版)CPU与简单模型机设计-实验报告-(2).doc
上传人:小琛****82 上传时间:2024-09-10 格式:DOC 页数:12 大小:1.6MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

(完整word版)CPU与简单模型机设计-实验报告-(2).doc

(完整word版)CPU与简单模型机设计-实验报告-(2).doc

预览

免费试读已结束,剩余 2 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

计算机科学与技术系实验报告专业名称计算机科学与技术课程名称计算机组成与结构项目名称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自动从存储器读取指令并执行。系统涉及到的微程序流程如下图所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1>的测试结果出现多分支。本机用指令寄存器的高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****