收藏 分享(赏)

CPU 与简单模型机设计实验.doc

上传人:精品资料 文档编号:8053108 上传时间:2019-06-06 格式:DOC 页数:7 大小:95KB
下载 相关 举报
CPU 与简单模型机设计实验.doc_第1页
第1页 / 共7页
CPU 与简单模型机设计实验.doc_第2页
第2页 / 共7页
CPU 与简单模型机设计实验.doc_第3页
第3页 / 共7页
CPU 与简单模型机设计实验.doc_第4页
第4页 / 共7页
CPU 与简单模型机设计实验.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 计算机组成原理实验报告1评语: 课中检查完成的题号及题数:课后完成的题号与题数:成绩: 自评成绩: 85实验报告实验名称:CPU 与简单模型机设计实验日期:2015.11.17班级:10011302 学号: 201302513 姓名: 周小多一、实验目的:1. 掌握一个简单 CPU 的组成原理。2. 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。3. 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。二、实验内容:1.要实现一个简单的CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0

2、),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图2-1-1 所示。这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。2.本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高位为操作码):助记符 机器指令码 说明IN 0010 0000 INR0ADD 0000 00

3、00 R0 + R0R0计算机组成原理实验报告2OUT 0011 0000 R0OUTJMP addr 1100 0000 addr PCHLT 0101 0000 停机3. 设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将R0 和自身相加,结果存于R0,再将R0 的值送OUT 单元显示。根据要求可以得到如下程序,地址和内容均为二进制数。地址 内容 助记符 说明00000000 00100000 ; START: IN R0 从 IN 单元读入数据送 R000000001 00000000 ; ADD R0,R0 R0 和自身相加,结果送 R000000010 00110000 ;

4、 OUT R0 R0 的值送 OUT 单元显示00000011 11100000 ; JMP START 跳转至 00H 地址00000100 0000000000000101 01010000 ; HLT 停机三、项目要求及分析:1. 试修改现有的指令系统,将加法指令的功能修改为 R0 的内容和某个存储单元的内容相加;增加存数、取数和减法三条机器指令,指令助记符分别为 STA、LAD 和SUB,指令操作码分别为十六进制的 60、70 和 80。R0和某个存储器相加,R0是可以直接读进来的,R0和另一个存储单元内容相加,如果两个值都是读入的话,就要将一个放在R0中,可以直接读入,另一个放存在储

5、单元。可以先将值读入到R0 中,在将R0保存到其他的存储单元中,进行加法时从存储单元中取出放在临时寄存器中,这样是两个寄存器相加减就可以。具体步骤:1)将R0中的数据送ALU中的A; 2)给出另一个数在内存中的地址; 3)从内存中取出相应的数据并送ALU中的B; 4)进行加法运算并将结果送 R0。对于增加存数、取数和减法三条机器指令,存数指令 STA 具体操作过程如下:1)从 IN 读入数据要存储的地址;2)将地址送至 AR;3)从 IN 读入要存储的数据; 计算机组成原理实验报告34)将数据送入内存中的相应存储单元。对于取数指令 LAD 具体操作过程如下:1)从 IN 读入数据的存储地址;

6、2)将存储地址送至 AR;3)将取出的数据送至 R0 减法指令的具体操作过程如下:1)将被减数送至 ALU 的;2)将减数送至 ALU 的; 3)ALU 进行减法操作,结果送 R0;2. 利用修改后的指令系统编写一段程序,完成十六位二进制数的加减法运算。答: 十六进制比八进制多了一半,该内容利用的指令系统,编写相应的程序。可以先将两个十六位的二进制数的高八位和低八位分别存入不同的地址,然后先取出两个数低八位进行相加,送至 OUT 单元显示,进位进行存储;再进行两个数低八位相加,结果在数据总线出显示。四、具体实现: 微程序设计流程图:计算机组成原理实验报告4微代码$M 00 000001 ; N

7、OP$M 01 006D42 ; PC-AR,PC 加 1$M 02 107073 ; MEM-IR, P$M 11 006412 ; pc-ar,PC+$M 12 183013 ; mem-ar$M 13 200401 ; mem-b$M 15 006416 ; alu-r0 加法$M 16 103001 ; pc-ar,PC+ $M 17 183018 ; mem-ar$M 18 006419 ; mem-b$M 19 102005 ; alu-r0 减法$M 1D 105141 ; mem-ar$M 2C 18302D ; R0-MEM STA$M 2D 00642E ; m-ar$M

8、2E 10202F ; m-r0 LAD$M 2F 05B201 ; m-pc JMP PC+计算机组成原理实验报告5$M 30 001417 ; R0-A 加法 $M 32 183001 ; R0-A 减法 $M 33 280401 ; pc-ar ,PC+ 置 ro AR-R0 LAD$M 35 000035 ; STA:PC-AR,PC+,mem-ar,R0-MEM(AR) $M 36 183011 ; IN-R0 输入 IN$M 37 183015 ; R0-OUT 输出 OUT$M 38 00142C ; pc $M 3C 006D5D ; pc-ar JMP利用修改后的指令系统编写

9、一段程序,完成十六位二进制数的加减法运算。以下的一段程序用于实现两个 16 位二进制数的加法,其思想为高位和低位分别对应相加,将低位的进位给高位,减法同理。结果的低八位在 OUT 单元显示,高八位数据在数据总线显示,最高位的进位忽略。 $P 00 60 STA 存加数的低八位$P 01 60 STA 存被加数的低八位$P 02 60 STA 存加数的高八位$P 03 60 STA 存被加数的高八位 $P 04 70 LDA 取出加数的低八位存入 R0 中$P 05 00 ADD两个数低八位相加 $P 06 30 OUT 两个数低八位相加的结果在 OUT 单$P 07 70 LDA取出加数的高八

10、位存入 R0 中$P 08 00 ADD 两个数的高八位相加$P 09 50 HLT 停机 五、调试运行结果:加法: 输入的两个数据分别为: 01010010,11111111(52FF)00110010,00000001(3201) 输出的结果为: 00000001,00000000(8500) 减法: 输入的两个数据分别为: 01010110,11111111(56FF ) 00110010,00000001 (3201) 输出的结果为: 001111111,11111110(3FFE) 计算机组成原理实验报告6六、所遇问题及解决方法:1. 在上实验课时,因为自己的实验器材的问题,一直都不能完成一个数与自身相加,之后也尝试了很多次才调整过来,感觉连线的过程千万不能将线接错,否则结果很难出来,做实验一定要很细心。七、实验总结:1.经过这次实验,我体会到自己所学的东西太少了,很多都不知道。虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。在这次实验设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。做简单模型机实验,能使我对计算机能有一个整机的概念。在此次的设计中,感谢老师对我们的帮助和指导。八、建议:1. 难度能够适当降低一点,难度有点大。2. 多多提供一些相关的资料,对于我们有所帮助。计算机组成原理实验报告7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报