亲,欢迎光临33言情!
错缺断章、加书:站内短信
后台有人,会尽快回复!
33言情 > 其他 > 数学心 > 第六百八十章 汇编语言之母Kathleen Booth
  • 主题模式:

  • 字体大小:

    -

    18

    +
  • 恢复默认

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

Kathleen Hylda Valerie Booth教授是英国早期的计算机先驱之一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!