408计组之微程序控制器设计

基本思想:每条指令的执行过程用一个微程序来表示,每个微程序若干微指令组成,每条微指令相当于有限状态机中的一个状态
存储:所有指令对应的微程序都存放在一个ROM中,这个ROM称为控制存储器(控存)
执行:通常一个周期执行一条微指令

微程序控制器的结构

微操作:一条指令的功能通过一系列基本操作来完成
微命令:每个微操作在响应的控制信号的控制下执行,这些控制信号称为微命令
微程序(控制字CW):一个微指令序列,对应一条机器指令的功能

下图为结构图:
在这里插入图片描述
过程:指令装入IR——起始和转移地址发生器根据指令生成微程序入口地址,放入PC——此后每来一个时钟,PC加一。

注意:生成的微命令送到数据通路中;微指令中的“转移控制”部分被送到转移地址发生器,根据条件码及相应微命令产生新的微指令抵制放入PC;取指令过程是公共操作,可以用一个专门的取指令微程序实现。

微命令编码

直接控制法(直接编码法)

一位对应一个微命令,微操作码的长度于所有微命令的个数相当
优点:并行控制能力强,控制电路简单速度快
缺点:编码空间利用率低

字段直接编码法

相容微操作:数据通路中能同时进行的微操作,对应相容微指令
互斥微操作:不能同时进行的微操作,对应互斥微操作
基本思想:将微指令分为若干字段,每个字段包含若干微指令,互斥微操作组合在同一字段,相容微操作组合在不同字段,对每一字段内的微操作进行编码。一条微指令中最多可同时发出的微操作数就是微命令字段的个数(因为可同时发出的微指令是相容微指令)。
注意:每个小段还要留出一个状态,表示本字段不发出任何微指令,例如3位的字段长度,最多只能表示7个互斥的微命令,通常000表示不操作。

某计算机的控制器采用微程序控制方式,为指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则控制字段至少有:15位

第1个互斥类包含7个微命令,则23=8,比7大,用3位编码,同理第2个用2位编码,第3个用4位编码,第4个用3位编码,第5个用3位编码,3+2+4+3+3=15位

字段间接编码

一个字段某些微命令需由另一个字段中的某些微命令解释,缩短指令字长,但削弱微指令并行控制能力

指令地址的确定

计数器法

用专门的微程序计数器,将下条微指令地址隐含的存放在其中
顺序执行:PC+1-〉PC
转移执行:在当前微指令后添加一条转移微指令,并在微指令中添加专门的转移控制字段。通常用ROM实现。

断定法(下地址法)

在微指令中明确指定下一条微指令地址,相当于每条都是转移微指令,用微指令地址寄存器来存放当前微地址
优点:加快指令执行速度,消除了专门的转移微指令
缺点:增加微指令长度,影响控制存储器的有效利用

某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是8

32条指令,而每条指令由4条微指令组成,则一共有32*4=128条微指令,又包含两条公共的取指令程序的微指令,则一共包含的微指令数位128+2=130,130大于128小于256,故需要8位来表示。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值