微指令的编码与数控程序

在计算机组成原理控制单元设计的内容中,微程序设计思想是一个重要思想。微程序设计克服了组合逻辑控制单元线路庞杂的缺点,通过采用与存储程序类似的方法来解决微操作命令序列的形成。
微指令是类似于存储程序中指令的存在,但和存储程序中的指令有所不同,后者的操作对象是内存,前者的操作对象是控制器。在一条指令读取到CPU时,会先读取其指令类型(通常为一定长度的指令类型码),控制器根据指令类型做出相应动作(指令的执行),每一种指令对应一个微程序,一个微程序含有数条微指令,每一条微指令执行数个微操作命令。微程序存储在控制存储器中,控存的空间是有限的,因此对微指令的编码必须要有空间效率。
微指令的编码有如下方式:
1.直接编码方式
每一位代表一种微操作命令,如1代表打开某控制门,0代表禁止,这种方法速度快,但是动辄使控制字段达到几百位,需要极大的控存容量。
2.字段直接编码方式
字段直接编码讲微指令分成数段,每一段含互斥的微命令,如三位二进制代码就可以表示七个不同的微命令,因此可以用较少的二进制信息表示较多的微操作命令信号。这里要求不同字段之间的命令是相容的(可以同时执行),同一字段内的命令是互斥的(不可同时执行)。
3.字段间接编码方式
这种方式较第二种更加复杂,一个字段中的某些微命令还需要另一个字段中的微命令来解释。虽然进一步缩短了字长,但是削弱了并行控制能力,通常作为一种辅助手段。

在查阅数控程序的资料时,注意到JB/T 3208-1999这一标准中,G代码和M代码的一些特性,恰符合字段直接编码方式的一些特性。
如:G00 G01指令,分别代表点定位和直线插补,因此是不可同时执行的,是互斥代码,因此可以被编入同一字段;G02 G08,分别代表圆弧插补和加速,是可以同时执行的,因此编入不同字段。用这种编码方式可以极大便利编译程序的编写。

很多计算机思想,不仅在计算机领域,在很多其他行业都能带来启发式的灵感。如加速大概率事件、程序局部性,以及这次的指令编码方法。感觉无论学习什么,一定要领会其思想,这样才能融会贯通。

参考资料:
唐朔飞 计算机组成原理(第二版) 高等教育出版社 407~408

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值