计算机组织与结构是计算机科学中的基础概念,它们涉及到硬件如何设计和实现,以及这些硬件如何影响软件的执行效率。在Ch_2 Computer Evolution and Performance中,我们深入探讨了计算机的发展历程和性能指标,主要参考了William Stallings的《计算机组织与架构》第七版。
ENIAC,即电子数值积分器和计算机,是世界上第一台电子计算机,由Eckert和Mauchly在1943年于宾夕法尼亚大学开发,尽管在1946年完成时已错过了二战,但它一直使用到1955年。ENIAC使用十进制而非二进制,包含20个可累加的10位数字存储器,程序通过手动开关设置。它拥有18,000个真空管,重量达30吨,占用面积15,000平方英尺,功率消耗140千瓦,每秒可执行5,000次加法运算。
John von Neumann和Alan Turing的贡献在于提出了“存储程序”概念,这是现代计算机的基础。在此概念下,程序和数据都存储在主内存中,算术逻辑单元(ALU)处理二进制数据,控制单元解释内存中的指令并执行,输入/输出设备由控制单元操作。这一理念在普林斯顿高级研究所的IAS机器中得到了体现,它于1952年完成。IAS具有1000个40位字,包括二进制数字和双20位指令,以及一系列寄存器,如内存缓冲寄存器、内存地址寄存器、指令寄存器、指令缓冲寄存器、程序计数器、累加器和乘法商寄存器。
商业计算机的出现紧随其后,Eckert-Mauchly计算机公司在1947年成立,UNIVAC I作为第一台通用自动计算机,用于1950年美国人口普查的计算,后来并入斯佩里-兰德公司。1950年代晚期的UNIVAC II在速度和内存上有所提升。IBM,以其打孔卡处理设备著称,于1953年推出了第一台存储程序计算机701,专注于科学计算,并在1955年推出702,面向商业应用,最终发展出700/7000系列。
20世纪50年代,晶体管的发明彻底改变了计算机领域。相比于真空管,晶体管更小、更便宜,发热量更小,是一种固态设备,由硅制成。贝尔实验室的William Shockley等人在1947年发明了晶体管。这导致了第二代计算机的诞生,如NCR和RCA的小型晶体管机器,以及IBM 7000系列。DEC在1957年生产了PDP-1,进一步推动了微电子技术的发展,即“小型电子”,这使得构建由门电路、存储单元和互连网络组成的计算机成为可能。
这些历史性的进展为现代计算机架构奠定了基础,从早期的庞大机器到现在的微型便携设备,计算机性能不断提高,功耗降低,同时也催生了各种编程语言、操作系统和应用软件的繁荣,形成了我们现在所知的信息化社会。理解计算机的组织和结构,对于理解和优化计算机系统的性能至关重要。