微程序控制器实验

二、实验目的

1.掌握微程序控制器的工作原理和组成结构;

2.掌握微程序的编写、输入方法,观察微程序的执行过程。

三、实验环境

PC计算机

四、实验内容

取指周期微程序的编码。在实验1、实验2和实验3工作的基础上,读懂图4.4电路的构成及其工作原理,根据下表列出的取指周期的微操作,结合微指令格式,给出取指周期的微命令和微指令的编码。

微指令码

微操作

微命令

微指令码

取指周期微指令

(1)PC→MUX→AR,PC+1→PC

(2)RAM→BUS,BUS→IR,P1

LDI Rd,data

data→Rd

(1)PC→MUX→AR,PC+1→PC

(2)RAM→BUS,BUS→Rd

ADD Rd,Rs

(Rd)加(Rs)→Rd

+,ALU→BUS,BUS→Rd

HALT

停机

STOP

将微指令码写入到控制存储器的初始化文件ROM_5.mif中,编译、仿真。

五、实验步骤与实验结果

实验步骤:

1.控制存储器设参考计

从控制存储器中取出一条“取指令”用的微指令,送到微指令寄存器中。这是一条公用的微指令,一般可存放在控制存储器的0号或1号地址单元。微命令字段产生相关的控制信号,从主存中读取指令,送到指令寄存器IR中(按PC指向取指令),完成了取指令的任务。控制存储器设计如图4.2所示。

图4.2 控制存储器

2.微指令格式设计

计算机系统中,CPU中集成了运算器ALU、多个通用寄存器GPR、计数器PC、指令寄存器IR、地址寄存器AR等硬件资源,它们是为实现指令的功能,包括从存储器中取指令和执行指令服务的。因此,微指令设计时,应考虑控制这些硬件资源的控制信号。数据通路参考电路,如图4.5所示。

图4.5 数据通路电路

相关控制信号说明:ALU的选通信号ALU_BUS;PC的选通信号PC_BUS;RAM8的选通信号RAM_BUS;地址寄存器AR的锁存信号LDAR;存储器RAM8的写使能WR=1允许写,WR=0禁止写,允许读;读写脉冲T1;程序计数器PC的锁存信号LDPC;指令寄存器IR的锁存信号LDIR。

本实验微指令采用水平型微指令编码格式,共32位,由操作控制字段和顺序控制字段组成,顺序控制字段分为测试字段和下地址字段,微指令格式如下表所示。

M31

M30

M29

M28

M27

M26

M25

M24

M23

M22

M21

M20

M19

M18

M17

M16

Res

Res

CN

M

S3

S2

S1

S0

PC_B

LDPC

PCINC

LDAR

LDIR

STOP

LDRI

WREN

M15

M14

M13

M12

M11

M10

M9

M8

M7

M6

M5

M4

M3

M2

M1

M0

Res

Res

RAM_B

ALU_B

SW_B

DO_B

P3

P2

P1

P0

NuA5

NuA4

NuA3

NuA2

NuA1

NuA0

M31:保留

M30:保留

M29:CN,最低进位控制信号。

M28:M,算术还是逻辑运算控制信号。

M27-M24:S3S2S1S0,ALU运算控制信号。

M23:PC_B,程序计数器到数据总线控制信号。

M22:LDPC,将程序地址打入程序计数器PC控制信号。

M21:PCINC,程序计数器PC自增1控制信号。

M20:LDAR,将地址打入地址寄存器控制信号。

M19:LDIR,将指令打入指令寄存器控制信号。

M18:STOP,停止程序运行控制信号。

M17:LDRI,写寄存器控制信号。

M16:WREN,RAM存储器读写控制信号,高电平写,低电平读。

M15:保留

M14:保留

M13:RAM_B,存储器单元到数据总线控制信号。

M12:ALU_B,ALU运算结果释放到数据总线控制信号。

M11:SW_B,按键输入数据到数据总线控制信号。

M10:DO_B,数据总线到输出设备控制信号。

M9-M6: 是4个测试位,P3P2P1P0。P0、P1、P2和P3的作用如下表所示:

测试位

功能

P0

=1时,根据后继微地址NµA5~NµA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。

P1

=1时,根据后继微地址NµA5~NµA0和指令操作码IR7~IR4确定下一条微指令的地址。

P2

=1时,根据后继微地址NµA5~NµA0和进位标志C确定下一条微指令的地址。

P3

=1时,根据后继微地址NµA5~NµA0和结果为0标志Z确定下一条微指令的地址。

M5-M0:是后继微地址NuA5-NuA0。

实验结果:

根据下表列出的取指周期的微操作,结合微指令格式,给出取指周期的微命令和微指令的编码。

指令

功能

指令码

微操作

微命令

微指令码

微地址

取指周期

(1)PC→MUX→AR,PC+1→PC

(2)RAM→BUS,BUS→IR,P1

M23,M21,M20,M5-M0

M19,M13,M7,

00B0003f

00082080

00

3f

LDI Rd,data

data→Rd

0001Rdxx data

(1)PC→MUX→AR,PC+1→PC

(2)RAM→BUS,BUS→Rd

M23,M21,M20,M4,M1

M17,M13

00B00012

00022000

01

12

ADD Rd,Rs

(Rd)加(Rs)→Rd

0101RdRs

(1)M=0,S3S2S1S0=1001,CN=0(“+”)

(2)ALU→BUS,BUS→Rd

M31, M30,M27,M24,

M17,M12

8C9021000

05

HALT

停机

1111xxxx

STOP

M18

00040000

0F

附件一、原理图

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值