【手写01】微指令二进制编码格式的书写

前言

       我们计组考试要写微指令二进制的编码格式,我自己整理了一下,下面的用语有些地方不准确,如“24位微指令”和“23位微指令”,这是我随口称呼的,只是为了区分这两种微指令格式。自己在复习的时候也查询了很多帖子,看了很多文章,才把微指令二进制的编写弄明白,希望以下内容能够帮到你。

一、24位微指令

(一) 格式

这里的M23,M22内容无法确定,不知道写啥,也不知道什么含义,写0吧

WR:1表示允许写入

RD:1表示允许读取

IOM:启用输入/输出模块

S3—S0:对应运算器逻辑功能表的内容

A,B,C这三个译码字段,看具体题目给的表格

MA5—MA0:表示后续地址,用前2位表示地址的第一位,后4位表示地位的后一位

如:后续地址为32,MA5—MA0的值为 11 0010

74181ALU 运算器/逻辑运算功能表,如下

(二) 例题

如下是A,B,C字段的译码内容和微程序流程图,根据流程图按照微指令格式变成二进制微代码

参考答案:

这里我就直接贴图上去了

提一下难点:

IN —>R0,表示读取数据到R0

R0 —>OUT,表示将R0里的数据写出

IN和OUT是汇编语言,读用IN,写用OUT

这里的高五位就是指M23,M22,WR,RD,IOM

二、23位微指令

(一) 格式

LDR1:表示将最终结果打入R1中

LDR2,LDR3同理可得,这三个值是互斥的

R1—>X :将R1的值导入X中(X+Y嘛,导入第一个加数)

R1—>Y:导入第二个加数中

其他同理可得

+:加法运算

M:逻辑运算

-:减法运算

RD:表示读,如RD(D'),表示从D'中读取数据

LDDR':选中数据寄存器R'

LDIR':选中指令寄存器

LDAR':选中地址寄存器

PC+1:程序计数器加1

P1:取值为1时,则后有判断(就是看有没有选择分支啊)

P2:取值为1时,判断后面是否有进位

直接地址:就是下一条指令的地址

      其实在写指令时,RD,LDDR',LDIR',LDAR,PC的取值可以直接看流程图,流程图的那条指令中明确写到了这些,那就把那个位置为1就行了,无脑操作,没提到就置为0。

(二) 例题

这里流程图和书上的图不一样,注意!!!

也可以看书,P166—P168,书上有答案的

第一条微指令(完成取指令和判断转移微指令)的二进制编码是

000 000 000 000 11111 10 0000

第二条微指令 R1+R2→R2 的二进制编码是

010 100 100 100 00000 00 1001

第三条微指令 R2+R3(6)→R2 的二进制编码是

010 001 001 100 00000 01 0000

第四条微指令 R2-R3(6)→R2 的二进制编码是

010 001 001 001 00000 00 0000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值