延遲存儲電子自動計算器






EDSAC




EDSAC占地5×4米


电子延迟存储自动计算器(英文:Electronic Delay Storage Auto-matic CalculatorEDSAC)是英国的早期计算机。1946年,英国剑桥大学数学实验室的莫里斯·威尔克斯教授和他的团队受冯·诺伊曼的First Draft of a Report on the EDVAC[1]的启发,以EDVAC为蓝本,设计和建造EDSAC,1949年5月6日正式运行,是世界上第一台实际运行的存储程序式电子计算机[2]


项目的投资方是英国的J. Lyons & Co. Ltd.,该公司后来推出基于EDSAC设计的第一代商业应用电子计算机LEO I




目录





  • 1 物理组件

    • 1.1 存储器


    • 1.2 输入输出



  • 2 体系结构

    • 2.1 内存


    • 2.2 寄存器


    • 2.3 指令集



  • 3 软件

    • 3.1 操作系统


    • 3.2 应用软件



  • 4 EDSAC的应用


  • 5 后续发展


  • 6 参考


  • 7 相关条目


  • 8 外部链接


  • 9 脚注




物理组件


EDSAC使用了约3000个真空管,排在12个柜架上,占地5×4米,功率消耗12Kw [3]




EDSAC的内存槽5英尺长,内含32个内存位置



存储器


使用水银延迟线作存储器,分布在32个槽中,每个槽5英尺长,里面包含32个内存位置,共1024个位置。 [4][5]


建造时只实现了一半,512个字,第二组于1952年添加.[3]
1952年增加一个磁带存储,但实际使用中不能良好工作。[6]



输入输出




阴极射线管


输入采用5路的穿孔纸带,使用电子纸带读入机,速度为每秒623displaystyle 6frac 23displaystyle 6frac 23个字符,1949年10月改进为每秒16字符,1950年使用光电阅读器,达到50字符每秒。 [3]


输出使用电传打字机,速度623displaystyle 6frac 23displaystyle 6frac 23字符每秒,1951年添加一个16字符每秒的纸带打孔机 [3]


另外,EDSAC可以外接阴极射线管(CRT),可以用来观察寄存器的值。





体系结构


EDSAC的原始设计基于EDVAC,概念上是一台十分简单的机器,这是它的一个良好特征,与1960-1970年代的RISC体系很相似。[7]


包含5部分:运算器(ALU)、控制器存储器输入输出。运算器和控制器现在一般合称CPU。


工作在500kHz[8],平均每秒运行650指令[3]



内存


共1024字(word),每字18位(bit)。但一般只能使用17bit,第一个bit由于电路的建立时间(set-up time)而不能使用。


存放指令时,包含如下结构:











     5     

 1 

          10          

 1 
指令代码
保留
内存地址
长度
指令格式
5bit的指令代码,11bit内存地址(由于EDSAC内存只有1024,所以实际有1bit保留),余下1bit在某些指令中,用于指示操作子是单字还是双字(word)。

存放数据时,EDSAC采用二进制补码,可表示正负整数和正负真分数。
单字17bit,其中第一个bit用于符号位;双字35bit,此时,第二个字可用满18bit。


如下图所示:





  

          16          
a.短整数





  

          16          

  

          17            
b.长整数
隐含的小数点在最低有效位上



  

          16          
c.短分数





  

          16          

  

          17            
d.长分数
隐含的小数点在符号位后面。





  

表示符号位

  

表示中间位


寄存器




EDSAC的内部结构


EDSAC的处理器包含5个基本寄存器:


  • 指令地址寄存器

  • 顺序存储器

  • 被乘数寄存器

  • 乘数寄存器

  • 累加器

EDSAC和同时代的计算机均没有变址寄存器(en:Index_register)。[7]



指令集


平均每条指令运行时间1.5ms,乘法4.5ms,软件除法大约需要200ms。[3]


完整的指令集可以在这里的p41找到。


  • 转移指令
转移指令只有E-和G-(分别表示累加器的符号位为0和1时转移),而没有无条件转移。因此无条件转移就需要使用两条指令;同样的原因,使得判断两个数相等需要八条指令。[7]1952年,指令集添加了无条件转移,但许多程序和子程序库需要重写。
  • 算术指令
加法指令将存放的数据按整数处理。而乘法指令将数据解释为真分数,两个17bit的分数相乘得到一个35bit的分数存入累加器。

EDSAC缺少逻辑运算指令,只有AND,也缺少字符处理指令。[7]


软件



操作系统


操作系统,或者称之为初始化指令,使用了31条指令,存放在机械结构的只读存储器中。这些指令将纸带上的程序读入内存,然后运行。


第二个版本在1949年8月安装,占用了41条指令,使得子程序的重定位和协作变得简单易用(D.J. Wheeler的重要发明)。[3]



应用软件


1949年5月6日,第一个在EDSAC程序是打印0-99的平方表。


EDSAC的非凡的特征是提供了大量的子程序。到1951年,EDSAC含有87个子程序,涵盖:



浮点运算、复数运算、检测、除法、幂、微分方程、特殊函数、幂级数、对数、正交、输入输出、n次方根、三角函数、向量和矩阵、循环(模拟repeat,while和for)。


EDSAC的应用




EDSAC的应用


EDSAC早期应用集中在解决气象学、遗传学和X光结晶学等方面的问题。


  • 1951年,Miller和Wheeler利用EDSAC发现了一个当时最大的79位素数。

  • 1951年,A.S. Douglas开发出OXO(井字游戏),输出到阴极射线管,是最早的电子计算机视频游戏。

  • 1960年代,EDSAC用于收集椭圆曲线解的数值现象,这引出了贝赫和斯维讷通-戴尔猜想。




后续发展


EDSAC的后继机型EDSAC2于1958年投入使用。EDSAC2引入了微程序(microprogramme)和位片(en:bit-slice)的概念。[6]



参考


  • The Preparation of Programs for an Electronic Digital Computer 莫里斯·威尔克斯, 大卫·惠勒和斯坦利·吉尔, Addison-Wesley, 第一版, 1951年


  • John von Neumann. First Draft of a Report on the EDVAC (PDF). (原始内容 (PDF)存档于2004-04-23). 




相关条目


  • 莫里斯·威尔克斯

  • EDVAC

  • 冯·诺伊曼结构


外部链接





  • EDSAC模拟器(英文) 英国华威大学计算机科学系马丁·坎贝尔-凯利开发


  • EDSAC50周年 (英文)


  • Nicholas Enticknap and Maurice Wilkes, Cambridge's Golden Jubilee (英文)


脚注




  1. ^ http://www.virtualtravelog.net/entries/2003-08-TheFirstDraft.pdf 互联网档案馆的存檔,存档日期2004-04-23.


  2. ^ EDVAC是第一个设计为冯·诺伊曼结构的电子计算机,但直到1952年该计算机才首次正式运行。


  3. ^ 3.03.13.23.33.43.53.6 Martin Campbell-Kelly: Programming the EDSAC, IEEE Annals of the History of Computing, Vol 2(1), 1980.


  4. ^ Report of a Conference on High Speed Automatic Calculating-machines, University Mathematical Laboratory, Cambridge, June 1949; M.R. Williams与M. Campbell-Kelly的修改版于1989年由MIT/Tomash historical series重印(报告也包含了EDSAC与曼彻斯特与美国的同时期电子计算机的比较报告。)


  5. ^ Peter Robinson and Karen Sparck Jones: EDSAC 99 commemorative booklet, University of Cambridge Computer Laboratory, April 1999. 在线版本.


  6. ^ 6.06.1 Karen Sparck Jones: Brief informal history of the Computer Laboratory 在线版本


  7. ^ 7.07.17.27.3 EDSAC模拟器的文档 马丁·坎贝尔-凯利编写


  8. ^ M.V. Wilkes, Memoirs of a Computer Pioneer, MIT Press, 1985.








Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

ReactJS Fetched API data displays live - need Data displayed static

Evgeni Malkin