計算機硬體歷史

早期的计算工具

人类利用工具辅助算数已有数千年的历史，例如利用重量平衡原理所发明的秤，或是账房拿方格布以简易的数据结构原理，按照高度清点钱币堆叠。
历史上算盘是人类的专门用来计算的工具，在公元前五世纪希腊的希罗多德有纪录埃及人有使用，后来其希腊字άβακας 成为拉丁文、英文的abacus。
20世纪初期，希腊人在一艘约公元前65年遇难的沉船上，找到已有两千年历史的安提凯希拉仪器，据信用途是计算天体运行周期，协助古人筹备宗教节日和提醒谷物收割。此器件由37道青铜齿轮和刻度盘组成，齿轮彼此咬合，有一组齿轮的作用甚至是模拟月球的运动方式。这项技术工艺失传后，直到1600年后人类才有能力发明出复杂度旗鼓相当的计算机械。
1614年，苏格兰数学家纳皮尔发现利用加减计算乘除的方法，依此发明对数，纳皮尔在制作第一张对数表的时候，必需进行大量的乘法运算，而一条物理线的距离或区间可表示真数，于是他设计出计算器纳皮尔的骨头协助计算。到1633年，英国牧师奥特雷德利用对数基础，发明出一种圆形计算工具比例环（Circles of Proportion），后来逐渐演变成近代熟悉的计算尺。直到口袋型计算器发明之前，有一整个世代的工程师，以及跟数学沾上边的专业人士都使用过计算尺。美国阿波罗计划里的工程师甚至利用计算尺就将人类送上了月球，其精确度达到3或4位的有效数字。
1623年，德国科学家施卡德建造出世界已知的第一部机械式计算器，成为计算机世代之父，这部机械改良自时钟的齿轮技术，能进行六位数的加减，并经由钟声输出答案，因此又称为“算数钟”，可惜后来毁于火灾，施卡德也因战祸而逝。
1642年法国数学家帕斯卡为税务所苦的税务员父亲发明了滚轮式加法器，可透过转盘进行加法运算。1673年德国数学家莱布尼茨使用阶梯式圆柱齿轮加以改良，制作出可以四则运算的步进计算器，可惜成本高昂，不受当代重视。
直到1820年之后，机械式计算器才被广为使用。法国人汤玛斯以莱布尼茨的设计为基础，率先成功量产可作四则运算的机械式计算器，后来命名为汤玛斯计算器（Thomas Arithmometer），此后机械式计算器风行草偃，直到1970年代的150年间，有十进制的加法机、康普托计算器、门罗计算器以及科塔计算器等相继面市。莱布尼茨还倡导过现代电脑的核心理论──二进制系统，不过直到1940年代（从1800年代的巴贝奇，到1946年诞生的埃尼阿克），大部分的设计连小数点都未能兼顾。

1801年：卡片时期

1725年，法国纺织工人鲁修为便于转织图样，在织布机套上穿孔纸带，他的合作伙伴则在1726年着手改良设计，将纸带换成相互串连的穿孔卡片，以此达到仅需手工进料的半自动化生产。1801年，法国人雅卡尔发明提花织布机，利用打孔卡控制织花图样，与前者不同的是，这部织布机变更连串的卡片时，无需更动机械设计，此乃可编程化机器的里程碑。
美国宪法规定每十年必须进行一次人口普查，1880年排山倒海的普查资料就花费了8年时间处理分析，因此美国统计学家赫尔曼·何乐礼在1890年开发出一种排序机，利用打孔卡储存资料，再由机器感测卡片，协助美国人口调查局对统计资料进行自动化制表，结果不出3年就完成户口普查工作。
何乐礼在1896年成立制表机器公司，几经并购，后来成为国际商业机器有限公司（IBM）的一部分。到了1950年，IBM的卡片已在业界与政府机构广泛使用，为了让卡片可作为证明文件重复使用，卡片上都印有“请勿折叠、卷曲或毁损”的警告字样，这行警语后来还成为后二次大战时期的流行标语。
直到1970年代为止，不少电脑设备仍以卡片作为处理媒介，世界各地都有科学系或工程系的大学生拿着大叠卡片到当地的电脑中心递交作业程式，一张卡片代表一行程式，然后耐心排队等著自己的程式被电脑中心的大型电脑处理、编译并执行。一旦执行完毕，就会印出附有身份识别的报表，放在电脑中心外的文件盘里。如果最后印出一大串程式语法错误之类的讯息，学生就得修改后重新再跑一次执行程序。打孔卡直到今日仍未绝迹，其特殊的尺寸（80行的长度）在世界各地仍使用在各式表格、记录和程式用途上。

1835到1900年代：程式化计算机

可编程化是通用计算机的重要定义，意即只要变更指令的储存序列，通用计算机就能模拟其它形式的计算机。
1823年，英国数学家巴贝奇在政府的支持下，开始建造以蒸汽引擎驱动的差分机，用来比较数字间的差异，经历10年未能竟功，巴贝奇遂转而研究设计得更为完整，直接利用打孔卡输入和储存资料的分析机，可惜最后巴贝奇穷其毕生精力都未能造出任一完整的差分机或分析机。
巴贝奇在1835年提到，分析机是一部一般用途的可编程化计算机，同样是以蒸汽引擎驱动，吸收提花织布机的优点，使用打孔卡输入资料，其中的重要创新是用齿轮模拟算盘的算珠。他最初的计划是打算利用打孔卡控制机器进行运算，印出高精确度的对数表（特殊用途计算机），后来才转而开发一般用途的可编程化计算机。
尽管巴贝奇的设计健全，方向正确（至少是仅需部分修正），计划仍因各种大小问题而阻扰不断。一来巴贝奇难以共事，任何人不合其意便起争端，加上他的机器全是手工打造，上千个零件只要一个零件有一点小差错，就会引起重大错误，因此需要远超寻常的制造公差。英国政府也因差分机的经验，不愿继续资助如此先进的科技，于是资金告罄后，这项计划就在与技工的吵吵闹闹中告终。
爱达·勒芙蕾丝曾经翻译意大利人所写的《分析机概论》一书，并加以注解，后来与巴贝奇发展出相当深的关系，她曾说：“分析机所织者，是代数的连续花纹”。后来爱达为分析机的打孔卡安排指令顺序，因此有人认为她是世界首位程序员，不过也有人不以为然，关于爱达的贡献在计算机科学上的重要性尚有不少争论。
伦敦科学博物馆在1991年成功重建巴贝奇的差分机，其间只做过一些无关紧要的修改，差分机依照巴贝奇的原样设计运作，证明他的理论完全正确。馆方使用电脑操作机床建造重要零件，以达到机工时期的制造公差，也有人认为当时的技术无法制造出如此精确的零件，因此这样算是作弊，巴贝奇的失败不仅仅归因政治与财政，他无止尽开发越来越复杂先进的计算机也是主因之一。今日电脑界将这种不断为产品添加功能因而延误发表日期或为后续工作造成瓶颈的行为称作“蔓延危机”。

1930到1960年代：桌上型计算器

1900年代初期，机械式计算器、收银机、记账机等都被重新设计，改用电动马达，配合变档齿轮使其更加灵活。1930年代，四则运算已经是桌上型机械计算器的基本功能，当时电脑的英文单字“Computer”指的是一群以操作数学计算器为业的“计算师”。在曼哈顿计划时期，许多精通微分方程式的女性数学家都挤在房间里当起计算师报效祖国，后来的诺贝尔奖得主物理学家费曼先生还当过计算师主管。即使是名闻遐迩的波兰数学家乌拉姆，在战后也曾被利用来求取氢弹的数学似近值。
1948年，科塔计算器面市，这款机械式计算器造型轻便小巧，大小约莫有如一个胡椒粉研磨器。之后整个1950年代到1960年代，各种品牌相继面市，争奇斗艳，好不热闹。
第一部全电子化的桌上型计算器是英国人研发的ANITA Mk.VII，以数字管和177个微型闸流管来显示数字。1963年6月，佛莱登计算机公司发表EC-130型计算器，这款计算器是全晶体管设计，配备一个5吋大的阴极射线管（CRT），可显示13位数字，采用后置波兰表示法，当时售价2200美元。EC-132型计算器则新增平方根和倒数功能。1965年，王安实验室研发LOCI-2型计算器，是一款可显示10位数字的晶体管桌上型计算器，使用数字管显示，并可执行对数运算。
最后随着集成電路（IC）和微处理器的开发，昂贵笨重的计算器后来逐渐为轻薄小巧的电子器件所取代。

前1940年代：模拟计算机

电脑在这个时代仍属稀有，人们对于问题的解决方案通常是写死在表格纸上（像是曲线图和列线图解），用来一并解决相似的问题，比如说暖气机里的温度和压力分布。
二次大战之前，当时的最高科技是机械式和电动式的模拟计算机，也被认为是前途光明的计算机趋势。模拟计算机使用连续变化的物理量，像是电势、流体压力、机械运动等，处理表示待解问题中相应量的器件。例如在1936年制作得相当精巧的水流积算器。跟现代的数字电脑比起来，模拟计算机相当不具弹性，必须手动装配（像是重新改编程序）才能处理下一个待解问题，不过早期的数字电脑能力有限，无法解决太过复杂的问题，所以当时的模拟计算机还是占有优势。直到数字电脑越来越快，拥有越来越强的记忆能力（像是RAM）之后，模拟计算机就迅速受到淘汰，程序设计从此成为人类另一项专业技能。
部分类比电脑广泛应用在军事瞄准用途，像是美军轰炸机上的诺顿轰炸机瞄准器和火力控制系统，有些器件甚至直到二战结束数十年后仍未退役，其中一个例子就是由美国海军开发的马克一号火力控制电脑，从驱逐舰到战列舰都看得到它的影子。
1930年，现代电脑之父万尼瓦尔·布希发明微分分析器，模拟计算机科技至此达到顶峰，大部分的零件都已经被制造出来，终于，宾夕法尼亚大学的摩尔电机工程研究所打造出最具影响力的数字电子计算机──电子数值积分计算器（埃尼阿克）。埃尼阿克的诞生终结了大部分模拟计算机的生路，不过从1950年代到1960年代，由数字电子学控制的混合型模拟计算机依然活跃，之后模拟计算机就应用在部分专业用途上。

早期的数字电脑

1930年代后期到1940年代，受到二次大战影响，此一时期被认为是计算机发展史中的混乱时期，战争开启了现代电脑的时代，电子电路、继电器、电容及真空管相继登场，取代机械器件，就连类比计算器也被数字计算器所代替。阿塔那索夫贝理电脑（ABC）、Z3电脑、巨像电脑和埃尼阿克也在手工精心打造下诞生，使用包含继电器或真空管的电路，以打孔卡或打孔带作为输入和主要（非短期）储存媒介。
在这个时期，功能各异的电脑陆续生产，稳定发展。刚开始的时候，没人能想像现代电脑的存在，除了为世人遗忘的巴贝奇计划和艾伦·图灵的数学理论。到了这个时代的后期，电子离散顺序自动计算机登场，成为第一部可储存程式的数字电脑。此一期间的电脑系统，暂存内存使用延迟线存储器迅速崛起，直到1970年代中期，几乎取代其它形式成为最主要的暂存内存。
1936年，图灵发表的研究报告对计算机和计算机科学领域造成巨大冲击，这篇报告主要是为了证明循环处理程式的死角，亦即停机问题的存在。图灵也以算法概念为通用计算机（纯理论器件）作出定义，后来称为图灵机，取代哥德尔渐趋累赘的通用语言。除了内存限制，现代电脑已经具备图灵完全的条件，也就是说，现代电脑的算法执行力已与通用图灵机相当。内存限制有时也被视为一般用途电脑与特殊用途电脑的差别。
一部计算机要实际成为一般用途的电脑，就必须要有像是打孔带之类便于使用的读写器件，而为了要达到多功能多用途，冯·诺伊曼结构下的内存可一并储存程式和资料，当时的电脑差不多都是使用这种架构。理论上这种架构可以应用在全机械的计算机上（像巴贝奇的设计），加上电子学，使得现代电脑的特征──执行速度加快和微型化成为可能。
二次大战时期的电脑发展分为三道平行方向，其中有两方不是被大为忽略，就是被慎重的隐瞒起来，一个是德国科学家楚泽的作品，再则是英国秘密开发的巨像电脑，两者对美国的各项计算机计划都没有太多影响。战后英美计算机科学家在一些将计算机器件实用化方面则有着重要的合作经验。

楚泽Z系列

1936年，在德国独力研发的楚泽，开始打造以记忆能力和可编程化为特色的Z系列计算器。1938年，楚泽在柏林父亲的公寓中完成Z1电脑，完全机械制造，使用二进位制，但是由于部分零件精确度的问题，运作并不稳定。
楚泽后续机种Z3电脑完成于1941年，使用打孔胶卷作为输入程式的媒介，以电话型继电器为基础，运作顺利，因此成为首部可编程控制的功能性电脑。Z3电脑在许多方面都跟现代电脑相当类似，比如说使用了浮点数，是多项先进功能中的先锋。楚泽扬弃不好用的十进位制（巴贝奇早期设计皆使用十进位制）取简单的二进位制，以当时的科技工艺来说，此举使得他的机种易于制造，较为可靠，也有人认为这是楚泽比巴贝奇成功的主要原因之一。Z3电脑虽然被人忽略，不过已在1990年代证实合乎通用电脑定义（忽略其物理储存容量限制）。
楚泽在1936年提出两项发明专利，并且预言记忆储存器件将可同时储存电脑指令和资料，这项远见后来发展出冯·诺伊曼结构，1949年为英国EDSAC电脑所应用。楚泽也主张第一款电脑高阶编程语言是他所设计（Plankalkül，1945年完成，1948年发表），虽然这款编程语言直到2000年才在柏林自由大学首度成功执行──当时楚泽已经过世5年。
二次大战时期，楚泽的部分发明遭到盟军轰炸，摧毁殆尽。直到很久以后，英美工程师对他的发明仍有大片未知，IBM认识到这点，因此资助楚泽在战后成立的公司，作为使用楚泽专利的交换。

巨像电脑

二次大战期间，英国在布莱切利园成功破解了部分德国军事通讯密码，在电机设计的炸弹机协助下，德军的恩尼格玛密码机大受威胁，炸弹机是艾伦·图灵与高登·威奇曼仿造1938年的波兰解密机炸弹机所设计，运用一连串的电子逻辑演绎器件找出可能是恩尼格玛密码机的密码。
德国还发展出一系列与恩尼格玛密码机全然不同的电传打字机加密系统，像是用于高阶军事通讯的劳伦兹密码机，英军代号为“金枪鱼”。1941年，劳伦兹密码机的密码首度遭到拦截，麦斯·纽曼教授及其同僚作为破解“金枪鱼”团队的一分子，负责详细指挥巨像电脑的操作方法。巨像电脑“马克一号”机是1943年的3月到12月之间，由汤米·佛劳斯其同僚建造于伦敦多利士山的邮政研究局。
巨像电脑是第一部全然电子化的电脑器件，使用了数量庞大的真空管，以纸带作为输入器件，能够执行各种布尔逻辑的运算，但仍未具备图灵完全的标准。巨像电脑建造到第9部“马克二号”，但是其实体器件、设计图样和操作方法，直到1970年代都还是一个谜。后来温斯顿·丘吉尔亲自下达一项销毁命令，将巨像电脑全都拆解成巴掌大小的废铁，巨像电脑才因此在许多计算机历史里都未留下一纸纪录。英国布莱切利园目前展有巨像电脑的重建机种。

美国的发展

1937年，美国数学家兼工程师克劳德·香农在麻省理工学院发表他的硕士论文，是史上首度将布尔代数应用在电子继电器和电闸上的人。论文题为《中继和交换电路的符号分析》（A Symbolic Analysis of Relay and Switching Circuits），是数字电路设计的实践基础。
1937年11月，在贝尔实验室工作的乔治·史提比兹在他家厨房组装出一部以继电器表示二进位制的电脑“K模型机”。贝尔实验室后来在1938年通过史提比兹提出的所有研究计划，1940年1月8日，复数计算器完工。1940年9月11日，在达特茅斯学院召开的美国数学学会会议上，作为示范，史提比兹透过电话线向复数计算器传送远端指令，这是电脑远端遥控的首度实例。参与会议的目击者包括约翰·冯·诺伊曼、约翰·莫克利和诺伯特·维纳都在回忆录里提过这件事。
1939年，爱荷华州立大学的约翰·阿塔纳索夫和克里夫·贝理开发出阿塔纳索夫-贝瑞计算机（ABC），为一特殊用途的电子计算机，用以解决一次方程的问题。ABC使用超过300个真空管提高运算速度，以固定在机械旋转磁鼓上的电容器作为记忆器件，虽然不可编程化，但是采用二进位制和电子线路等各方面，都使其成为第一部现代电脑的先驱。
1941年6月，埃尼阿克发明人之一约翰·莫克利短暂拜访了阿塔纳索夫，参观过建造期间的ABC，之后是否对埃尼阿克的设计产生影响，计算机史学家曾进行过广泛的讨论。ABC诞生后一度汲汲无名，直到一件对上埃尼阿克的专利诉讼汉威对史派瑞案才浮上台面，多次庭辩后，在许多复杂的因素下，埃尼阿克原有的专利保护遭到取消，电子计算机的发明被归功于爱荷华州立大学。
1939年，马克一号在IBM安迪卡特（Endicott）实验室起手开发，其正式名称为自动化循序控制计算器（ASCC），
是为一般用途的电动机械计算机，由哈佛大学数学家霍华·艾肯总筹指挥，IBM赞助人力资金。马克一号参考巴贝奇分析机，使用十进位制、转轮式储存器、旋转式开关以及电磁继电器，由数个计算单元平行控制，经由打孔纸带进行程式化（改良后改由纸带读取器控制，并可依条件切换读取器）。虽然马克一号被认为是第一部通用计算机，但其实并没达到图灵完全的条件。马克一号后来移至哈佛大学，于1944年5月开机启用。

埃尼阿克

美国制造的埃尼阿克（全名为电子数值积分计算器）一般被认为是世上第一部一般用途的电子计算机，公认是有效利用电子学的大型电脑。埃尼阿克是现代计算机发展史上重要的里程碑，由约翰·莫克利和约翰·伊克特指导建造，起初它以运算速度震惊世人，表现超越同期设计千倍之谱，后来更以微型化潜力留名千古。
埃尼阿克的发展建造，始于1943年，1945年完工。设计刚发表时，不少研究人员认为这上千件脆弱的零件（像是真空管）会承受不住压力损毁殆尽，导致埃尼阿克整天下线修整，一无事处。这也的确，但是每秒数千次的运算速度，只要零件故障前能跑上几个钟头也算值回票价了。埃尼阿克是符合图灵完全的器件，“程式”对埃尼阿克来说，是一段电子程式储存器到主机的距离，之间是由电缆和开关拼凑连接出来的运作状态，不过在当时，光是能够独立运算这点，就已被认为是一大胜利。
约翰·冯·诺伊曼写过一篇广为流传的文章《EDVAC独家报告》（First Draft of a Report on the EDVAC），内容描述EDVAC将程式和计算中的资料，设计储存在同一内存内，于是莫克利和艾克特认知到埃尼阿克的局限后，便又着手进行改良。冯·诺伊曼的这项设计后来被称为冯·诺伊曼架构，成为发展第一部真正具有运作弹性、一般用途数字电脑的设计基础。

首代冯·诺伊曼结构及其机种

第一部成功运作的冯·诺伊曼结构电脑是1948年曼彻斯特大学的小规模实验机，又称“宝贝”。随后在1949年，曼切斯特1型电脑登场，功能完整，以威廉管和磁鼓作为内存媒介，并且引进变址寄存器的功能。
竞逐“第一部数字储存程式电脑”名号的还有在剑桥大学设计建造的延迟存储电子自动计算器（简称EDSAC），EDSAC比曼彻斯特的“宝贝”年轻一个年头，但是解决问题的能力不遑多让，然而实际上，启发EDSAC的就是埃尼阿克的继任者──离散变数自动电子计算机（简称EDVAC）。不像平行处理的埃尼阿克，EDVAC只使用单一的处理单元，此一设计简单好用，走在后来微型化趋势的前端，还增加了可靠的程度。近代电脑结构多取经自曼彻斯特马克一号、EDSAC和EDVAC，有些人也将其视为电脑界的“夏娃”。
欧洲大陆第一部通用型可编程化电脑是小型电子计算机（简称МЭСМ），由苏联基辅电机学会的瑟吉·亚历塞维奇·列别捷夫带领一组科学家团队所建造，МЭСМ在1950年开始运作，使用6000根真空管，25千瓦的电力，每秒可作3000次运算。其它早期电脑还有澳洲设计的科学与工业研究议会自动计算机（简称CSIRAC），在1949年作首次程式测试。
1947年，一家以饮料起家的英国餐饮公司约瑟·里昂公司，对新式的办公室管理技术产生莫大的兴趣，决定积极参与电脑的商业开发。到了1951年，里昂一号电脑起跑，执行了世上第一个办公室电脑的例行指令。
1951年6月，通用自动计算机（简称UNIVAC I）送抵美国人口调查局，这部电脑由雷明顿兰德公司制造，却常被误认为是“IBM的UNIVAC”。雷明顿兰德公司后来以每台百万美金以上的售价，卖出46部。UNIVAC是第一部量产的电脑，使用5200根真空管，125千瓦电力，所使用的水银延迟线存储器能储存11个正十位数字组1000个（72位元字组），UNIVAC不像IBM的电脑，配备有打孔卡读卡机，1930年代风行的金属磁带（即UNISERVO）导入后，结果与有些商用资料储存器件并不相容。那个年代，其它电脑都用高速的打孔带和现代的磁带作为输出输入设备。
1951年11月，约瑟·里昂公司开始每周定期在里昂一号上，运作一支糕饼评估程式，这是第一支在程式储存电脑上的商业应用程序。
1952年，IBM公开IBM 701电子资料处理器，是IBM 700/7000型系列的前锋，也是IBM的第一部大型电脑。1954年推出IBM 704，所使用的磁芯内存后来成为大型电脑的标准配备。第一套可执行的一般用途高阶编程语言FORTRAN也是在1955年到1956年间，IBM为IBM 704所开发的，并在1957年初发表。
1954年，IBM推出一款电脑体积较小，价格和善，后来广受欢迎。这款IBM 650重达900公斤，附属的电力供应器件也有1350公斤左右，两者各安置在与人等高的橱柜里。这款电脑要价50万美金，或可以每月$3500块美金的代价出租。原本其磁鼓内存只能保存2000个十位数字组，还需要晦涩难明的编程程序才能有效运作，诸如此类的内存限制在之后的十年间主宰了编程程序，直到编程模组一番革命性的改变后，软件开发才有了较人性化的转变。
1955年，莫里斯·威尔克斯发明微程式设计，将基础指令的程式内建，方便定义或延伸的工作，广泛运用在大型计算机（和其它诸如IBM 360系列的电脑）的中央处理器和浮点运算单元上。1956年，IBM首部磁盘储存器件统计控制随机存取法（简称RAMAC）面市，使用50面24英寸的金属磁盘，每面100道磁道，总容量5MB，平均每MB需花费1万美金。

1960年代后：第三波

第三波电脑世代来临，电脑使用度爆炸性的成长，这些全仰赖杰克·基尔比和罗伯特·诺伊斯的独立发明集成电路（或微芯片），引领英特尔的马辛·霍夫和Federico Faggin佛德里克·法金发明微处理器。在1960年代，大量的电脑技术和过去的第二波电脑世代重叠，直到1975年后期，第二波电脑世代的机器仍在持续量产，像是UNIVAC 494。
微处理器的诞生连带刺激微电脑的发展，轻便小巧，物廉价美的电脑成为个人及小公司唾手可得的工具，微电脑在1970年代初登场，到了1980年代后就已经成为家家户户都可看到的产品了。第一款流行的个人电脑据信是出自苹果电脑公司的创办人之一斯蒂夫·沃茲尼亞克，不过他的第一部电脑Apple I出现得比KIM-1和Altair 8800晚，第一部具有图形音效能力的苹果电脑也晚于Commodore PET。电脑逐渐成为微电脑架构的天下，再加上来自大型电脑的特色后，现如今已主宰大部分的电脑市场。