Loading AI tools
来自维基百科,自由的百科全书
电子延迟存储自动计算器(英文: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]。
使用水银延迟线作存储器,分布在32个槽中,每个槽5英尺长,里面包含32个内存位置,共1024个位置。 [4][5]
建造时只实现了一半,512个字,第二组于1952年添加.[3] 1952年增加一个磁带存储,但实际使用中不能良好工作。[6]
输入采用5路的穿孔纸带,使用电子纸带读入机,速度为每秒个字符,1949年10月改进为每秒16字符,1950年使用光电阅读器,达到50字符每秒。 [3]
输出使用电传打字机,速度字符每秒,1951年添加一个16字符每秒的纸带打孔机 [3]
另外,EDSAC可以外接阴极射线管(CRT),可以用来观察寄存器的值。
EDSAC的原始设计基于EDVAC,概念上是一台十分简单的机器,这是它的一个良好特征,与1960-1970年代的RISC体系很相似。[7]
包含5部分:运算器(ALU)、控制器、存储器、输入和输出。运算器和控制器现在一般合称CPU。
共1024字(word),每字18位(bit)。但一般只能使用17bit,第一个bit由于电路的建立时间(set-up time)而不能使用。
存放指令时,包含如下结构:
5 | 1 | 10 | 1 | ||
指令代码 | 保留 | 内存地址 | 长度 | ||
指令格式 |
存放数据时,EDSAC采用二进制补码,可表示正负整数和正负真分数。 单字17bit,其中第一个bit用于符号位;双字35bit,此时,第二个字可用满18bit。
如下图所示:
16 | |||||
a.短整数 |
16 | 17 | ||||
b.长整数 |
16 | |||||
c.短分数 |
16 | 17 | ||||
d.长分数 |
表示符号位 | 表示中间位 |
EDSAC和同时代的计算机均没有变址寄存器。[7]
平均每条指令运行时间1.5ms,乘法4.5ms,软件除法大约需要200ms。[3]
操作系统,或者称之为初始化指令,使用了31条指令,存放在机械结构的只读存储器中。这些指令将纸带上的程序读入内存,然后运行。
第二个版本在1949年8月安装,占用了41条指令,使得子程序的重定位和协作变得简单易用(D.J. Wheeler的重要发明)。[3]
1949年5月6日,第一个在EDSAC程序是打印0-99的平方表。
EDSAC的非凡的特征是提供了大量的子程序。到1951年,EDSAC含有87个子程序,涵盖:
EDSAC早期应用集中在解决气象学、遗传学和X光结晶学等方面的问题。
EDSAC的后继机型EDSAC2于1958年投入使用。EDSAC2引入了微程序(microprogramme)和位片的概念。[6]