计算机原理实验四CPU与简单模型机设计实验操作步骤

5.1 CPU与简单模型机设计实验

5.1.1 实验目的

(1) 掌握一个简单CPU的组成原理。

(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

5.1.2 实验设备

PC机一台,TD-CMA实验系统一套。

5.1.3 实验原理

本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

图5-1-1 基本CPU构成原理图

除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD芯片中 。CLR连接至CON单元的总清端CLR,按下CLR按钮,将使PC清零,LDPC和T3相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线上的数据打入PC。

图5-1-2 程序计数器(PC)原理图

本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):

其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。根据以上要求,设计数据通路图,如图5-1-3所示。

本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。因而在微指令中应增加相应的控制位,其微指令格式如表5-1-1所示。

图5-1-3 数据通路图

表5-1-1 微指令格式

系统涉及到的微程序流程见图5-1-4所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。指令译码原理见图3-2-3所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1> 的测试结果出现多路分支。本机用指令寄存器的高6位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写,微程序流程图上的单元地址为16进制。

图5-1-4 简单模型机微程序流程图

当全部微程序设计完毕后,应将每条微指令代码化,表5-1-2即为将图5-1-4的微程序流程图按微指令格式转化而成的“二进制微代码表”。

表5-1-2 二进制微代码表

地址十六进制高五位S3-S0A字段B字段C 字段MA5-MA00000 00 010000000000000000000000010100 6D 430000000001101101010000110310 70 700001000001110000011100000400 24 050000000000100100000001010504 B2 010000010010110010000000011D10 51 410001000001010001010000013000 14 040000000000010100000001003218 30 010001100000110000000000013328 04 010010100000000100000000013500 00 350000000000000000001101013C00 6D 5D000000000110110101011101

设计一段机器程序,要求从IN单元读入一个数据,存于R0,将R0和自身相加,结果存于R0,再将R0的值送OUT单元显示。

根据要求可以得到如下程序,地址和内容均为二进制数。

地 址 内 容 助记符 说 明 ; START: IN R0 从IN单元读入数据送R0 ; ADD R0,R0