文学馆 > 穿越五零国家送我去留学 > 第581章 算法开发

第581章 算法开发


想到这里,时珈一便换了一个话题,也是更合适夏培肃钻研的方面。

“晶体管确实是需要研究的,但是除了这一点之外,还有一个最重要的问题,就是软件!”

“加强软件算法的开发。硬件是基础,但软件才是灵魂。”

夏培肃更迷惑了:“软件?算法开发?”

时珈一点了点头:“对!1月份的时候,美帝贝尔实验室的数学家约翰图基在一篇文章中,为了与物理硬件作区分,首次创造了“软件”这个词,用来描述自动编程辅助工具。这篇文章你看过吗?”

夏培肃很诚实地摇了摇头。

在国内被封锁的情况下,她其实很难在获得国外目前的消息了。

时珈一也不意外,她当初要不是在苏国收集到了许多信息,回来估计也会很迷茫。

“看看咱们现在的机器。我们为了让它算一道题,得把上万条机器指令,一条一条地搬进它的内存里。”

103机没有屏幕,没有键盘,它的大脑里只有成千上万个电子管,也可以把它们想象成无数个电灯开关。

机器根本看不懂人类的汉字或英文,它只认识两种状态:通电1和断电0。

如果想让机器算个“1+1”,不能直接写“1+1”,必须写一串类似  00101010、11000011的密码。这串密码的意思就是,把A开关打开,把B开关打开,触发加法电路。

这样的操作是非常痛苦的,写一个程序,程序员得在纸上写满几万行这种0和1的密码,然后人工翻译成机器能懂的电信号。

一旦写错一个0,整个程序就全废了。

而且让人最无语的是,这个密码是绑定这一台计算机的。

假设在103机上,把加法的密码规定为001。

辛辛苦苦写了一本厚厚的001密码本。结果领导说,现在换了台新机器,新机器规定加法的密码变成了110。

这时候怎么办?只能把原来那本厚厚的密码本全扔了,从头到尾把001全改成110。

脑力劳动完全被这台机器的物理结构卡住了。

机器一换,程序就得重写。

那算法是什么呢?

就是在写0和1的密码之前,先在脑子里想好的解题步骤。

比如:遇到负数先取绝对值,再相加,最后判断结果是否大于10。

有了算法后,用一种接近人类语言的符号,比如直接写英文  ADD  1+1把算法写下来。

这写下来的东西,就叫软件。

因为代码是用人类语言写的,它就不再绑定在机器上了。

如果以后换了新机器,只需要找一个编译器,把  ADD  1+1  自动翻译成新机器的110  密码就行了。程序员也不用去背那些变态的0和1了!

当然,时珈一为了让夏培肃更加通俗易懂,她打了个比方:“其实我们现在的做法,就像是为了运货,天天在修路,把绝大部分精力都耗在了怎么让机器听懂指令、怎么省内存上。”

“而我的想法是,把修路和运货这两件事分开做!”

“咱们平时算一道复杂的数学题,是不是先在脑子里想好一套解题步骤和规矩?比如先算什么、后算什么、遇到什么情况该怎么绕路?这套解题规矩,就是我想说的!”

“我的设想是,机器指令太费时间和脑力了。咱们能不能先用一种接近人类语言的逻辑符号,把这套解题规矩写在纸上?  只要这套规矩在逻辑上是最聪明的、最省事的,然后我们再想办法让机器去翻译和执行它。”

夏培肃皱了皱眉:“你说的是美帝那边的FORTRAN和ALGOL语言吗?”

“很久以前我在相关文献上看到过,但是因为对方对我们实行严密的技术封锁,这些……..导致我们都不太懂甚至没有相关的资料。”

时珈一打了一个响指:“是那边先开发出来的没错,但是,就算传到我们国家,也不一定适合我们使用!”

103机才刚刚跑通第一条指令,连硬件的底层逻辑和机器指令集都还在磨合期。

没有稳定的硬件,就不可能去开发高级语言。

时珈一其实是想说下一台计算机要自己研发语言。

“FORTRAN和ALGOL语言,是典型的西方数学思维,我们的教学内容都是比较传统的数学推导方式,如果用一套西方那边的符号系统,不仅学习成本高,反而是拖累。我的想法是,我们完全可以自创一套适合我们华国计算机使用的语言!”

夏培肃满腹心事地点了点头。

看向时珈一的眼神里有些惊叹。

“还有吗?”

时珈一点了点头,继续述说自己的想法:“我之前做的快速通道,其实刚开始的想法,并不是这个。”

她自己也有些遗憾,上面给的时间太短了,导致她很多东西都没有办法改,再加上,她之前在苏国设计的几乎都是理论性图纸,和实践的差距其实不是一点半点。

“为什么要新增一个快速通道?归根结底就是数据串行的问题,就是算力不够,那为什不能直接改CPU呢?”

夏培肃:“???”

还能改CPU吗?

一时她的世界观受到了冲击。

当初拿到苏国图纸的那一刻时,就已经对计算机的研发成功很惊喜了,如果改CPU的话,这绝对是一个大难关。

时珈一说的不是空话,既然算力不够,那就增加CPU,也就是现代计算机中,所说的多核处理器!

它是算力级别的扩展,可以通过增加计算单元的数量,来成倍提升系统的整体运算速度。

“我们现在的103机只有一条内部总线,所有的数据都要经过这条总线,那为什么不能设置多几条线。运算器只有一个,那为什么不能多加几个?”

“而且103机的控制器是串行工作的,尽管我增加了快速通道,但是它只能做到初步并行。它同一时刻依旧只有一条控制流。”

“假设我想加装4个运算器,但是它们没有自己的大脑,只能被动接收指令。如果没有复杂的调度机制,控制器根本无法指挥这4个运算器协同工作,机器会直接死机。”


  https://www.bqvvxg.cc/wenzhang/28279/28279727/55457990.html


  请记住本书首发域名:www.bqvvxg.cc。文学馆手机版阅读网址:wap.bqvvxg.cc