新智元报道
来源:Google
编辑:QJP
【新智元导读】据外媒报道,近日苏黎世联邦理工学院的档案管理员发现了世界上最古老的Z4数字计算机的使用手册,这使得后人可以更好的理解Z4的工作方式。
世界上现存最古老的数字计算机「Zuse Z4」一直被放置在苏黎世联邦理工学院,该校的档案管理员Evelyn Boesch的父亲Rene Boesch自1956年以来一直在该校的飞机建造学院工作,他在父亲的文件中找了「Zuse Z4」的使用手册。 现存最古老计算机Z4的使用手册被发现
Rauscher是P-16飞机的顾问,而Boesch则有收集历史文献的本领,Z4手册正好就在他的收藏中。
研究人员在Z4丢失已久的手册被找到后,将能够更深入地了解这台被认为是世界上现存最古老的(数字)计算机。
这台建造于1945年的 Z4,运行在磁带上,占据了一个房间的大部分空间来摆放,并且需要几个人来操作。这台机器现在在慕尼黑的德意志博物馆安家落户,但是它已经很久没有使用了。
在 Boesch 的文件中有关于Z4解决的数学问题的记录,这些问题与「P-16喷气式战斗机」的研制有关。
布鲁德尔在计算机协会(Association of Computing Machinery)的一篇博客文章中写道: 「这些计算包括火箭弹道、飞机机翼、振动和俯冲的计算」。
这台古老的计算机本身有相当传奇的背景故事。
据布鲁德勒说,德国土木工程师Konrad Zuse在纳粹政权时期发明了Z4,而且很可能就是手册的作者。有一次,纳粹希望祖斯把电脑转移到集中营,在那里,政府强迫劳工制造火箭弹和飞行炸弹。但他拒绝了,并且把 Z4搬到了一个偏远小镇的谷仓里等待二战结束。
数学家 Eduard Stiefel 后来收购了苏黎世联邦理工学院应用数学研究所的 Z4。在1960年 Z4被转移到德意志博物馆之前,它在法德圣路易斯研究所呆了几年。
比Z4还早的计算机--Zuse Z1
Zuse计算机最早系列的「Z1」是德国发明家康拉德·祖思(Konrad Zuse)1936~1938年期间在柏林建造的机械式计算机。Raul Rojas在一篇论文中对对该计算机的主要结构零件、高层架构,及其组件之间的数据交互进行了描述。
Z1能用浮点数进行四则运算。从穿孔带读入指令。一段程序由一系列算术运算、内存读写、输入输出的指令构成。使用机械式内存存储数据。其指令集没有实现条件分支。
图为Z1的复制品
Z1的架构与祖思在1941年实现的继电器计算机Z3十分相似,它们之间仍然存在着明显的差异。
Z1和Z3都通过一系列的微指令实现各类操作,但前者用的不是旋转式开关。Z1用的是数字增量器(digital incrementer)和一套状态位,它们可以转换成作用于指数和尾数单元以及内存块的微指令。
计算机里的二进制零件有着立体的机械结构,微指令每次要在12个层片(layer)中指定一个使用。在浮点数规格化方面,没有考虑尾数为零的异常处理,直到Z3才弥补了这一点。
以现在的视角来看,Z1计算机中最重要的改进有如下这些:
基于完全的二进制架构实现内存和处理器。
内存与处理器分离。在复制品中,机器大约一半由内存和穿孔带读取器构成,另一半由处理器、I/O控制台和微控制单元构成。
可编程:从穿孔带读入8比特长的指令,指令只有8种:四则运算、内存读写、从十进制面板读入数据、将结果寄存器里的内容显示到十进制展板。
内存和处理器中的内部数据以浮点型表示。处理器分为两个部分:一部分处理指数,另一部分处理尾数。
参数或结果为0的特殊情况由浮点型中特殊的指数值来处理(这一点到了Z3才实现,Z1及其复制品都没有实现)。
CPU是微代码结构的:操作被分解成一系列微指令,一个机器周期一条微指令。
内存和处理器可以分别独立运行:只要穿孔带给出命令,内存就在通信接口写入或读取数据。处理器也将在执行存取操作时在通信接口写入或读取。可以关闭内存而只运行处理器,也可以关了处理器而只运行内存。
康拉德·祖思这么年轻就对计算机引擎给出了如此优雅的设计,而在美国,ENIAC或MARKI团队都是由经验丰富的科学家和电子专家组成的。
从架构上看,我们今天的计算机与1938年的祖思机一致,反而与1945年的ENIAC不同。直到后来的EDVAC报告草案,以及冯·诺依曼和图灵开发的位串行机中,才引进了更优雅的体系结构。
冯·诺依曼也1926~1929年间居于柏林,那些年,康拉德·祖思和冯·诺依曼或许能在不经意间相遇相知。在那疯狂席卷和黑夜笼罩德国之前,柏林本该有着许多的可能。
参考论文:
《The Z1: Architecture and Algorithms of Konrad Zuse’s First Computer》