计算机组成原理——微程序实验

微程序实验

、实验结果(12分)

1、实验结果记录(必做)(8分)

微程序如下表-1:

地址

十六进制

高五位

S3~S0

A
字段

B
字段

C
字段

MA5~MA0

含义

00

00 00 01

00000

0000

000

000

000

000001

NOP

01

00 70 70

00000

0000

111

000

001

110000

CON(ICS)→IR

04

00 24 05

00000

0000

010

010

000

000101

(R0)→B

05

04 B2 01

00000

1001

011

001

000

000001

(A)+(B)→R0

30

00 14 04

00000

0000

001

010

000

000100

(R0)→A

32

18 30 01

00011

0000

011

000

000

000001

IN→R0

33

28 04 01

00101

0000

000

010

000

000001

(R0)→OUT

35

00 00 35

00000

0000

000

000

000

110101

NOP

微程序图如下

实验数据通路图如下:

分析微程序图可知:

(1) IN指令: 32H->01H ,即实现IN功能,将输入的数给R0

(2) ADD指令,微程序序列:

00H-> 01H ->30H -> 04H -> 05H -> 01H

即实现R0->A ,R0->B ,(A)+(B)->R0,将R0+R0的结果给R0

(3)OUT指令:33H-> 01H

实现(R0)→OUT,输出R0到out单元格

(4)HLT指令:35H-> 35H

NOP,不操作。

开始运行:

①先输入23H,如下图所示:

当前微指令实现R0->A,上一条微指令地址为30H,当前微指令地址为04H,

实现了R0=23H,如下图:

②微当前指令实现R0->B,上一条微指令地址04H,当前微指令地址为05H,如下图所示,已经实现了R0=23H

③当前微指令实现A+B->R0,上一条微指令地址05H,当前微指令地址为01H,实现了R0=46H,如下图:

三、输出结果

实现0C+0C=18(H)。

本实验的微程序实际上实现乘2功能。例:

本结果中:输入为0C(12D),输出为18(24D),输出如下图所示:

二、实验问题与思考(3分)

  1. 控制存储器和主存储器在操作控制上有哪些不同?有什么本质区别?

①主存储器:

是计算机硬件的一个重要部件并能由中央处理器(CPU)直接随机存取。现代计算机是为了提高性能,又能兼顾合理的造价,往往采用多级存储体系。即由存储容量小,存取速度高的高速缓冲存储器,存储容量和存取速度适中的主存储器是必不可少的。用来存放指令和数据

②控制存储器:用来存放实现全部指令系统的所有微程序,它是一种只读型存储器 .一旦微程序固化,机器运行时则只读不写.

  1. 控制存储器的一个存储单元包含多少个二进制位?在逻辑上划分为几个字段,各有什么用途

24位,10个字段

储存单元如下:

高五位从左到右对应的位M23、M22、WR、RD、IOM,21-20未WR,RD控制读写,18-15位 S3--S0选择运算功能,A、B、C为3个译码字段,MA5~MA0为6位的后续微地址。

  1. 在表-1中,地址为35的控存单元中的微指令是否会执行,为什么?

不会,因为只有该指令的下一跳地址为35,表中没有指令的下一跳为35,除了35指令,所以不会执行。除非强制跳转到该指令才会执行。

猜你喜欢

转载自blog.csdn.net/cangzhexingxing/article/details/124046815