EDSAC
EDSAC占地5×4米
电子延迟存储自动计算器 (英文 :Electronic Delay Storage Auto-matic Calculator 、EDSAC )是英国 的早期计算机 。1946年,英国剑桥大学 数学实验室的莫里斯·威尔克斯 教授和他的团队受冯·诺伊曼 的First Draft of a Report on the EDVAC [ 1] 的启发,以EDVAC 为蓝本,设计和建造EDSAC,1949年5月6日正式运行,是世界上第一台实际运行的存储程序式 电子计算机 [ 2] 。
项目的投资方是英国的J. Lyons & Co. Ltd.,该公司后来推出基于EDSAC设计的第一代商业 应用电子计算机LEO I 。
物理组件
EDSAC使用了约3000个真空管 ,排在12个柜架上,占地5×4米 ,功率 消耗12Kw [ 3] 。
EDSAC的内存槽5英尺长,内含32个内存位置
存储器
使用水银 延迟线作存储器 ,分布在32个槽中,每个槽5英尺长,里面包含32个内存位置,共1024个位置。 [ 4] [ 5]
建造时只实现了一半,512个字,第二组于1952年添加.[ 3]
1952年增加一个磁带 存储,但实际使用中不能良好工作。[ 6]
阴极射线管
输入 采用5路的穿孔纸带 ,使用电子纸带读入机,速度为每秒
6
2
3
{\displaystyle 6{\frac {2}{3}}}
个字符 ,1949年10月改进为每秒16字符,1950年使用光电阅读器,达到50字符每秒。 [ 3]
输出 使用电传打字机 ,速度
6
2
3
{\displaystyle 6{\frac {2}{3}}}
字符每秒,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。
如下图所示:
隐含的小数点 在最低有效位 上
隐含的小数点在符号位 后面。
寄存器
EDSAC的内部结构
EDSAC的处理器 包含5个基本寄存器 :
指令地址寄存器
顺序存储器
被乘数寄存器
乘数寄存器
累加器
EDSAC和同时代的计算机均没有变址寄存器 。[ 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光 结晶学 等方面的问题。
后续发展
EDSAC的后继机型EDSAC2 于1958年投入使用。EDSAC2引入了微程序 (microprogramme)和位片 的概念。[ 6]
参考
相关条目
外部链接
脚注
^ http://www.virtualtravelog.net/entries/2003-08-TheFirstDraft.pdf 互联网档案馆 的存檔 ,存档日期2004-04-23.
^ EDVAC是第一个设计为冯·诺伊曼结构 的电子计算机,但直到1952年该计算机才首次正式运行。
^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Martin Campbell-Kelly: Programming the EDSAC, IEEE Annals of the History of Computing, Vol 2(1), 1980.
^ 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与曼彻斯特与美国的同时期电子计算机的比较报告。)
^ Peter Robinson and Karen Sparck Jones: EDSAC 99 commemorative booklet, University of Cambridge Computer Laboratory, April 1999. 在线版本 (页面存档备份 ,存于互联网档案馆 ).
^ 6.0 6.1 Karen Sparck Jones: Brief informal history of the Computer Laboratory 在线版本 (页面存档备份 ,存于互联网档案馆 )
^ 7.0 7.1 7.2 7.3 EDSAC模拟器的文档 (页面存档备份 ,存于互联网档案馆 ) 马丁·坎贝尔-凯利编写
^ M.V. Wilkes, Memoirs of a Computer Pioneer, MIT Press, 1985.