计算机发展历程
什么是计算机系统
计算机系统由硬件和软件组成。
软件:
- 系统软件 -- 用来管理整个计算机系统的核心程序,包括操作系统(如Windows、Linux)、数据库管理系统(DBMS)、标准程序库、网络软件、语言处理程序等。这些软件提供了计算机运行的基础环境和功能支持。
- 应用软件 -- 专门用于完成特定任务的程序,例如QQ、微信、GitHub、Photoshop等。这些软件根据用户需求开发,通常具有图形用户界面和多种功能。
软件的作用:
- 管理和协调硬件资源:系统软件通过操作系统管理硬件资源,确保多个应用程序可以并发运行,同时进行内存、处理器等资源的合理分配。
- 提供平台和服务:系统软件为应用软件提供了一个稳定的运行环境,同时为开发者提供了开发工具和接口。
- 提高工作效率:应用软件使用户能够以更高的效率完成各种复杂的任务,如文字处理、数据分析、设计等。
硬件的发展
第一台计算机由于第二次世界大战中美国对计算武器指标的需求而被发明。
第一台**电子数字**计算机是ENIAC(1946年),由冯诺伊曼主导开发。
- 占地面积:约170平方米
- 耗电量:150千瓦
- 运算速度:5000次加法/秒
- 逻辑元件:电子管
- 编程语言:机器语言
Bug的由来:在早期的计算机中,使用纸带作为存储单元,当虫子死在纸带上时,会影响程序的运行。这个事件引申出“bug”一词,成为程序错误的代名词。
硬件发展的四个阶段:
发展阶段 | 时间 | 逻辑元件 | 速度(次/秒) | 内存 | 外存 | 主要编程语言 | 特别事物 |
---|---|---|---|---|---|---|---|
第一代 | 1946-1957 | 电子管 | 几千 - 几万 | 延迟线, 磁鼓 | 穿孔卡片, 纸带 | 机器语言 | ENIAC计算机,二进制系统,使用了穿孔卡片进行输入输出 |
第二代 | 1958-1964 | 晶体管 | 几万 - 几十万 | 磁芯存储器 | 磁带 | 汇编语言, Fortran | IBM 7090, 计算机体积减小,可靠性提高 |
第三代 | 1964-1971 | 中小规模集成电路 | 几十万 - 几百万 | 半导体存储器 | 磁带, 磁盘 | C语言, COBOL | UNIX操作系统诞生,出现了多用户系统 |
第四代 | 1972-现在 | 大规模, 超大规模集成电路 | 上千万 - 万亿 | 半导体存储器 | 磁盘, 磁带, 光盘, 半导体存储器 | C++, Java | 个人计算机(PC)普及,互联网兴起,智能设备和移动计算的出现 |
重要事件和人物:
- 1947年:贝尔实验室发明了“晶体管”,这是半导体技术的重要突破。
- 1955年:肖克利在硅谷创建肖克利实验室股份有限公司,推动了半导体技术的发展。
- 1957年:八叛徒(traitorous eight)离开肖克利实验室,创立仙童半导体公司,奠定了硅谷技术产业的基础。
- 1959年:仙童半导体公司发明了“集成电路”,为现代电子设备的开发铺平了道路。
- 1968年:摩尔等人离开仙童,创立Intel公司,后来成为全球最大的半导体制造商之一。
- 1969年:仙童销售部负责人桑德斯离开仙童,创立AMD,成为Intel的重要竞争者。
摩尔定律:
摩尔定律由戈登·摩尔提出,描述了集成电路上可容纳的晶体管数目约每隔18个月翻一番,这也意味着计算机的性能和处理能力会以相同的速率提高。这一定律在过去几十年中推动了计算机技术的快速进步。
软件的发展
编程语言的演进:
- 机器语言:最早期的编程方式,直接操作硬件。每条指令由二进制代码表示,效率极高但难以编写和理解。
- 汇编语言:更加抽象,使用助记符表示指令,更易于编写和维护,但仍需与硬件紧密联系。
- 高级语言:如FORTRAN、PASCAL、C++、Java等,提供更高层次的抽象,易于学习和使用,大大提高了开发效率。
图形化操作系统的发展:
- DOS:早期的操作系统,基于命令行接口(CLI),用户需输入命令来操作计算机。
- Windows:微软开发的图形化操作系统(GUI),通过图标和窗口界面,使计算机操作更加直观和便捷。
- iOS和Android:分别由苹果和谷歌开发,主导了现代智能手机和平板电脑的操作系统市场,推动了移动计算的普及。
软件发展的两极分化:
- 微型计算机:
- 特点:微型化、网络化、高性能、多用途。
- 应用:个人计算机(PC)、智能手机、平板电脑等,普及至日常生活中的各个方面。
- 趋势:向着更高的集成度、更低的功耗和更强的人工智能功能发展。
- 巨型计算机:
- 特点:巨型化、超高速、并行处理、智能化。
- 应用:用于科学计算、大数据处理、天气预报、核模拟等需要极高计算能力的领域。
- 趋势:向着量子计算、神经网络等新兴计算模式发展,以满足更高的计算需求。
目前的发展趋势
计算机领域发展呈现出明显的两极分化趋势:
-
微型计算机:
- 微型化:设备体积不断缩小,性能却不断提升,便携性更强。
- 网络化:物联网(IoT)设备迅速增加,各种设备通过互联网实现互联互通。
- 高性能:移动设备性能接近桌面计算机,能够处理复杂的任务,如游戏、视频编辑等。
- 多用途:智能手机、平板电脑等设备在通信、娱乐、办公、教育等领域得到广泛应用。
-
巨型计算机:
- 巨型化:超级计算机规模不断扩大,处理能力以指数级增长,现已能处理每秒数千万亿次运算。
- 超高速:引入更高的处理速度,支持实时大规模数据分析和处理。
- 并行处理:通过并行处理技术,巨型计算机可以同时处理大量任务,大幅提高效率。
- 智能化:随着人工智能技术的发展,巨型计算机在机器学习、深度学习等领域的应用越来越广泛,推动了各行业的技术进步。
未来展望:
- 量子计算:量子计算机的研发有望突破传统计算机的速度和处理能力极限,解决目前超级计算机难以处理的问题。
- 人工智能:AI技术将进一步融入计算机系统,实现更智能的交互和自动化,改变各行各业的工作方式。
- 5G与边缘计算:5G网络的普及将使计算资源更加分散,边缘计算将带来更低的延迟和更高的可靠性,推动物联网和实时应用的发展。
计算机硬件的基本组成
早期冯诺依曼机结构
- 存储程序:
- 解决ENIAC需要手动接线控制计算机,而提出将程序存储的方式,加快程序的运行效率。
程序存储
的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按照其在存储器中首地址执行程序的第一条指令,以后就按照该程序的规则执行其他指令,直至程序结束。
- 冯诺依曼机运行流程

冯诺依曼计算机以计算为中心
数据线讲解:
- 数据/程序通过输入设备将信息转换成机器能识别的形式。
- 输入设备将机器能识别的信号,通过数据线传输给运算器。
- 运算器依照控制器解析存储器的指令来将数据进行逻辑运算和算数运算
- 最终运算器将计算机的结果传输给输出设备
算数运算:+-*/
逻辑运算:&|~
- 冯诺依曼机特点
- 计算机由五大部件组成
- 运算器:负责进行算术运算和逻辑运算的功能部件。
- 控制器:负责指挥和控制计算机各个部件协调工作的功能部件,解码和执行指令。
- 存储器:用于存储数据和程序的部件,既可以存储当前正在执行的程序指令,也可以存储需要操作的数据。
- 输入设备:用于将外部信息(如数据或指令)输入到计算机的设备。
- 输出设备:将计算机处理后的结果输出,以供人们理解和使用的设备。
- 指令和数据以同等地位存储于存储器,可按地址寻址
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以计算为中心
- 输入/输出设备与存储器之间的数据传输通过运算器完成
现代计算机结构

现代计算机:以存储为中心
CPU = 运算器 + 控制器

主存:内存
辅存:外存(硬盘)