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

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的基础上增加一个主存和基本的输入输

出部件,以构成一个简单的模型计算机。

I1AR

/ALU'

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

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

LDPCT3CLRLOAD

LDPC

T3

CLR

LOAD

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

本模型机和前面微程序控制器实验相比,新增加一条跳转指令 JMP,共有五条指令:IN

(输入)、ADD (二进制加法)、OUT (输出)、JMP (无条件转移),HLT (停机),其指令 格式如下(高4位为操作码):

助记符

机器指令码

说明

IN

0010 0000

IN -R0

ADD

0000 0000

R0 + R0 -^R0

OUT

0011 0000

R0 TOUT

JMP addr

1110 0000 ********

addr tpc

HLT

0101 0000

停机

******** 为addr对应的二进制地址码。其余均为单字节指令,

******** 为addr对应的二进制地址码。

其余均为单字节指令,

微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。

根据以上要求,设计数据通路图,如图5-1-3所示。

本实验在前一个实验的基础上增加了三个部件,一是PC (程序计数器),另一个是AR

(地址寄存器),还有就是MEM (主存)。因而在微指令中应增加相应的控制位,其微指令 格式如表5-1-1所示。

图5-1-3

图5-1-3数据通路图

141312选择00

14

13

12

选择

0

0

0

NOP

0

0

1

LDA

0

1

0

LDB

0

1

1

LDR0

1

0

0

保留

1

0

1

LOAD

1

1

0

LDAR

1

1

1

LDIR

11

10

9

选择

0

0

0

NOP

0

0

1

ALU B

0

1

0

R0 B

0

1

1

保留

1

0

0

保留

1

0

1

保留

1

1

0

PC B

1

1

1

保留

8

7

6

选择

0

0

0

NOP

0

0

1

P<1>

0

1

0

保留

0

1

1

保留

1

0

0

保留

1

0

1

LDPC

1

1

0

保留

1

1

1

保留

23

22

21

20

19

18-15

14-12

11-9

8-6

5-0

M23

M22

WR

RD

IOM

S3-S0

A字段

B字段

c字段

MA5-MA0

A字段B字段C字段

系统涉及到的微程序流程见图5-1-4所示,当拟定“取指”微指令时,该微指令的判别

测试字段为P<1>测试。指令译码原理见图3-2-3所示,由于“取指”微指令是所有微程序

都使用的公用微指令,因此P<1>的测试结果出现多路分支。本机用指令寄存器的高6位

(IR7 — IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就

可以一条微指令占用控存一个微地址单元随意填写,微程序流程图上的单元地址为

00

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

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

当全部微程序设计完毕后,应将每条微指令代码化,表5-1-2即为将图5-1-4的微程序流程

图按微指令格式转化而成的“二进制微代码表”。

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

地址

十八进制

咼五位

S3-S0

A字段

B字段

C字段

MA5-MA0

00

00 00 01

00000

0000

000

000

000

000001

01

00 6D 43

00000

0000

110

110

101

000011

03

10 7

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值