9.7 KiB
9.7 KiB
第1章 计算机系统概论
📖 本章介绍计算机系统的基本概念和组成,是整个课程的基础。 🎯 重点理解计算机层次结构和冯·诺依曼体系
📋 本章目录
1.1 计算机系统简介
1.1.1 计算机的软硬件概念
计算机系统由 硬件 和 软件 两大部分组成。
graph TB
subgraph 计算机系统
subgraph 硬件
A[主机] --> A1[CPU]
A --> A2[主存储器]
A1 --> A11[运算器]
A1 --> A12[控制器]
B[外部设备] --> B1[输入设备]
B --> B2[输出设备]
end
subgraph 软件
C[系统软件] --> C1[操作系统]
C --> C2[语言处理程序]
C --> C3[数据库管理系统]
D[应用软件] --> D1[科学计算程序]
D --> D2[数据处理程序]
end
end
硬件(Hardware)
[!info] 定义 计算机的实体部分,由看得见摸得着的各种电子元器件组成。
- 主机:CPU + 主存储器
- 外部设备:输入设备 + 输出设备
软件(Software)
[!info] 定义 人们事先编制的具有各类特殊功能的程序,存放在存储器中。
系统软件:
- 操作系统(Windows、Linux等)
- 语言处理程序(编译程序、汇编程序)
- 数据库管理系统
- 服务程序(诊断、调试程序)
应用软件:
- 科学计算程序
- 数据处理程序
- 过程控制程序
- 事务管理程序
[!tip] 关键理解 计算机性能 = 硬件功能 + 软件功能。软硬件相互依存,缺一不可。
1.1.2 计算机系统的层次结构
计算机系统具有多级层次结构,从低到高依次为:
graph TB
subgraph "五级层次结构"
M4["虚拟机器 M4<br/>(高级语言机器)"] --> |"用编译程序翻译"| M3
M3["虚拟机器 M3<br/>(汇编语言机器)"] --> |"用汇编程序翻译"| M2
M2["虚拟机器 M2<br/>(操作系统机器)"] --> |"用机器语言解释"| M1
M1["传统机器 M1<br/>(机器语言机器)"] --> |"用微程序解释"| M0
M0["微程序机器 M0<br/>(微指令系统)"] --> |"由硬件直接执行"| HW["硬件电路"]
end
style M4 fill:#e1f5fe
style M3 fill:#b3e5fc
style M2 fill:#81d4fa
style M1 fill:#4fc3f7
style M0 fill:#29b6f6
style HW fill:#0288d1
各层次说明
| 层次 | 名称 | 说明 | 语言 |
|---|---|---|---|
| M4 | 高级语言机器 | 用户编程层面 | 高级语言(C、Java等) |
| M3 | 汇编语言机器 | 汇编语言层面 | 汇编语言 |
| M2 | 操作系统机器 | 操作系统层面 | 机器语言 |
| M1 | 传统机器 | 硬件指令层面 | 机器语言 |
| M0 | 微程序机器 | 微指令层面 | 微指令 |
[!note] 重要概念
- 虚拟机:不是实际存在的机器,而是通过软件实现的功能层次
- 实际机器:物理存在的硬件机器(M0和M1)
- 软硬件交界:随着技术发展,部分软件功能由硬件实现(固件)
翻译程序的两种方式
graph LR
subgraph "编译程序"
A1[源程序] --> B1[一次性全部翻译] --> C1[目标程序] --> D1[执行]
end
subgraph "解释程序"
A2[源程序] --> B2[翻译一条] --> C2[执行一条] --> D2[下一条]
D2 --> B2
end
- 编译程序:一次性全部翻译,然后执行(如C、Pascal)
- 解释程序:边翻译边执行(如BASIC)
1.1.3 计算机组成和计算机体系结构
这两个概念容易混淆,需要明确区分:
| 概念 | 定义 | 关注点 | 示例 |
|---|---|---|---|
| 计算机体系结构 | 程序员所见到的计算机属性 | 指令集、数据类型、寻址技术 | 是否有乘法指令 |
| 计算机组成 | 体系结构的实现方式 | 硬件细节、电路实现 | 乘法指令用专用电路还是加法器实现 |
[!example] 举例说明 IBM System/370系列:
- 体系结构相同:所有机型指令集相同
- 组成不同:不同型号性能、价格差异很大
- 好处:用户软件投资得到保护
1.2 计算机的基本组成
1.2.1 冯·诺依曼计算机的特点
[!important] 冯·诺依曼体系(1945年) 基于"存储程序"概念的计算机体系结构
五大特点:
- 计算机由 运算器、存储器、控制器、输入设备、输出设备 五大部件组成
- 指令和数据以同等地位存放于存储器内,并可按地址寻访
- 指令和数据均用 二进制数 表示
- 指令由 操作码 和 地址码 组成
- 指令在存储器内按顺序存放,通常顺序执行
graph TB
subgraph "冯·诺依曼计算机结构"
direction TB
CU[控制器] --> |"控制信号"| ALU[运算器]
CU --> |"控制信号"| MEM[存储器]
CU --> |"控制信号"| IN[输入设备]
CU --> |"控制信号"| OUT[输出设备]
IN --> |"数据"| MEM
MEM --> |"数据"| ALU
ALU --> |"数据"| MEM
MEM --> |"数据"| OUT
end
style CU fill:#ff9999
style ALU fill:#99ccff
style MEM fill:#99ff99
style IN fill:#ffcc99
style OUT fill:#cc99ff
1.2.2 计算机的硬件框图
传统结构(以运算器为中心)
graph LR
IN[输入设备] --> |"数据"| ALU[运算器]
ALU --> |"数据"| MEM[存储器]
MEM --> |"数据"| ALU
ALU --> |"数据"| OUT[输出设备]
CU[控制器] --> |"控制"| ALU
CU --> |"控制"| MEM
CU --> |"控制"| IN
CU --> |"控制"| OUT
现代结构(以存储器为中心)
graph TB
IN[输入设备] --> |"数据"| MEM[存储器]
MEM --> |"数据"| OUT[输出设备]
MEM --> |"数据"| ALU[运算器]
ALU --> |"数据"| MEM
CU[控制器] --> |"控制信号"| ALU
CU --> |"控制信号"| MEM
CU --> |"控制信号"| IN
CU --> |"控制信号"| OUT
[!tip] 结构变化的原因 以存储器为中心可以减少数据传输的瓶颈,提高系统效率。
1.2.3 各部件功能详解
| 部件 | 功能 | 关键特性 |
|---|---|---|
| 运算器 | 完成算术运算和逻辑运算 | 暂存中间结果 |
| 存储器 | 存放数据和程序 | 按地址访问 |
| 控制器 | 控制指挥程序运行 | 产生控制信号 |
| 输入设备 | 信息形式转换(人→机) | 键盘、鼠标等 |
| 输出设备 | 信息形式转换(机→人) | 显示器、打印机等 |
1.2.4 现代计算机组成
graph TB
subgraph "现代计算机组成"
subgraph "主机"
CPU["CPU"] --> ALU["运算器"]
CPU --> CU["控制器"]
MM["主存储器<br/>(主存)"]
end
subgraph "外部设备"
IO["I/O设备"] --> INPUT["输入设备"]
IO --> OUTPUT["输出设备"]
end
end
CPU <--> |"数据/地址"| MM
CPU <--> |"数据"| IO
MM <--> |"数据"| IO
style CPU fill:#ff9999
style MM fill:#99ff99
style IO fill:#99ccff
术语说明:
- CPU = 运算器 + 控制器
- 主机 = CPU + 主存储器
- I/O设备 = 输入设备 + 输出设备(外部设备)
1.3 计算机硬件的主要技术指标
1.3.1 机器字长
[!info] 定义 CPU一次能处理数据的位数,通常与CPU寄存器位数有关。
- 影响:字长越长,计算精度越高
- 常见:8位、16位、32位、64位
1.3.2 存储容量
[!info] 定义 存储器能存放二进制代码的总位数
计算公式:
存储容量 = 存储单元数 \times 存储字长
单位换算:
- 1KB = 1024B
- 1MB = 1024KB
- 1GB = 1024MB
- 1TB = 1024GB
1.3.3 运算速度
常用指标:
| 指标 | 说明 | 计算方式 |
|---|---|---|
| MIPS | 每秒百万条指令 | 指令数 / 执行时间 |
| CPI | 每条指令时钟周期数 | 时钟周期数 / 指令数 |
| FLOPS | 每秒浮点运算次数 | 浮点运算数 / 执行时间 |
1.3.4 其他指标
- 主频:CPU时钟频率(GHz)
- 带宽:数据传输速率(MB/s)
- 兼容性:软件在不同机器上的通用性
📝 本章小结
核心概念
- 计算机系统 = 硬件 + 软件
- 层次结构:从微程序机器到高级语言机器的多级层次
- 冯·诺依曼体系:存储程序、五大部件、二进制表示
- 现代计算机:以存储器为中心,CPU = 运算器 + 控制器
关键术语
| 术语 | 英文 | 含义 |
|---|---|---|
| CPU | Central Processing Unit | 中央处理器 |
| ALU | Arithmetic Logic Unit | 算术逻辑单元 |
| CU | Control Unit | 控制单元 |
| MM | Main Memory | 主存储器 |
| I/O | Input/Output | 输入输出 |
重点图示
[!summary] 必须掌握的图
- 计算机系统层次结构图
- 冯·诺依曼计算机结构框图
- 现代计算机组成框图(以存储器为中心)
🧪 自测练习
概念题
- 简述计算机硬件和软件的关系。
- 画出计算机系统的五级层次结构,并说明各层功能。
- 冯·诺依曼计算机有哪些特点?
思考题
- 为什么要区分计算机体系结构和计算机组成?
- 现代计算机为什么采用以存储器为中心的结构?
🔗 相关链接
- 00_计算机组成原理学习指南 - 返回主目录
- 03_系统总线 - 下一章
- 06_运算方法 - 数据表示相关内容
- 08_CPU结构与功能 - CPU详细设计
本章难度:⭐⭐ 简单 重要程度:⭐⭐⭐ 基础