Homework 1 #
计算机的发展历史 #
模拟计算机时代 #
机械模拟计算机 #
早期 #
-
利用一系列的物理过程,直接或间接地对一类特定问题进行求解:
- 日晷(BC 3500):利用物体在阳光下的阴影位置指示时间变化。
- 指南车(BC 1000):利用连接车轮的差速机械结构,当车辆转弯时两侧车轮角速度不相等,差动机构输出这个差值,驱动指示机构。其本质是一类机械加法器。
- 安提基特拉机械(BC 100):被认为是目前所知最古老的复杂科学计算机。普遍认为它有超过30个齿轮组成,当借由一个曲柄输入一个日期时,该机械就可算出日月或行星等其他天体位置。该机械是以地球表面观测天球者为参考座标,基于地心说建立。其复杂的差速齿轮拟合了对星球运转的角速度和位置信息的运算。
这一时期的机械模拟计算机只限定于对特定内容的模拟求解,特点是输入和输出都是连续的。
中期 #
-
从模拟特定的物理过程,转向对数字内容的运算:
- 算盘(具体发明年代有争议):存在一四珠、一五珠,二五珠等制式。本质是基于十进制计数,利用算珠叠加的方式进行对数字的运算与存储显示。
- 计算尺(1622):利用两个对数标度来作乘法除法。本质是利用了
- 除了对数刻度,有些算尺还有其他数学函数刻录在辅助刻度上。
离散化数据处理的特征开始显现。
后期 #
-
基于机械结构进行更加复杂的计算
- 分析机(巴贝奇于1830s始造,未完工):基于机械差分机,在概念中由蒸汽机驱动,大约有30米长、10米宽。它的输入由程序和数据组成,并使用打孔卡输入,通过一台打印机、一个弯曲的绘图仪和一个铃铛输出。分析机采取普通的十进制定点计数法。现代认为分析机很可能是图灵完备的。
- 微分模拟器(Differential analyzer,1872):使用轮盘机构进行积分,由开尔文勋爵完善实现,最初用于预测潮汐。基于其轮盘结构的积分/微分仪一直沿用至近现代。
- 诺登轰炸瞄准器(1930s):整个项目前后花费了约15亿美元,其内置的机械计算机能够在给定参数的情况下,计算地速等参数,并自动接管飞机飞行投弹操作。二战时B-29轰炸机投放原子弹时使用的火控瞄准系统沿用了这一技术。
基于齿轮结构的机械计算机基本奠定了数字电子计算机时代前计算机的发展方向(手摇式计算机)。
随着微积分和近代物理的发展,利用机械结构速度-位移等物理量变化进行专门微分/积分运算的机械模拟计算机得以出现,并在很长一段时间内发挥作用。但是模拟方法天生在精度不足和误差累积上的问题难以克服。
电子模拟计算机 #
线性机械部件(如弹簧和缓冲器(粘滞流体阻尼器))和电气部件(如电容器,电感器和电阻器)之间的相似性使得它们可以使用相同形式的方程来建模。电气等效物可以由一些运算放大器和一些无源线性元件构成。且,电子电路通常可以在比正在模拟的系统更高的频率下工作。 这使得模拟运行速度比实时更快。
模拟计算机使用电子的,机械的或液压的量等物理现象的不断变化的方面来模拟所要解决的问题。由于模拟计算机不使用离散值,而是使用连续值,所以过程不能像精确等同那样可靠地重复进行。模拟计算机不受量化噪声的影响,但受模拟噪声的限制。 模拟计算机广泛用于过去数字计算机缺乏足够性能的科学和工业应用中,直至被逐渐淘汰。
数字电子计算机时代 #
基础路线:
-
1936年图灵提出了图灵机;
-
1937年,香农发表了《对继电器和开关电路中的符号分析》,文中首次提及数字电子技术的应用。他向人们展示了如何使用开关来实现逻辑和数学运算。此后,他通过研究万尼瓦尔·布什的微分模拟器进一步巩固了他的想法。这是一个标志着二进制电子电路设计和逻辑门应用开始的重要时刻;
-
1941年夏天诞生的阿塔纳索夫-贝瑞(Atanasoff–Berry Computer,通常简称ABC电脑)是世界上第一部电子计算机,它使用了真空管计算器,二进制数值,可复用内存。不可编程,仅仅设计用于求解线性方程组。
-
1945年,冯·诺依曼由于在曼哈顿工程中需要大量的运算,从而使用了当时最先进的两台电脑Mark I和ENIAC,在使用Mark I和ENIAC的过程中,他意识到了存储程序的重要性,从而提出了存储程序逻辑架构。
各代计算机 #
以下从数字电子计算机开始,作为第一代列举。第零代模拟计算机上文已经有所涉及,故略去。
代次 | 代表型号 | 特点 |
第一代(真空管,1945-1953) | 可编程:Colossus, ENIAC, Manchester Baby, EDSAC, Manchester Mark 1, Ferranti Pegasus, Ferranti Mercury, CSIRAC, EDVAC, UNIVAC I, IBM 701, IBM 702, IBM 650, Z22 不可编程:Atanasoff–Berry Computer, IBM 604, UNIVAC 60, UNIVAC 120 |
促进军事和科学研究,为电子计算机的发展奠定基础。缺点是体积大、功耗高、可靠性差。速度相比后世计算机慢(每秒万次以内)。 |
第二代(分立式晶体管,1954-1965) | 大型主机:IBM 7090, IBM 7080, IBM System/360 | 相比前一代,体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数10万次,可高达300万次),性能提高显著。并开始进入工业领域。缺点是通用化、标准化不足,系统复杂。 |
第三代(SSI,MSI,LSI集成电路,1965-1980) | 小型计算机:HP 2116A, IBM System/32, IBM System/36, LINC, PDP-8, PDP-11 桌面电脑:HP 9100 |
集成电路促进了计算机小型化,同时速度更快(一般为每秒数百万次至数千万次)。而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化。应用领域开始进入文字处理和图形图像处理领域。缺点是此时操作系统和软件生态尚未充分发展。 |
第四代(超大规模集成电路,1980-今) | 以下是处理器或指令集架构型号: 小型计算机:VAX, IBM AS/400 4-bit 小型计算机:Intel 4004, Intel 4040 8-bit 小型计算机:Intel 8008, Intel 8080, Motorola 6800, Motorola 6809, MOS Technology 6502, Zilog Z80 16-bit 小型计算机:Intel 8088, Zilog Z8000, WDC 65816/65802 32-bit 小型计算机:Intel 80386, Pentium, Motorola 68000, ARM 64-bit 小型计算机:Alpha, MIPS, PA-RISC, PowerPC, SPARC, x86-64, ARMv8-A 嵌入式:Intel 8048, Intel 8051 |
半导体芯片的集成度进入新的阶段,芯片晶体管数量级跃升百万以上,形成了微处理器设计,并且可以用微处理器和大规模、超大规模集成电路组装成微型计算。其运算性能再次攀升,计算机也开始进入个人消费市场,信息化与智能化改变社会的步伐加速。另一方面,利用大规模、超大规模集成电路可制成超级计算机。同时,硬件的发展也大大助推了软件设计的长足进步。 |
理论/实验阶段 | 量子计算机:IBM Q System One,九章量子计算机 化学计算机 DNA计算 光学计算机 基于自旋电子学的计算机方案 湿件(生物神经)计算机 |
探寻其它发展方向,谋求对传统计算机架构的瓶颈突破。缺点是目前这些计算机都不能实现通用计算机的功能。 |