CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

限位数用于运算器设计原理知多少(续)

已有 3411 次阅读 2016-4-4 07:56 |个人分类:机器计算|系统分类:科研笔记| 限位数, 超长数计算

 

7.               算术运算的软硬件划分

要使限位数加减法运算器能够完成超长数的运算,最好的办法就是按照限位数的固定位数分段进行。计算机的减法运算是通过加法来完成的。依据对称制的性质(5),只要设法将减数换成它的对称码,就可以用加法运算获得减法的结果。

例如,031-456<=>031+544<=>575

上面的过程可以用计算机的硬件状态变化完成。凡是有减法运算存在,就不能够将运算结果理解成无符号数,因而575是负数-425。这是对数字信息的理解问题,因而属于软件的任务。当然,我们可以将计算机实际表达的数都理解成有符号数,在这种理解之下,我们就可以设计出有限位数的加减法运算器,使之能够进行超长位数的数值计算。这种设计结构如1所示。

1  16位加减法运算器结构

上面这个16位的加减法运算器结合存储器,可以完成对任何有限长度的有效位数值计算。其基本计算方式是按照16位将2个参加运算的数进行分段。计算时由低到高将分好的段送入前端寄存器ab,通过jjfq的逻辑电路得到结果,并将将分段运算的结果有序保存起来,最终得到超长的运算结果。定长加减法运算器jjfq具有带进位和不带进位的运算功能,因而可以将低段运算产生的进位送到高段参加运算,使整个运算过程获得精确的结果。想了解这方面详细情况,可阅读《计算机原理教程》或《自己设计制作CPU与单片机》等书籍。

机器表达的数本身没有正负号。例如11111111,按有符号数理解成-1,按无符号数理解成255都可以。在一组数值的算术运算中,一般应理解成有符号数,因为运算的中间或最终的结果可能是负值。再次提醒讲授计算机课程的教师们,不要再人云亦云地说什么“最高位是符号位”这种懵懂的说词吧。

8.               从运算器上改造计算机

国外的计算机运算器的设计原来是从不够完善的“补码制”理论衍生出来的,这种所谓的补码制会出现边界值二义性,因而造成为了精确而不断扩充运算器位数。现在他们的设计是否已经有所改变了,我们不知道。我们要在计算机核心设计上有所建术,就必须自己去设计运算器,设计CPU,设计自己的指令系统。这不仅是一个安全可靠问题,而且也是一个计算机科学的先进与落后问题。

事到如今,如果还没有自己设计过计算机的CPU和指令系统,恐怕应无颜自称为“计算机专家”吧?也许我们叫一个软件设计专家尚可。不然,也许还会出现TMJS那样的乌龙事件,叫人汗颜。

 

2016-04-04

 



https://blog.sciencenet.cn/blog-340399-967699.html

上一篇:限位数用于运算器设计原理知多少
下一篇:图同构01表示的多项式时间证明方法
收藏 IP: 120.52.24.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 08:31

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部