笔趣阁 > 其他小说 > 数学心 > 第六百八十章 汇编语言之母Kathleen Booth

第六百八十章 汇编语言之母Kathleen Booth

    KathleenHyldaValerieBooth教授是英国早期的计算机先驱之一。

    想象一下,必须通过重新布线来对计算机进行编程。是不是很不可思议?

    在年代中期,第一台通用电子计算机就是以这种方式工作的。

    像ENIAC这样的计算机,最初并没有用于代码的内部存储。如果我们想要用它编程,就要操纵数千个开关和电缆,而这些开关和电缆所在的位置,就是程序。

    所有带旋转开关的单元都是需要大量编程的地方。

    此时的编程,必须手动更改数千根电缆和开关,或者在卡片上打孔,然后将卡片送入计算机,这可能需要数天时间,而且极易出错。

    在KathleenBooth开始研究计算机的那个年代,有那么一小群人,开始产生了将程序存储在计算机内部的想法。而她也是最早研究「软件」这一新概念的人之一,她从中看到了需求,发明了汇编语言,使计算机编程更加人性化。

    AndrewBooth在与X射线晶体学家JDBernal教授(伯纳尔球的发明者)合作期间,使用X射线衍射数据来研究晶体结构。他发现手动计算非常繁琐,于是造了一台模拟计算机,来自动化部分步骤。

    年,他在伯贝克担任纳菲尔德研究员。但由于学院没有空间,而且由于BRPRA为其提供资金,所以他的工作是在BRPRA的设施上完成的。

    就在那时,他遇到了Kathleen。同年,Kathleen和Andrew在伯贝克学院合作发明了一台早期的数字计算机——自动中继计算机(ARC)。ARC使用纸带进行输入,实际上是一台用作傅立叶合成器的专用计算机。

    在此期间,他们一同创建了如今的伯贝克计算机科学与信息系统系。

    年,约翰·冯·诺依曼(JohnvonNeumann)撰写了一份名为「EDVAC报告初稿」的文件,在这份文件中,他描述了后来被称为计算机的冯·诺依曼架构。

    在这个架构中,他定义了计算机的各个部分,特别是存储在计算机内存中的程序。出于这个原因,它也被称为存储程序计算机。

    在经典的冯·诺依曼计算机架构中,地址空间大部分用于指向内存,其余部分用于指向外部设备:内存并不关心里面存储的是什么。

    年,Andrew和Kathleen在普林斯顿大学与冯诺依曼和IAS机器合作时,编写了一个程序,用于在电子计算机上实现翻译词典,前提是提供必要的存储容量。这是史上最早的机器翻译奠基工作。

    在这一年,Bernal帮助Kathleen和Andrew从洛克菲勒基金会申请到了访问普林斯顿高等研究院的资金。在此期间,Andrew和Kathleen与冯诺依曼一起共事了个月。

    根据Andrew的说法,在访问期间,只有Bernal的朋友约翰·冯·诺伊曼在任何时间都会接待他们。

    一个简化的内存管理系统——CPU中的程序计数器不再直接指向内存,而是产生一个进入MMU的虚拟地址,重定位常量添加到虚拟地址,以在内存中创建物理地址。

    就是这次访问,让他们第一次听说了冯诺依曼架构。受到启发,他们重新设计了ARC,仅用了个月就设计了机器的继电器部分,并且提出了关于ARC的构想。

    还是在年,Kathleen和他还写了两份关于它的报告《通用电子数字计算机设计中的一般考虑因素》和《ARC编码》。其中第一份报告广为流传。在其中,他们详细介绍了冯诺依曼架构机器,并介绍了内存的不同选项。

    此外,这份报告还描述了她发明「汇编语言」的前身,她在报告中将其命名为ContratedNotation。这是对计算机编程进行抽象思考的第一步,无需编写显式的和或机器代码指令。

    在这份报告中,Kathleen的编程能力大放异彩。并且,她设想了同步与异步操作的可能性,这可是在年!在此之后,我们唯一能够找到的异步描述来自年代中期。

    同步与异步操作将允许程序中的多条指令并行执行。因此,在执行下一条指令之前,程序不会被阻止等待当前指令的结果。这将有效地改善程序执行时间,即处理所有指令所需的时间。

    摘自《通用电子数字计算机设计中的一般考虑因素》

    第二份报告「CodingForARC」,于年月出版。在这份报告里,Kathleen首次详细介绍了ARC「汇编语言」。

    在该报告中,Kathleen还解释了orders(现在称为指令instrutions)是如何由加载到某种存储中的和表示的。

    通过汇编语言,我们不必再记住机器代码作为指令,只需记住并输入汇编语言助记符MOV作为指令。

    不过,目前已无法找到这份报告的数字副本。

    在年,Andrew和Kathleen将研究方向转向简单电子计算机(SEC),然后是通用电子X射线计算机或APE(X)C。现在,我们可以在MESS模拟器中试用APE(X)C。

    Hollerith电子计算机(HEC)是世界上现存最早的电子计算机之一。

    他们最著名的机器APEC(通用电子计算机)是在年设计出来的。

    年,BTM使用其硬件电路作为HEC计算机设计的基础,这种计算机在年代末直接成为最畅销的英国计算机,安装了近台。

    Andrew发明了一种并行乘法器算法,该算法仍然构成现代计算机芯片(布斯乘法器)中乘法电路的基础。

    他们还一起发明了旋转存储设备。在年代后期,他们试图制造可工作的光盘,但失败了,不过,他们成功地建造了世界上第一个磁鼓存储器,该存储在年代被广泛用于主存储器和后备存储。

    在磁鼓存储器中,信息存储在滚筒上的可磁化条上,数字信息存储为二进制磁性图案

    年,Kathleen和Andrew结婚,就在同年,Kathleen从伦敦大学获得了应用数学博士学位。

    为了争取更多资金,两夫妇再次前往洛克菲勒基金会。基金会提出的条件:必须让APE(C)X既可以用人类语言,也可以用数学语言。这也就是我们所熟知的自然语言处理。() ()

    他们做到了,在年月,他们展示了机器翻译的过程。

    他们的目标是实现准确的技术翻译,而不是追求文学质量。

    他们在伯贝克学院时,与学生一起做了很多NLP的工作,同时在年至年间,他们为加拿大国家研究委员会从事英法翻译工作。

    Kathleen在年出版的《自动数字计算器编程》,可能是第一本由女性撰写的关于编程的书。

    在这本书中,她介绍了和同事在年之前一直在研究的一些算法,比如单词替换、词干和词尾处理。

    她的另一个开创性工作是通过编程模拟神经网络,来识别动物。这距离史上第一次在计算机上运行神经网络,仅仅过了四年。

    Booth一家于年离开伯贝克学院,移居加拿大,先后在萨斯喀彻温大学、湖首大学工作。

    她于年从湖首大学退休,但可以看到,在年、她已经岁高龄时,还发表了和儿子IanJMBooth博士共同撰写的论文《使用神经网络识别海洋哺乳动物》。

    KathleenBooth于年月日去世。伯贝克学院发文悼念。

    不过,相比于这位来自英国的女性,更加广为人知的是另一位男性——DavidWheeler。

    为此,美国IEEE计算机协会还在年为他颁发了计算机先锋奖。

    当时,作为与MaurieWilkes一起研究剑桥大学Edsa(电子延迟存储自动计算机)的团队成员,DavidWheeler负责为计算机提供指令的系统。

    Wheeler开发的「初始指令」(initialorders)让Edsa的指令可以用一种简单的语言编写,而不再是「人肉输入」二进制数字。

    此外,他还开发了「WheelerJump」,允许程序将控制权传递给子程序,也就是用Basi写过程序的人都知道的「goto」语句的前身。

    DavidJohnWheeler于年出生在伯明翰。年,他获得了剑桥大学三一学院的奖学金,在那里他学习数学,并于年毕业。

    在此期间,MaurieWilkes在重新开放的数学实验室工作,从事一个名为Edsa的存储程序电子计算机的建造项目。

    Edsa的第一个程序于年月在Edsa上运行,其中就包括了Wheeler开发的「初始命令」,一个可以将简单的命令翻译成计算机所需的二进制指令的程序。这使得Edsa可以由非专业人员进行编程,并标志着编程语言的发展迈出了第一步。

    为Edsa编写程序的经验使Wheeler和他的同事MaurieWilkes和StanleyGill在年出版了第一本针对程序员的书「ThePreparationofProgramsforanEletroniDigitalComputer」,同年,Wheeler获得了实验室授予的第一个博士学位。

    年,应用数学的研究学生JoyeBlakler开始在工作中使用Edsa,并认识了DavidWheeler。他们于年月结婚。

    年他成为达尔文学院的研究员,年在加利福尼亚大学伯克利分校工作,研究如何将在线终端与大型计算机连接起来。年,他在贝尔实验室工作了一段时间。年,他成为计算机科学教授。

    他在年被选为英国计算机学会的会员,年成为最早被选为皇家学会会员的计算机科学家之一。

    :美国女性离开代码的那一年

    但凡是对编程历史有所了解的人,必然听说过AdaLovelae和GraeHopper。她们和其他从业的女性一起,对现代编程产生了巨大影响。

    但现在,你能叫出名字的「大人物」,无疑是像史蒂夫·乔布斯、比尔·盖茨和马克·扎克伯格这样的男性。

    那么,曾经的女性都去了哪里?

    时间回到第二次世界大战期间,当时第一批「程序员」有很多都是女性,如计算公司(CompIn.)的创始人ElsieShutt和创造了第一个编译器的GraeHopper。

    战争胜利之后,虽然有越来越多的男性加入,但女性不仅仍然从事着科学和技术领域工作,而且攻读计算机科学学位的人数也在不断增长。

    直到,年……

    在世纪年代中期,计算机开始成为美国人的家庭用品。

    当时,计算机在市场上的定位主要是面向商业和游戏的,而这两类产品的受众基本上都是男性。

    此外,电影院里的电影和电视上的广告为程序员确立了一个独特的身份:书呆子,年轻男性。

    看看这个玩具反斗城的Commodore的广告就知道了。

    不难想象,初高中的男孩们显然会比同龄的女孩,更容易接触到电脑。

    而这一差距,在他们升入大学时便会显现出来。

    上世纪年代,计算机科学的教授普遍认为新生是不具备任何计算机相关的经验。但随着个人电脑在年代变得越来越普及,教授们也越来越觉得他们的学生是玩着电脑长大的。

    对于家里没有电脑的PatriiaOrdóez来说,这无疑是一道难以逾越的鸿沟。

    还在上中学的时候,Ordóez数学成绩极佳。因此,当他进入约翰霍普金斯大学时,最初的志愿是攻读计算机科学或电气工程专业。

    然而,当Ordóez来到第一堂入门课时才发现,周围男同学对计算机的了解都比她要早得多,而自己却不得不问一些「常识性问题」。

    「有一次,教授在回答完之后,停下来看着我说:『现在你应该知道了吧。』」

    虽然Ordóez在后来也通过了课程,但也获得了人生中第一个C。最终,她选择放弃,主修了外语。

    不过,十多年后,她又回到了计算机领域,并最终获得了计算机科学的博士学位。现在她是波多黎各大学的计算机科学助理教授。
新书推荐: 这只小草神是俺拾的嘞 快穿:社恐宿主她不干了 开局躲神避魔,原来我是大佬啊 逍遥尘世子 这是僵约,你是认真的吗? 致我未曾谋面的青春 破天战尊 消失的天堂?游戏开始! 皇帝宠臣?不,我一身反骨! 扶桑剑心图