1.1 计算机发展历程

计算机的发展通常以核心器件的更新换代为标志,共经历了四代:

代次时间逻辑元件代表机型特点
第一代1946—1957电子管ENIAC体积大、耗电高、机器语言
第二代1958—1964晶体管IBM 7000出现汇编与高级语言、操作系统雏形
第三代1965—1971中小规模集成电路IBM 360系列兼容、微程序控制
第四代1972—至今大规模/超大规模集成电路微处理器 PC并行处理、流水线、RISC
摩尔定律:集成电路芯片上集成的晶体管数目大约每 18~24 个月翻一番,性能也随之提升一倍。该定律由 Intel 创始人 Gordon Moore 提出,近年已逐渐放缓。

1.2 计算机系统层次结构

从使用者的角度看,计算机系统是一个由多级抽象构成的层次结构,自上而下可分为:

虚拟机器 vs 实际机器
层次结构中,由软件实现的层级(如高级语言层、汇编层)称为虚拟机器;由硬件/固件实现的层级(微体系结构层及以下)称为实际机器。ISA 是软硬分界线。
翻译与解释:翻译是先把上一级程序整个翻译成下一级程序再执行(如编译);解释是每遇到一条上一级指令就翻译并执行一条(如解释器)。两者可结合使用。

1.3 计算机硬件组成

冯·诺依曼计算机由五大部件组成:运算器、控制器、存储器、输入设备、输出设备。其核心思想是"存储程序"——程序和数据以同等地位存放在存储器中,按地址访问,自动执行。

现代计算机通常以总线连接各部件,运算器和控制器集成在 CPU 中。存储程序、程序控制(取指—译码—执行)是冯·诺依曼思想的两条主线。

1.4 性能指标

主频 f
CPU 的时钟频率,单位 Hz、MHz、GHz。时钟周期 T = 1/f,是 CPU 最小时间单位。
CPI (Cycles Per Instruction)
执行一条指令所需的平均时钟周期数。
MIPS (Million Instructions Per Second)
每秒执行百万条指令。MIPS = 主频(MHz) / CPI。
FLOPS
每秒执行的浮点运算次数,常用于科学计算性能衡量。
执行时间
程序执行时间 = 指令数 × CPI × 时钟周期 T = (指令数 × CPI) / 主频 f。

关键公式

指标公式说明
时钟周期 TT = 1 / f主频的倒数
总时钟周期数N = Σ (CPIᵢ × Iᵢ)Iᵢ 为第 i 类指令条数
平均 CPICPI = N / Σ Iᵢ总周期 / 总指令数
执行时间t = N / f总周期数 / 主频
MIPSMIPS = f(MHz) / CPI主频除以 CPI
注意:MIPS 对不同指令集难比较(同样任务指令数不同);同机不同程序 MIPS 也不能简单比较性能。基准测试程序(如 SPEC)更客观。