CPU 与简单模型机设计实验实验报告_第1页
CPU 与简单模型机设计实验实验报告_第2页
CPU 与简单模型机设计实验实验报告_第3页
CPU 与简单模型机设计实验实验报告_第4页
CPU 与简单模型机设计实验实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告实验名称:CPU与简单模型机设计实验日期:2015.11班级:学号:姓名:一、实验目的:(1)掌握一个简单CPU的组成原理。(2)在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。(3)为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。二、实验内容:本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图2-1-1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放

2、在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。图1-4-1基本CPU构成原理图除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。系统的程序计数器(PC)由两片74LS161和一片74LS245构成,其原理如图1-4-2所示。PC_B为三态门的输出使能端,CLR连接至CON单元的总清端CLR,按下CLR按钮,将使PC清零,LDPC和T2相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线上的数据打入PC。CPU内总线B7.BOLDPCT2CLRLOAD图1-4

3、-2程序计数器(PC)原理图本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):说明INR0R0+R0R0R0OUT助记符机器指令码IN00100000ADD00000000OUT00110000JMPaddr11000000*addrPCHLT01010000停机其中JMP为双字节指令,其余均为单字节指令,*为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。根据以上要求,设计数据通路图

4、,如图1-4-3所示。本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。因而在微指令中应增加相应的控制位,其微指令格式如表1-4T所示。01图1-4-3数据通路图系统涉及到的微程序流程见图1-4-4所示,当拟定“取指”微指令时,该微指令的判别测试字段为P测试。指令译码原理见图1-3-3所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P的测试结果出现多路分支。本机用指令寄存器的高6位(IR7IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写,微程序

5、流程图上的单元地址为16进制。当全部微程序设计完毕后,应将每条微指令代码化,表1-4-2即为将图1-4-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。ADDIN3032R0-A04R0-BIN-RO05A加B-R0NOP-00-r于1rPC-AR01PC加1rMEM-IR0330vOUTRO-OUT33HLTNOP3535JMP3CPC-ARPC加1MEM-PC1D图1-4-4简单模型机微程序流程图表1-4-2二进制微代码表地址十六进制高五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000000101006D430000000001

6、1011010100001103107070000100000111000001110000040024050000000000100100000001010504B2010000010010110010000000011D1051410001000001010001010000013000140400000000000101000000010032183001000110000011000000000001280401001010000000010000000001350000350000000000000000001101013C006D5D000000000110110101011101

7、设计一段机器程序,要求从IN单元读入一个数据,存于R0,将R0和自身相加,结果存于R0,再将R0的值送OUT单元显示。根据要求可以得到如下程序,地址和内容均为二进制数。地址内容助记符说明0000000000100000;START:INR0从IN单元读入数据送R00000000100000000;ADDR0,R0R0和自身相加,结果送R00000001000110000;OUTR0R0的值送OUT单元显示0000001111100000;JMPSTART跳转至00H地址00000100000000000000010101010000;HLT停机三实验步骤:联机写入和校验联机软件提供了微程序和机

8、器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以TXT为后缀的文件中,微程序和机器程序的格式如下:机器指令格式说明:微指令格式说明:$pXXXXT匚机器指令代码十六进制地址机器指令标志$MXXXXXXXXT微指令代码十六进制地址微扌旨令标志本次实验程序如下,程序中分号;为注释符,分号后面的内容在下载时将被忽略掉:TOC o 1-5 h z/*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4/CPU与简单模型机实验指令文件/*4*4*4*4*4*4*4*4*4*4*4*4*4*4*

9、4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*A*A*A*A*A*A*/*StartOfMainMemoryData*/$P0020;START:INR0从IN单元读入数据送R0$P0100;ADDR0,R0R0和自身相加,结果送R0$P0230;OUTR0R0的值送OUT单元显示$P03E0;JMPSTART跳转至00H地址$P0400$P0550;HLT停机/*EndOfMainMemoryData*/*StartOfMicroControllerData*/$M00000001$M01006D43$M03107070$M04002405$M0504B201$M1D1

10、05141$M30001404$M32183001$M33280401$M35000035$M3C006D5DNOPPC-AR,PC加1MEMIR,PR0-BA加B-R0MEM-PCR0-AIN-R0R0-OUTNOPPC-AR,PC加1;/*EndOfMicroControllerData*/选择联机软件的“【转储】一【装载】”功能,在打开文件对话框中选择上面所保存的文件,软件自动将机器程序和微程序写入指定单元。选择联机软件的“【转储】一【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示,对照文件检查微程序和机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以

11、通过联机软件单独修改某个单元的指令,以修改微指令为例,先用鼠标左键单击指令区的微存TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。运行程序联机运行将MC单元的编程开关置为运行档,MEM单元的编程开关也置为运行档,进入软件界面,选择菜单命令“【实验】一【简单模型机】”,打开简单模型机数据通路图。按动CON单元的总清按钮CLR,然后通过软件运行程序,选择相应的功能命令,即可联机运行、监控、调试程序,当模型机执行完JMP指令后,检查OUT单元显示的数是否为IN单元值的2倍。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地

12、址总线、数据总线以及微指令显示和下位机是否一致。四、具体实现:(1)打开IN单元,输入操作数(以03为例),启动程序计数器(PC),然后自动启动加1操作,将指令地址放到地址寄存器(AR)(2)从存储器当中读取指令,并将它存到指令寄存器(IR)当中,然后对指令进行编译处理,形成控制信号,来控制各个部件的工作;(3)启动读操作,将IN单元当中的操作数(03)读到R0寄存器中(4)接着从PC中取出第二条指令的地址,并自动加1,并将它存放到AR当中;(5)从存储器中取出第一条指令,并将它存放到IR中,并进行编译(6)将存储器R0的03值送到A和B中MEM71CPUr(7)启动ALU运算器,执行加操作,

13、并将运算结果送往RO当中;CPU=TT1厂1TS1H.JlI.;,;lh;Na;LLih曲1(8)同样从PC当中第三条(将运算结果OUT单元显示),取指令流程与上述指令上述类似;rp旳WA-*lljIDA*Finn弓CPU五、项目要求及分析:1、试修改现有的指令系统,将加法指令的功能修改为R0的内容和某个存储单元的内容相加;增加存数、取数和减法三条机器指令,指令助记符分别为STA、LAD和SUB,指令操作码分别为十六进制的60、70和80。设计流程图如下:(红笔为修改的重点部分)地址十六进制咼五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000

14、000101006D43000000000110110101000011031070700001000001110000011100000400240500000000001001000000010104006D450000000001101101010001010504B201000001001011001000000001051024060001000000100100000001100604B20100000100101100100000000107006D48000000000110110101001000081024090001000000100100000010010905B201

15、0000010110110010000000010A2030010010000000110000000000010B1004010001000000000100000000011D1051410001000001010001010000013000140400000000000101000000010032183001000110000011000000000001332804010010100000000100000000013500003500000000000000000011010136006D4A00000000011011010100101037006D4B0000000001101101010010113C006D5D000000000110110101011101六、所遇问题及解决方法:这次实验含有部分的验证性实验,此部分与以往无较大差别,较为好做,易于完成。但同时此实验还含有难度较高的设计性部分,因而做起来较为头痛辛苦。在设计程序流程图时遇到很多困难,在编程时亦遇到汇编语言和

温馨提示

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

评论

0/150

提交评论