1.1 计算机发展历程

计算机的发展阶段

计算机的发展可以按照所使用的电子器件分为五代:

第一代:电子管计算机(1946-1957)

主要特点

  • 逻辑元件:电子管
  • 存储器:磁鼓、磁芯
  • 软件:机器语言、汇编语言
  • 应用:科学计算

代表机型:ENIAC(世界上第一台电子计算机,1946年)

缺点

  • 体积大、功耗高、可靠性差
  • 运算速度慢(每秒几千次到几万次)
  • 价格昂贵

第二代:晶体管计算机(1958-1964)

主要特点

  • 逻辑元件:晶体管
  • 存储器:磁芯
  • 软件:高级语言(FORTRAN、COBOL)、操作系统
  • 应用:科学计算、数据处理

改进

  • 体积减小、功耗降低、可靠性提高
  • 运算速度提高(每秒几十万次)

第三代:集成电路计算机(1965-1970)

主要特点

  • 逻辑元件:中小规模集成电路(SSI、MSI)
  • 存储器:半导体存储器
  • 软件:操作系统、高级语言
  • 应用:科学计算、数据处理、过程控制

改进

  • 体积进一步减小
  • 运算速度大幅提高(每秒几百万次)
  • 可靠性显著提高

第四代:大规模集成电路计算机(1971-至今)

主要特点

  • 逻辑元件:大规模集成电路(LSI)、超大规模集成电路(VLSI)
  • 存储器:半导体存储器
  • 软件:数据库、网络、人工智能
  • 应用:各个领域

代表

  • 1971年:Intel 4004(第一个微处理器)
  • 1981年:IBM PC(个人计算机)

特点

  • 微型化、价格低廉
  • 运算速度极快(每秒几亿次到几万亿次)
  • 应用广泛

第五代:人工智能计算机(研究中)

目标

  • 具有推理、联想、学习功能
  • 能够理解自然语言、图像、声音
  • 具有智能

计算机的分类

1. 按用途分类

通用计算机

适用于各种应用领域,如个人计算机、服务器。

专用计算机

为特定目的设计,如工业控制计算机、嵌入式系统。

2. 按性能分类

  • 超级计算机:运算速度最快,用于科学计算
  • 大型计算机:处理能力强,用于大型企业
  • 小型计算机:中等处理能力
  • 微型计算机:个人计算机、工作站
  • 嵌入式计算机:嵌入到其他设备中

计算机的性能指标

1. 机器字长

计算机一次能处理的二进制数据的位数。

常见字长:8位、16位、32位、64位

影响
字长越长,计算精度越高,处理能力越强。

2. 存储容量

存储器能存储信息的总字节数。

存储容量=存储单元个数×存储字长存储容量 = 存储单元个数 \times 存储字长

单位:

  • 1 KB = 2102^{10} B = 1024 B
  • 1 MB = 2202^{20} B
  • 1 GB = 2302^{30} B
  • 1 TB = 2402^{40} B

3. 运算速度

MIPS(Million Instructions Per Second)

每秒执行百万条指令数。

MIPS=指令条数执行时间×106MIPS = \frac{指令条数}{执行时间 \times 10^6}

MFLOPS(Million Floating-point Operations Per Second)

每秒执行百万次浮点运算数。

CPI(Cycles Per Instruction)

执行一条指令所需的时钟周期数。

CPI=执行某段程序所需的时钟周期数程序包含的指令条数CPI = \frac{执行某段程序所需的时钟周期数}{程序包含的指令条数}

IPC(Instructions Per Cycle)

每个时钟周期执行的指令条数。

IPC=1CPIIPC = \frac{1}{CPI}

4. 主频与时钟周期

主频(时钟频率):CPU 的工作频率,单位 Hz。

主频=1时钟周期主频 = \frac{1}{时钟周期}

时钟周期:CPU 的基本时间单位。

5. CPU 执行时间

CPU执行时间=CPU时钟周期数×时钟周期CPU执行时间 = CPU时钟周期数 \times 时钟周期 =指令条数×CPI主频= \frac{指令条数 \times CPI}{主频}

示例计算

某计算机主频为 2 GHz,执行某程序需要 1000 万条指令,平均 CPI 为 2,求 CPU 执行时间。

CPU执行时间=指令条数×CPI主频CPU执行时间 = \frac{指令条数 \times CPI}{主频} =107×22×109=0.01=10毫秒= \frac{10^7 \times 2}{2 \times 10^9} = 0.01 秒 = 10 毫秒

计算机系统的层次结构

1. 硬件层

物理设备,包括 CPU、内存、I/O 设备等。

2. 微程序层

由微指令组成,实现机器指令。

3. 机器语言层

由机器指令组成,可被硬件直接执行。

4. 操作系统层

管理硬件资源,为用户提供接口。

5. 汇编语言层

用助记符表示机器指令。

6. 高级语言层

用高级语言编写程序,如 C、Java、Python。

7. 应用层

各种应用软件。

冯·诺依曼计算机

冯·诺依曼体系结构的特点

  1. 计算机由五大部件组成

    • 运算器(ALU)
    • 控制器(CU)
    • 存储器(Memory)
    • 输入设备(Input)
    • 输出设备(Output)
  2. 指令和数据以同等地位存储在存储器中,可按地址寻访。

  3. 指令和数据均用二进制表示

  4. 指令由操作码和地址码组成

  5. 存储程序:程序预先存入存储器,计算机自动执行。

  6. 以运算器为中心:输入输出设备通过运算器与存储器传送数据。

冯·诺依曼瓶颈

由于 CPU 和存储器之间的数据传输速度远低于 CPU 的处理速度,导致 CPU 经常处于等待状态。

解决方法

  • 增加 Cache(高速缓存)
  • 提高总线带宽
  • 采用多级存储体系

现代计算机的组成

以存储器为中心

现代计算机改进了冯·诺依曼结构,采用以存储器为中心的结构:

  • CPU:包括运算器和控制器
  • 主存储器:存储程序和数据
  • I/O 设备:输入输出设备
  • 总线:连接各部件

计算机硬件框图

┌─────────┐
│   CPU   │
│ ┌─────┐ │
│ │ ALU │ │
│ └─────┘ │
│ ┌─────┐ │
│ │ CU  │ │
│ └─────┘ │
└────┬────┘
     │
  ┌──┴──┐
  │总线 │
  └──┬──┘
     │
┌────┴────┬────────┬────────┐
│  主存   │ I/O设备│ I/O设备│
└─────────┴────────┴────────┘

本节小结

  • 计算机发展经历了五代,从电子管到大规模集成电路
  • 计算机性能指标包括字长、存储容量、运算速度等
  • 冯·诺依曼体系结构是现代计算机的基础
  • 现代计算机采用以存储器为中心的结构
  • 理解计算机的层次结构有助于学习计算机组成原理

下一节: 1.2 计算机系统的组成