CPU与简单模型机设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称计算机组成与结构
项目名称 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为为操作码):
其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。
系统涉及到的微程序流程如下图所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1>的测试结果出现多分支。本机用指令寄存器的高6位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定为地址单元,剩下的其他地方就可以一条微指令占用控制一个微地址单元随意填写,微程序流程图上的但愿地址为16进制。
当全部为程序设计完毕后,应将每条微指令代码化,下表即为将下图的微程序流程图按微指令格式转化而成的“二进制微代码表”。
简单模型机微程序流程图
二进制微代码表
三、数据通路图及分析(画出数据通路图并作出分析)
数据通路图
四、实验数据和结果分析
4.1 实验结果数据和结果数据分析如图所示
联机写入的程序如下:
; //*************************************//
; // //
; // 微控器实验指令文件 //
; // //
; // By TangDu CO.,LTD //
; // //
; //*************************************//
; //** End Of Main Memory Data **//
$P 00 20 ;START:IN RO 从IN单元读入数据送RO
$P 01 00 ;ADD RO,RO RO和自身相加,结果送RO
$P 02 30 ;OUT RO RO的值送OUT单元显示
$P 03 E0 ;JMP START 跳转至00H地址
$P 04 00
$P 05 50 ;HLT 停机
; //***** End Of Main Memory Data *****//
; //***** Start Of MicroController Data *****//
$M 00 000001 ; NOP
$M 01 007070 ; CON(INS)->IR, P<1>
$M 04 002405 ; R0->B
$M 05 04B201 ; A加B->R0
$M 30 001404 ; R0->A
$M 32 183001 ; IN->R0
$M 33 280401 ; R0->OUT
$M 35 000035 ; NOP
; //** End Of MicroController Data **//
联机写入和校验后,得如下结果:
(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与简单模型机设计实验,刚开始可能是真的不懂该实验要干什么,对一些知识点很陌生,完全不知道怎么下手,后来通过老师和同学的帮助,慢慢知道了实验的目的。难怪别人都说计算机组成原理不懂的通过做实验也就明白了。当然,在学习实验之前,预习是一定要的,这样更能掌握实验的主要部分,以及操作流程,也能让自己很快的上手,达到老师布置给我们的任务。还有一次实验就要结束了,希望自己能够做到更好。
得分(百分制)
实验报告分析评价