CPU与简单模型机设计实验报告.docx
《CPU与简单模型机设计实验报告.docx》由会员分享,可在线阅读,更多相关《CPU与简单模型机设计实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
CPU与简单模型机设计实验报告
计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称计算机组成与结构
项目名称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为为操作码):
助记符
机器指令码
说明
IN
00100000
IN->RO
ADD
00000000
RO+RO->RO
OUT
00110000
RO->OUT
JMPaddr
11100000
********
addr->PC
HLT
01010000
停机
其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。
微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。
系统涉及到的微程序流程如下图所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1>的测试结果出现多分支。
本机用指令寄存器的高6位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定为地址单元,剩下的其他地方就可以一条微指令占用控制一个微地址单元随意填写,微程序流程图上的但愿地址为16进制。
当全部为程序设计完毕后,应将每条微指令代码化,下表即为将下图的微程序流程图按微指令格式转化而成的“二进制微代码表”。
简单模型机微程序流程图
二进制微代码表
地址
十六进制
高五位
S3—S0
A字段
B字段
C字段
MA5-MA0
00
000001
00000
0000
000
000
000
000001
01
006D43
00000
0000
110
110
101
000011
03
107070
00010
0000
111
000
001
110000
04
002405
00000
0000
010
010
000
000101
05
04B201
00000
1001
011
001
000
000001
1D
105141
00010
0000
101
000
101
000001
30
001404
00000
0000
001
010
000
000100
32
183001
00000
0000
011
000
000
000001
33
280401
00000
0000
000
010
000
000001
35
000035
00000
0000
000
000
000
110101
3C
006D5D
00000
0000
110
110
101
011101
三、数据通路图及分析(画出数据通路图并作出分析)
数据通路图
四、实验数据和结果分析
4.1实验结果数据和结果数据分析如图所示
联机写入的程序如下:
; //*************************************//
; // //
; // 微控器实验指令文件//
; // //
; // By TangDu CO.,LTD//
; // //
; //*************************************//
; //** End Of Main Memory Data **//
$P0020;START:
INRO从IN单元读入数据送RO
$P0100;ADDRO,RORO和自身相加,结果送RO
$P0230;OUTRORO的值送OUT单元显示
$P03E0;JMPSTART跳转至00H地址
$P0400
$P0550;HLT停机
; //***** EndOf Main MemoryData *****//
; //***** 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与简单模型机设计实验,刚开始可能是真的不懂该实验要干什么,对一些知识点很陌生,完全不知道怎么下手,后来通过老师和同学的帮助,慢慢知道了实验的目的。
难怪别人都说计算机组成原理不懂的通过做实验也就明白了。
当然,在学习实验之前,预习是一定要的,这样更能掌握实验的主要部分,以及操作流程,也能让自己很快的上手,达到老师布置给我们的任务。
还有一次实验就要结束了,希望自己能够做到更好。
得分(百分制)
实验报告分析评价
课程名称
计算机组成与结构
班级
实验名称
CPU与简单模型机设计实验
时间
2015-11-15
实验报告情况分析:
实验报告分为五大部分:
实验目的;实验逻辑原理图与分析;数据通路图及分析;实验数据和结果分析;实验问题分析、思考题与小结。
其主要核心部分在第四节:
实验数据和结果分析,包含了实验的操作流程及数据的结果分析。
当然,其他部分也介绍了实验目的,原理及实验步骤,并且加了一些原理图使其更好地理解。
在实验报告最后还添加了实验问题分析和小结部分,介绍了在实验过程中自己遇到的问题及注意事项。
经验总结及进一步改进措施:
本次实验是CPU与简单模型机设计实验,刚开始可能是真的不懂该实验要干什么,对一些知识点很陌生,完全不知道怎么下手,后来通过老师和同学的帮助,慢慢知道了实验的目的。
难怪别人都说计算机组成原理不懂的通过做实验也就明白了。
当然,在学习实验之前,预习是一定要的,这样更能掌握实验的主要部分,以及操作流程,也能让自己很快的上手,达到老师布置给我们的任务。
还有一次实验就要结束了,希望自己能够做到更好。