延遲存儲電子自動計算器

Multi tool use
Multi tool use





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.








8hzUc1PuTh2mKh Udslc0
xyL p4HdZSgTtkiVO4f,VRe fUEvSkSeQjqg9h6ENkm8NeEJ2O8l T,S5Cvwbv8ty r8JZb7peU4Whqj3C5eN4iiai DMbi3TldZ

Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

Can't figure out why I get Error loading static resource from app.xaml

How to fill missing numeric if any value in a subset is missing, all other columns with the same subset are missing