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

博文

从数制理论看独立思考的重要性

已有 5160 次阅读 2009-12-31 10:27 |个人分类:教学点滴|系统分类:科研笔记| 独立思考, 创新科研, 计算机数制

姜咏江
 
“自己的脑袋应该长在自己的肩膀上”恐怕是对那些不愿意独立思考的人强调要独立思考吧?学习需要独立思考,从事科研更需要独立思考。人有“虚荣心”,做导师的大概虚荣心会更强一些,这是通病。由于学生“烦人的独立思考”和自己虚荣心而放弃了真理,确实有失导师的风范。举一个数制理论的实例,这足能说明不强调独立思考给我们带来的危害。
 
计算机运算器是根据数制理论设计出来的。无论国内还是国外的教材都一直在介绍一种“纯技术观念”的数制理论,按照这种理论只能随意解释机器实现算术运算的道理,影响人们对运算器设计的掌握和改造。
 
学过计算机课程的人都见到过“原码”“反码”“补码”等概念。运用这些概念能够真实地反映出运算器设计的原理,能够运用这些概念指导我们将新的运算器设计出来吗?需要认真地独立思考。
 
下面的一些叙述在多数教材中都能见到。
 
(1)“二进制数的最高位是符号位”,因而8位二进制数“00000000”和“10000000”就应该被解释成“+0”和“-0”。
 
不用说“0无正负”的基本概念如何,单就在计算机中实际产生的二义性就叫人恼火。这个二进制数10000000的值是128,或-128,而不是所说的“负零”!
 
(2)对补码概念的解释也“五花八门”。权威一点的定义如下:
 
                    [x] = x                             0 ≤ x < 2n (mod 2n+1)
 
 
                   [x] = 2n+1 + x                - 2n ≤ x < 0 (mod 2n+1)
 
这种用实数理论定义补码的方法勉强可以解释补码制,然而用这种“本末倒置”的概念去设计运算器,将增加了多少对运算器设计的困难!
 
上面的两个例子中的说法是从“巨人”那里“抄来的”,面对“巨人”的这个混乱的概念,难道我们不应该提倡独立思考吗?我国之所以长期在计算机核心领域滞后不前,不加分析地接受国外的所有理论和方法不能不说是其中的一个重要原因。
 
计算机或者说机器能够实现算术运算的基本理论是“限位数”(关于限位数的理论请见本文笔者给出的附录),这是我学习“巨人”给出的“补码”概念之后“独立思考”出来的东西。国外一些人不认为计算机是一门独立的学科,这与他们在计算机领域,这些年重技术不重理论研究有关。由于计算机产业让国外的厂商在世界上确实地“捞了一把”,而且计算机的生产还会让他们“大赚”,因而将计算机的制造技术作为了头等大事研究是必然的,小小不然的理论问题不值得他们去花费时间,其中“机器表数和运算实现”理论就是一例。
 
计算机靠什么理论的支撑实现算术运算的?按照上面提到的两项去做,“七扭八拐”实在是离题太远。其实计算机实现算术运算的基本理论,说起来连中学生都能够理解和掌握。限位数的基本道理可以如下简述:
 
数码个数固定的数就是限位数。用数码按照“逢N进一”规则书写的限位数,最高进位会丢失,这种看似缺点的现象,恰为机器实现算术运算带来了方便。数码书写的限位数不但有序,而且总数一定,其中和为总数的两数中,较大的数如果代表较小数的相反数,不但能解决用限位数表示正负数,而且也能解决用机器实现算术运算的问题。限位数是计算机产生和发展的重要理论之一,运用它来进行计算机设计,简单易行。
 
可以说在计算机理论的研究中“我捡了一个漏”,如果不独立思考,大概连“漏”也不能捡到,这是一定的。
 
新年就在明天,民科老姜给科研界的所有朋友拜年啦!
 
预祝大家新的一年有更大的科研创新!
 
2009-12-31
 
运算器设计的理论

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

上一篇:提倡独立思考才能进入科研实战
下一篇:YOCSEF需要大胆深入一些
收藏 IP: .*| 热度|

2 杨秀海 intowin

发表评论 评论 (1 个评论)

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

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

GMT+8, 2024-4-25 16:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部