第四九五章 大明式的计算机底层概念-《大明1805》


    第(2/3)页

    越往前的语言编制的程序性能越高,因为可以直接输入机器,直接进行物理层面的运算。

    但是能够执行的命令也越简单,想要实现复杂功能的难度越高。

    越往后的语言编制的程序性能越低,因为要经过读取和翻译,转化成机器语言之后再去运行。

    不过能够执行命可以更加复杂,实现复杂功能的难度也越低。

    在自己的前世,所有正儿八经的计算机程序语言,在最底层都是用英文表示的。

    有少数程序可以在表层显示汉字,但完全不成气候。

    其实程序语言不是不能使用汉字,因为早期程序语言本质上不是人类语言。

    里面的那些英文字母本质上都是逻辑和定义符号。

    用数字甚至星星框框表示一样可以。

    只要程序员能够记住,每个图像代表的是什么指令。

    之所以都是英文而没有汉字,是因为早期程序员都用英文,所以用英文去记录和表示命令。

    这种传统就形成了限制铁轨宽度的马屁股。

    最先建设铁路的英国人,选择的铁轨宽度是正好容纳两匹马行走的宽度。

    这个与火车并没有直接关系的数据,成了后世的标准铁轨宽度。

    计算机语言也是一样。

    计算机的基础是晶体管,每一个晶体管可以看做是一组灯泡和开关。

    关和开的这两种状态,可以参考灯泡是否亮起的状态。

    用二进制数来表示,就是0和1。

    在大明的计算机器相关的研究中,工匠们习惯用阴和阳来代指。

    每一个晶体管的两个状态,能够表达的两个数字,在前世被称为一个“比特”。

    在大明被称为一个“数”,或者“爻”。

    爻就是传统八卦符号中那些中断和连接的横线的统称。

    一整条连续的横线是阳爻,中间断开的横线是阴爻。

    开和关的意义,阴与阳的象征,断开与连接与执行,三者的意味天然趋同。

    对大明的工匠们而言,这种命名都是理所当然的选择。

    人向机器传递的所有指令,想要被机器所识别并执行,都要转化成一连串的开关命令。

    计算机里面的开关太多了,人们为了方便管理和使用,就将其分成一个个的小组。

    前世最早的计算机是四个一组,最后的通用计算机是八个一组。

    这样四个到八个一组开关的开关命令的长度,在后世就被称为一个“字节”。

    在大明被称为一个“字”或者“卦”,就是八卦的卦。

    机器语言,就是直接输入开和关两种信号,可以想象对零和一两个键反复不断地按。

    实际上使用打空纸带来执行的,用一个位置是否有空洞来表示开和关。

    对二进制机器而言,他只能理解开和关。

    比如说一组电路或者一项控制功能,在四爻机器上执行的方式是“关关关开”。

    这个命令在机器看来,名字和意义就是“关关关开”,没有什么别的附加意义。

    但是在人类视角下,“关关关开”只是一个编号,单纯看这个容易混乱。

    于是人类根据自己的设计思路,知道这个编号所代表的逻辑功能,用自己使用的人类语言中应该用什么词汇来描述。

    美国人在自己的脑子和小本本里面,记下“addition=关关关开”。

    大明人在小本本上写下了“加=阴阴阴阳”,或者是画上三阴一阳的爻线。

    无论是addition还是加,都只是人类方便自己记忆的“备注”

    在机器里面实际上都是在干“关关关开”的活儿。

    要控制计算机,就要直接去控制四个开关,组成“关关关开”的效果。

    最后计算机算完的数据,也用纸带上对应位置的空洞顺序,来表示一串的开和关。

    人类再把这些有规律的开关,翻译城人类能够理解的语言。

    最早期的计算机,是与人类语言完全没有关系的,就看使用者怎么去命名和解读。。

    但是这样实在太麻烦了。

    如果能让计算机直接识别人类语言就好了。

    关键是,为什么是我这个人类,把自己的话翻译成你这个机器的语言。

    为什么不能是我说我们人类的语言,然后你这个机器自己去翻译成你们机器能理解的语言?

    机器当然不知道怎么干。

    于是人类给决定给机器做个翻译器,或者说转换器。

    在翻译器上输入人类语言,翻译器给机器翻译成机器语言,再让机器去执行计算。

    计算机算完之后输出,再让翻译器翻译成人类语言。

    这个想法是非常好的,这其实也是所有程序语言的基本逻辑。

    程序语言的最终目的,就是实现人类直接说法,让机器完全理解并完美执行。

    只可惜啊,别说完全听懂人话并完美执行了,单纯的让机器直接执行最基本的命令,都让最早的研究人员们费老劲了。

    翻译器怎么才能把addition翻译成一连串的开关呢?

    怎么让机器知道“加”是什么意思呢?

    看上去,好像只要做一个表格,左边一列写addition或者加,右边写“关关关开”。

    告诉机器,我输入addition或者加,你就去给我执行“关关关开”。

    然而更进一步的问题是,怎么“输入”addition或者加。

    输入法这个东西,在后世看来很常见的东西,在早期电脑上绝对是黑科技。

    就算是看上去能够按键直出的英文字母,也要去干一个物理按键绑定字母表的活儿。,

    否则机器不知道a是啥,c又是啥,根本没有b数。

    所以要再做一个表格,把一个开关序列绑定a,一个开关序列绑定b,一个开关序列绑定c……二十六个字母和标点符号数字都做好。

    再再做一个表格,把这些开关序列绑定键盘上的按键,并在按键上写上a、b、c……

    我依次按下写着addition这几字母的按键,计算机收到按键对应的信号去查表。

    找到了关关开关、关关开开、关关关关……等一连串的开关命令。

    如果是英文系统,这时候就在屏幕上依次显示addition几个字母。

    同时,这关关开关、关关开开、关关关关……这一连串命令,按照顺序组合起来,就对应另一个命令“关关关开”。

    如果是汉字系统,这时候在屏幕上显示“加”。

    最后,计算机去执行最后的“关关关开“命令。

    输入英文是一个相同表格有几个字母循环查几遍,汉字是设计两到四层嵌套的表格逐次查一遍。

    做到这些就已经非常困难了。

    甚至于,对早期计算机性能都有了一定的要求……
    第(2/3)页