二三文学

字:
关灯 护眼
二三文学 > 大明1805 > 第四九五章 大明式的计算机底层概念

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

第四九五章 大明式的计算机底层概念 (第2/2页)

在机器里面实际上都是在干“关关关开”的活儿。
  
  要控制计算机,就要直接去控制四个开关,组成“关关关开”的效果。
  
  最后计算机算完的数据,也用纸带上对应位置的空洞顺序,来表示一串的开和关。
  
  人类再把这些有规律的开关,翻译城人类能够理解的语言。
  
  最早期的计算机,是与人类语言完全没有关系的,就看使用者怎么去命名和解读。。
  
  但是这样实在太麻烦了。
  
  如果能让计算机直接识别人类语言就好了。
  
  关键是,为什么是我这个人类,把自己的话翻译成你这个机器的语言。
  
  为什么不能是我说我们人类的语言,然后你这个机器自己去翻译成你们机器能理解的语言?
  
  机器当然不知道怎么干。
  
  于是人类给决定给机器做个翻译器,或者说转换器。
  
  在翻译器上输入人类语言,翻译器给机器翻译成机器语言,再让机器去执行计算。
  
  计算机算完之后输出,再让翻译器翻译成人类语言。
  
  这个想法是非常好的,这其实也是所有程序语言的基本逻辑。
  
  程序语言的最终目的,就是实现人类直接说法,让机器完全理解并完美执行。
  
  只可惜啊,别说完全听懂人话并完美执行了,单纯的让机器直接执行最基本的命令,都让最早的研究人员们费老劲了。
  
  翻译器怎么才能把addition翻译成一连串的开关呢?
  
  怎么让机器知道“加”是什么意思呢?
  
  看上去,好像只要做一个表格,左边一列写addition或者加,右边写“关关关开”。
  
  告诉机器,我输入addition或者加,你就去给我执行“关关关开”。
  
  然而更进一步的问题是,怎么“输入”addition或者加。
  
  输入法这个东西,在后世看来很常见的东西,在早期电脑上绝对是黑科技。
  
  就算是看上去能够按键直出的英文字母,也要去干一个物理按键绑定字母表的活儿。,
  
  否则机器不知道a是啥,c又是啥,根本没有b数。
  
  所以要再做一个表格,把一个开关序列绑定a,一个开关序列绑定b,一个开关序列绑定c……二十六个字母和标点符号数字都做好。
  
  再再做一个表格,把这些开关序列绑定键盘上的按键,并在按键上写上a、b、c……
  
  我依次按下写着addition这几字母的按键,计算机收到按键对应的信号去查表。
  
  找到了关关开关、关关开开、关关关关……等一连串的开关命令。
  
  如果是英文系统,这时候就在屏幕上依次显示addition几个字母。
  
  同时,这关关开关、关关开开、关关关关……这一连串命令,按照顺序组合起来,就对应另一个命令“关关关开”。
  
  如果是汉字系统,这时候在屏幕上显示“加”。
  
  最后,计算机去执行最后的“关关关开“命令。
  
  输入英文是一个相同表格有几个字母循环查几遍,汉字是设计两到四层嵌套的表格逐次查一遍。
  
  做到这些就已经非常困难了。
  
  甚至于,对早期计算机性能都有了一定的要求……
  
  最早的计算机字节长度是四位的。
  
  一个二进制位可以记录两个编号,字节长度为四的话,最多可以记录二的四次方,也就是总共十六个编号。
  
  这甚至不能容纳所有的英文字母。
  
  要记录所有字母,至少要把字节长度增加到五,这样编码容量增加到了三十二。
  
  可以容纳所有的字母,再加上几个常用的符号。
  
  但是还不能同时单独输入数字,用纯英文单词去拼数字就太恶心了。
  
  于是又把字节长度增加到六位,编码容量增加到了六十四。
  
  这就能够容纳字母、数字、常见符号了。
  
  所以六位的计算机,甚至于在计算机出现之前,就在打孔卡上用了很久了。
  
  但是六位的情况下,字母只能有大写或者小写一种。
  
  汇编语言也全部都是大写字母。
  
  如果用来输出文字的话,全篇大写字母看着也是很头疼。
  
  所以就继续增加到七位数。
  
  这样就有了总共一百二十八个的编码容量,对于英语而言基本圆满了。
  
  能表达所有大小写字母、主要符号、十个数字。
  
  以及换行、回车、删除等常用的输入控制命令。
  
  美利坚制定的ASCII标准就是七位编码。
  
  后世的通用计算机字节长度是八位,因为IBM设计的第一套通用计算机,在七位的基础上增加了一位校验码。
  
  后来随着技术提升,校验码被省略,八位编码的容量就增加到了二百五十六个了。
  
  相比最初的计算机,字节长度已经翻倍了。
  
  这还只是英文,如果要记录汉字的话,难度就进一步飙升了。
  
  现在大明通行的《通用标准汉字表》就有八千个字。
  
  一个字卦长度至少要增加到十三爻,有八千一百九十二的容量才能容纳。
  
  字卦长度要增加到十五爻,有三万两千七百六十八的容量,才能整个《大明标准汉字总表》的所有汉字。
  
  现在的生产工艺级别较低,还要参考IBM的做法,价格校验位。
  
  这样字节长度就增加到了十六爻。
  
  与此同时,三万多个十六位字卦,编码总容量已经达到了65536爻,折合前世的65KB。
  
  这对于早期的计算机而言,是一个非常大的数字。
  
  更关键的是,这只是汉字编号。
  
  如果把汉字当做是一个个的人,这个表格相当于所有他们所有人的地址表。
  
  要让汉字在屏幕上显示,还要把汉字做成点阵图像。
  
  按照前世的经验,要让汉字显示的相对自然,要用十六乘以十六的点阵。
  
  一个点阵的开关也要用一个字卦控制。
  
  十六乘以十六就是256个字卦,32768个汉字合计8388608字卦,折合前世的16MB。
  
  当时的大部分硬盘都装不下,更别说内存了。
  
  要让汉字勉强完整显示,不缺少笔画,也要十二乘以十二的点阵。
  
  这样总共也要9MB。
  
  就算是只记录通用汉字表,也需要2.25MB。
  
  七十年代以前的电脑,装下这个东西是非常吃力的。
  
  再次基础上,这也还只是点阵字库。
  
  要通过键盘把汉字打出来,输入到电脑里面去,还需要一个输入法程序。
  
  用于按照人类能够理解的逻辑,通过特定的按键组合,把想要的汉字从字库中筛选出来。
  
  这个过程跟英文打单词是一样的,区别只是一个字母一个字母的显示,最后组合起来形成命令。
  
  还是依次打完特定的组合的按键,组合形成成命令的同时显示出目标汉字。
  
  如果不涉及到高级的联想功能,用高度机械死板的输入法,限定死只能用哪些汉字,就是这样的逻辑。
  
  不过,点阵数据还可以放在硬盘上,字表和输入法就要载入内存了。
  
  当时的超级计算机内存也只有100KB出头的样子。
  
  这对当时的计算机而言是一个巨大的挑战。
  
  要先运行输入法程序,从字表中筛查出要输入的汉字,再去硬盘查点阵图输出到屏幕。
  
  就算是不惜成本,将字库输入法都所有功能都实现出来了。
  
  这台电脑多半也会出现打一个字就要等好几秒的状态。
  
  所以,朱靖垣现在看到电脑屏幕上有汉字,就知道工部绝对没有把汉字全做进计算机。
  
  因为现在的电脑也不需要将所有汉字输入进去。
  
  这时候的计算机就不是用来处理文字的。
  
  英文编程也不会把addition打完整,那这一个单词就需要64B的空间来容纳。
  
  一段代码打上几十个单词,就要占用KB级别的内存了,英文系统同样撑不住。
  
  肯定要能省就省的,直接写个ADD就行了。
  
  反正电脑不是处理文字的,当时的命令也只有几十个,单词都用简写也不会认错。
  
  汉字肯定是这么处理的,也只能这么处理。
  
  朱靖垣怀疑,这台电脑只能显示一两百,甚至几十个汉字。
  
  很可能是一个按键固定出一个字,一个对应一个固定的程序命令,剩下的就都是标点符号和数字了。
  
  符号系统也不会存在什么全角半角的区别,输入过程也不需要转换输入法。
  
  如果是这样的话,汉字汇编反而比英文更简单。
  
  因为单个汉字就有英文单词的作用,特别是在传统文言文仍然盛行的时代。
  
  朱靖垣眼前屏幕上的程序中的命令,确实全都是一个一个的单字。
  
  英文环境下单个字母很少有实际意义,至少要用两个到三个字母,才能让程序员产生有实际含义的联想。
  
  同时,眼前这个屏幕肯定是非常“高级”的功能。
  
  低级型号的电脑,很可能根本没有屏幕。
  
  因为屏幕上显示汉字和字母,哪怕是只有几十个,也非常浪费存储空间。
  
  早期的英文电脑同样是没有屏幕的。
  
  操作员都是盲打的。
  
  至于完整的八千个汉字,只能等下一代的电脑,把集成电路做出来再说了。
  
  
『加入书签,方便阅读』
热门推荐
极品全能学生 凌天战尊 御用兵王 帝霸 开局奖励一亿条命 大融合系统 冷情帝少,轻轻亲 妖龙古帝 宠妃难为:皇上,娘娘今晚不侍寝 仙王的日常生活