简单模型机实验报告.doc_第1页
简单模型机实验报告.doc_第2页
简单模型机实验报告.doc_第3页
简单模型机实验报告.doc_第4页
简单模型机实验报告.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、所示。这个 CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中, CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。1 欢迎下载精品文档图 1-4-1 基本 CPU 构成原理图除了程序计数器( PC),其余部件在前面的实验中都已用到,在此不再讨论。系统的程序计数器(PC)由两片 74LS161 和一片 74LS245 构成,其原理如图 1-4-2所示。PC_B为三态门的输出使能端,CLR 连接至 CON单元的总清端 CLR,按下CLR 按钮,将使 PC 清零, LDPC和T2

3、相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线上的数据打入 PC。图1-4-2程序计数器 (PC) 原理图本模型机和前面微程序控制器实验相比,新增加一条跳转指令 JMP,共有五条指令: IN (输入)、 ADD(二进制加法)、 OUT(输出)、 JMP(无条件转移), HLT(停机),其指令格式如下(高位为操作码):助记符机器指令码说明IN0010 0000IN R0ADD0000 0000R0 + R0 R0OUT0011 0000R0 OUTJMP addr1100 0000 * addr PCHLT0101 0000停机其中 JMP 为双字节指令,其余均为单字

4、节指令,*为addr 对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU 自动从存储器读取指令并执行。根据以上要求,设计数据通路图,如图1-4-3所示。2 欢迎下载精品文档本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。因而在微指令中应增加相应的控制位,其微指令格式如表 1-4-1所示。图1-4-3数据通路图系统涉及到的微程序流程见图 1-4-4 所示,当拟定“取指”微指令时,该微指令的判别测试字段为 P测试。指令译码原理见图 1-3-3 所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此

5、P 的测试结果出现多路分支。本机用指令寄存器的高 6 位( IR7IR2)作为测试条件,出现路分支,占用个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写, 微程序流程图上的单元地址为 16 进制。当全部微程序设计完毕后,应将每条微指令代码化,表1-4-2即为将图 1-4-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。3 欢迎下载精品文档00NOP01PC-ARPC加 103MEM-IR30PADDINOUTHLTJMP303233353CR0-AIN-R0R0-OUTNOPPC-ARPC加 1041DR0-B010135MEM-PC05A加 B-R00

6、101图1-4-4简单模型机微程序流程图表1-4-2 二进制微代码表地十六进高五位S3-S0A字段B字段C 字段MA5-MA0址制0000 00010000000000000000000000010100 6D430000000001101101010000110310 70700001000001110000011100000400 24050000000000100100000001010504 B2010000010010110010000000011D10 51410001000001010001010000013000 14040000000000010100000001003218

7、 30010001100000110000000000013328 04010010100000000100000000013500 00350000000000000000001101013C00 6D5D000000000110110101011101设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将 R0 和自身相加,结果存于 R0,再将 R0 的值送 OUT 单元显示。根据要求可以得到如下程序,地址和内容均为二进制数。4 欢迎下载精品文档地址内容助记符说明0000000000100000; START: IN R0从 IN 单元读入数据送 R00000000100000000

8、; ADD R0,R0R0 和自身相加,结果送 R00000001000110000; OUT R0R0 的值送 OUT 单元显示0000001111100000; JMP START跳转至 00H 地址00000100000000000000010101010000; HLT停机三、项目要求及分析:1. 试修改现有的指令系统, 将加法指令的功能修改为 R0的内容和某个存储单元的内容相加;增加存数、取数和减法三条机器指令,指令助记符分别为 STA、LAD 和SUB,指令操作码分别为十六进制的 60、70和80。四、具体实现:微程序流程图:二进制代码表地址十六进高五位S3-S0A 字段B 字段C

9、字段MA5-MA0制0000000100000000000000000000000101006D430000000001101101010000110310707200010000011100000111001004206005001000000110000000000101052004010010000000000100000000010620600700100000011000000000011107103001000100000011000000000001。5 欢迎下载精品文档08006D790000000001101101011110010920600A001000000110000

10、0000010100A10300B0001000000110000000010110B00240C00000000001001000000110032183001000110000011000000000001332804010010100000000100000000013500003500000000000000000011010136006D8400000000011011010100010037006D86000000000110110101000110380014080000000000010100000010000C05B201000001011011001000000001微程序

11、:地址内容说明00000000 00100000;从 IN 单元读入数据送 R000000001 00100000;先读地址再读数据 , 存入主存00000010 01100000;取出存入主存的数据00000011 00000000; R0 的值送 OUT 单元显示00000100 00110000;从 IN 单元读入数据送 R000000101 11100000;进行减法运算00000110 00100000; R0 的值送 OUT单元显示00000111 00000000;00001000 01100000; HLT 停机编写微程序:机器指令:$P 00 20;从 IN 单元读入数据送

12、R0$P 01 60;先读地址再读数据 , 存入主存$P 02 70;取出存入主存的数据$P 03 30; R0的值送 OUT单元显示$P 04 20;从 IN 单元读入数据送 R0$P 05 80;进行减法运算$P 06 30; R0的值送 OUT单元显示$P 07 00;$P 08 50; HLT停机微指令:$M 00000001; NOP$M 01 006D43; PC-AR,PC加 1$M 03 107072 ; MEM-IR, P$M 32 183001; IN-R0$M 36 006D84; PC-AR,PC加 1$M 04 206005; AR-MEM$M 05 200401;

13、R0-MEM$M 37 006D86; PC-AR,PC加 1。6 欢迎下载精品文档$M 06 206007; AR-MEM$M 07 103001; MEM-R0$M 33 280401; R0-OUT$M 01 006D43; PC-AR,PC加 1$M 03 107072; MEM-IR$M 32 183001; IN-R0$M 38 001408; R0-A$M 08 006D79; PC-AR,PC加 1$M 09 20600A; AR-MEM$M 0A 10300B; MEM-R0$M 0B 00240C; R0-B$M 0C 05B201; A-B-R0$M 33 280401;

14、 R0-OUT$M 00 000001; NOP六、所遇问题及解决方法:(1)程序运行前必须对微地址清零。拨动实验仪右下角清零开关CLR(1 0 1)后,观看实验仪右上方的微地址显示灯(UA0-UA5)是否全为零,若全为零,则正确,若不全为零,说明有问题,要检查。(2)使用单步微指令运行程序,单击该系统第三行的“单步微指令”图标即可。(3)在每次单步执行一条微指令的过程中,都要观察屏幕动态流线显示的运行结果,根据屏幕显示的结果分析与该条微指令的格式和功能是否一致。若不一致,必须检查原因。七、实验总结:通过本次实验收获丰富,在做这次实验之前,通过深入的预习,理解了实验原理、明确了实验的目的,按部就班地连线,逐步完成了实验的要求。在实验过程中,我认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验理解清楚,取得了较好的实验结果。通过这次实验懂得了基本模型机设计与实现的基本操作,加深了对书本知识的认识。通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论