毕竟,在设计时,人们无法做到鱼与熊掌兼得,这时就要考虑到,或者说需要作出一些取舍,以便在资源有限的情况下,让它们发挥出最大的效能。
“平均制作每个全加器算路……大概需要耗费一百六十枚最基础的信息光点。其中算路本身只包含四十枚光点,大约有四分之三在加工过程中消耗掉了。”程原的意念从通道中传来“消耗还是蛮大的啊,你刷一个小时的题目攒出来的信息光点,刚刚只够写完a——也就是‘逻辑运算单元’中的一小部分。而要实现整个cpu,你还至少需要实现‘存储单元’和‘控制单元’几大块呢。”
“饭要一口一口吃。”程远乐呵呵地说道“我今天的效率比昨天已经高出一截啦。再说,有了加法运算功能,其它的功能距离实现也就不远了。”
程原不置可否地点了点头。其实从严格的意义上来讲,程远的说法并没有错。
在cpu中,实现“减法”的方法其实异常简单——只需要将被减去的数字转换为“负数”,再将它扔进加法电路中,就能实现减能了。而将数字转换为“负数”的方法也很简单——在计算机领域中,人们已经形成了约定,用二进制数字的首位来表示符号……只要将这个数字中的每一位取反一下,它就可以直接变为对应的负数了。[1]
而乘法算路稍微复杂一点,但它的底层也是依赖于加法算路的。举个最简单的例子,如果要将一个数字乘上9,那只需要对这个数字连续执行九次加法,那自然就可以得到结果啦。
咳咳,当然在实际情况中,人们自然是不可能用这种笨方法的。实际上,人们会让cpu使用一点类似于“小学生速算技巧”的手段比如,小学生速算12乘11,那可以将数字分解为12(10+1),相当于1210+121,这相当于一次移位运算和一次加法运算,计算起来就非常的简单了。而在cpu中,也是同样的道理,只不过计算机使用的是2进制——在它的眼中,2,4,8这些数字才是人们眼中的“10”一样的整数。而之前的乘9运算,cpu便会聪明地将它分解为乘(8+1)……它对cpu来说,同样也只需要一次移位运算和一次加法运算!
这便是最基础的乘法算路的原理。
当然,比起加减乘法来说,除法的难度确实要高上一截……但是没关系,程远可以直接参考乃至照搬地球位面中前人的设计图!
甚至……对于程远来说,只要允许他使用判断、循环和取反操作,那即使这个cpu只支持“加法”,甚至是只支持“+1”运算,程远都可以通过软件算法将自然数的加减乘除功能实现出来!
只不过,这个算法的效率会低到令人发指而已,除非这个“+1”操作不花费任何的时间……否则,在整个地球上,都不会有人真正地去做这种奇怪的cpu和算法的。
【本章阅读完毕,更多请搜索读书族小说网;https://www.kxs77.com 阅读更多精彩小说】