广工计组f4b 8位12指令微程序CPU设计实验报告(内含可通过代码以及波形图)

实验目的:

模型机是计算机的缩细模型,通过它可以理解计算机整机的结构和功能,理解CPU,存储器,中断控制器,接口的结构及实现逻辑和各部件之前的接口关系。本实验是设计一个8位模型计算机。

实验原理:

1. 微操作和微命令

微操作:一条机器指令可以分解成一个微操作序列,这些微操作是计算机最基本的,不可再细分的操作。

微命令:在微程序控制的计算机中。将控制部件向执行部件发出的各种控制命令成为微命令,它是构成控制序列的最小单位。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作微命令的执行过程。

2.微指令,微地址和微周期

微指令:微指令是若干微命令的集合。微指令又分为操作控制字段和顺序控制字段。操作控制字段:又称微操作码字段,用于产生某一步操作所需的控制信号

顺序控制字段:又称微地址码字段,用于控制产生下一条要执行的微指令地址。

微地址:存放微指令的控制存储器的单元地址称微地址。

微周期:微周期通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。

3.程序与微程序

程序:指令的有序集合,用于完成特定的功能

微程序:微指令的有序集合,一条指令的功能由一段微程序来实现

4.主存储器与控制存储器

主存储器:用于存放程序和数据,在CPU外部,用RAM实现。

控制存储器:用于存放微程序,在CPU内部,用ROM实现。

5.地址寄存器(MAR)与微地址寄存器(CMAR)

地址寄存器:存放要访问的存储器的地址,在CPU内部,在CU外部,对应指令

微地址寄存器:存放要访问的控制存储器的地址,在CPU内部,在CU内部,对应微指令

6.指令寄存器(IR)与微指令寄存器(CMDR)

指令寄存器:存放机器指令,在CPU内部,在CU外部,对应指令

微指令寄存器:存放微指令,在CPU内部,在CU内部,对应微指令

微指令控制单元

事先把操作控制信号存储在一个专门的存储器(控制存储器)中,将每一条机器指令编写成一个微程序,这些微程序可以存放到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令

指令总控制信号如下:

Bits in Control Memory

Micro-operation

Meaning

C0~C7

/

Branch Addresses

C8

PC←0

Clear PC

C9

PC←PC+1

Increment PC

C10

PC←MBR[7..0]

MBR[7..0] to PC

C11

ACC←0

Clear ACC

C12--C15

ALU CONTROL

Control operations of ALU

C16

R

Read data from Memory to MBR

C17

W

Write data to Memory

C18

MAR←MBR[7..0]

MBR[7..0] to MAR as address

C19

MAR←PC

PC value to MAR

C20

MBR←ACC

ACC value to MBR

C21

IR←MBR[15..8]

MBR[15..8] to IR as opcode

C22

BR←MBR

Copy MBR to BR

C23

CAR←CAR+1

Increment CAR

C24

CAR←C0~C7

C7~C0 to CAR

C25

CAR←OPCODE+CAR

Add OP to CAR

C26

CAR←0

Reset CAR

C27--C31

Not use

-----------

实验设计

1.总体设计

单地址指令格式用于我们简单的CPU 设计。指令字包括操作码和地址码俩个部分,其中操作码用于定义指令的功能,比如指令是加法运算还是减法运算等,地址码在本次设计中又分为直接寻址和立即寻址两种,其中直接寻址的地址码存放的是操作数在内存中的地址,立即寻址的地址码即为操作数。

2.微指令设计

0 : 00810000;        R←1,         CAR←CAR+1

1 : 00A00000;       OP←MBR[15..8],CAR←CAR+1

2 : 02000000;       CAR←CAR+OP

3 : 01000014;       CAR←14H

4 : 01000019;       CAR←19H

5 : 0100001E;       CAR←1EH

6 : 01000023;       CAR←23H

7 : 01000041;       CAR←41H

8 : 01000028;       CAR←28H

9 :

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

low泡程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值