第1章 计算机系统概述
计算机系统由硬件和软件组成,采用存储程序控制方式工作。计算机组成原理介于寄存器传送层(RTL)以上的微结构和 ISA 层次。
1.1 计算机的产生和发展
1943~1946年,美国宾夕法尼亚大学研制了世界上第一台电子计算机ENIAC(电子数字积分器和计算机),使用18000多个电子管,每秒能计算5000次加法。
冯·诺依曼与莉尔小组合作研制EDVAC计算机,采用了存储程序方案——把解题过程中的每一步用指令表示,按执行顺序编写成程序,存放在存储器中。
冯·诺依曼型计算机的基本特点:
- 计算机由运算器、控制器、存储器、输入设备和输出设备5部分组成
- 采用存储程序方式,程序和数据放在同一个存储器中,以二进制码表示
- 指令由操作码和地址码组成
- 指令在存储器中按执行顺序存放,由指令计数器(PC)指明要执行的指令地址
- 机器以运算器为中心,输入输出设备与存储器间的数据传送都通过运算器
计算机发展的五代:
| 代际 | 时期 | 基本器件 | 代表 |
|---|---|---|---|
| 第一代 | 1946~50年代后期 | 电子管 | ENIAC、IBM 650/709 |
| 第二代 | 50年代中期~60年代后期 | 晶体管 | CDC 6600/7600 |
| 第三代 | 60年代中期~70年代前期 | 集成电路 | IBM 360、DEC PDP-11 |
| 第四代 | 70年代~ | LSI/VLSI | Intel 4004/8086/80386、VAX 11/780 |
| 第五代 | 近期 | ULSI/VLSI | 多核处理器、SoC |
1.2 计算机的硬件
指令和程序
一条指令通常分为操作码和地址码两部分。指令在存储器中按执行顺序存放。
计算机硬件的组成
计算机由以下基本部件组成,各部件间通过总线连接:
- 运算器:对信息进行算术和逻辑运算,核心是ALU
- 控制器:实现程序自动执行,指挥各部件协同工作
- 存储器:存放程序和数据(主存储器是信息存储和交流中心)
- 输入设备:输入原始数据和程序(键盘、鼠标等)
- 输出设备:输出处理结果(显示器、打印机等)
总线结构
各部件间来往的信号分为地址、数据和控制信号3种,通过总线传送。现代计算机允许I/O设备直接向存储器提出读写要求(DMA)。
计算机系统的分类——Flynn分类法
1966年弗林根据指令流和数据流的数量将计算机系统分为4类:
| 类型 | 指令流 | 数据流 | 说明 |
|---|---|---|---|
| SISD | 单 | 单 | 单处理器单存储器,典型的单机系统 |
| SIMD | 单 | 多 | 一个指令控制部件+多个处理器,各处理不同数据 |
| MISD | 多 | 单 | 多个指令流处理同一数据,实际较少使用 |
| MIMD | 多 | 多 | 多处理器系统,每个处理器执行自己的指令 |
1.3 计算机的层次结构
从底层硬件到高层应用,计算机系统分为七个层次:
| 层次 | 名称 | 说明 |
|---|---|---|
| 第零级 | 硬联逻辑级 | 由门、触发器等逻辑电路组成 |
| 第一级 | 微程序级 | 微指令集,直接由硬件执行 |
| 第二级 | 传统机器级 | 机器指令集,由微程序解释执行 |
| 第三级 | 操作系统级 | 管理传统机器的软硬件资源 |
| 第四级 | 汇编语言级 | 助记符翻译为机器语言 |
| 第五级 | 高级语言级 | 编译程序翻译 |
| 第六级 | 应用语言级 | 面向特定问题 |
软硬件交界面为指令集体系结构层(ISA),计算机组成原理涉及的内容位于ISA层以下、寄存器传送层以上的微结构和组织。
1.4 计算机的主要技术指标
机器字长
参与运算的基本位数,由加法器、寄存器的位数决定。字长越长,精度越高。1字节=8位。
数据通路宽度
数据总线一次所能并行传送信息的位数,影响信息传输能力和有效处理速度。
主存容量
主存储器所能存储的全部信息量,以字节数表示。
运算速度指标
| 指标 | 含义 | 公式 |
|---|---|---|
| 主频 | CPU内数字脉冲信号振荡的速度(GHz) | — |
| 时钟周期 | 主频的倒数,CPU中最小的时间元素 | 时钟周期 = 1 / 主频 |
| CPI | 每条指令执行所用的时钟周期数 | CPI = 总时钟周期数 / 指令总数 |
| IPC | 每时钟周期执行的指令数 | IPC = 1 / CPI |
| CPU执行时间 | CPU执行程序的时间 | 时间 = 指令数 × CPI × 时钟周期 |
| MIPS | 每秒百万条指令 | MIPS = 指令数 / (执行时间 × 10⁶) |
| MFLOPS | 每秒百万次浮点运算 | MFLOPS = 浮点运算次数 / (执行时间 × 10⁶) |
性能公式
CPU 时间 = 指令数 × CPI × 时钟周期时间
= 指令数 × CPI / 主频
影响性能的因素:指令数(ISA和编译器决定)、CPI(微体系结构决定)、主频(实现技术和工艺决定)。
考试重点
★★☆ 第二梯队
| 考点 | 典型题型 |
|---|---|
| 计算机层次结构 | 层次图 + 各层功能说明 |
| 主要技术指标(MIPS、CPI、CPU时间) | 计算题 |
| Flynn分类法(SISD/SIMD/MISD/MIMD) | 分类 + 简答 |
★☆☆ 第三梯队
| 考点 | 典型题型 |
|---|---|
| 存储程序控制概念 | 简答 |
| 冯·诺依曼体系结构5大特点 | 简答 |
| 计算机发展五代 | 简答 |
| 机器字长 vs 数据通路宽度 | 概念题 |