计算机系统概述
·
计算机系统概述
🎯 核心目标:理解计算机系统的层次结构、发展脉络与基本组成,建立"从晶体管到应用程序"的全局视野。
一、什么是计算机组成原理?
计算机组成原理是研究计算机硬件系统如何构成、如何工作、如何相互协作的学科。它回答的核心问题是:
- 计算机由哪些部件组成?
- 各部件之间如何连接?
- 数据如何在各部件间流动?
- 指令如何被CPU执行?
💡 一句话概括:如果说操作系统是计算机的"管家",计算机组成原理就是研究"房子"是如何建造的。
二、计算机系统层次结构
从底层到高层,计算机系统可分为六层(或更细分的七层):
┌─────────────────────────────┐
│ 第6层:应用层 │ ← 浏览器、微信、游戏(程序员使用)
├─────────────────────────────┤
│ 第5层:高级语言层 │ ← C/C++、Java、Python
├─────────────────────────────┤
│ 第4层:汇编语言层 │ ← MOV, ADD, JMP(机器助记符)
├─────────────────────────────┤
│ 第3层:操作系统层 │ ← 进程管理、内存管理、文件系统
├─────────────────────────────┤
│ 第2层:机器语言层(ISA) │ ← 二进制指令,0101...(硬件接口)
├─────────────────────────────┤
│ 第1层:微程序层 / 数字逻辑层 │ ← 门电路、触发器、ALU(硬件实现)
├─────────────────────────────┤
│ 第0层:物理层 │ ← 晶体管、导线、电子运动
└─────────────────────────────┘
关键理解
- 硬件与软件的接口:第2层(ISA,指令集架构)是软硬件的分界线。操作系统运行在第2层之上,编译器生成第2层的指令。
- 透明性:下层对上层是"透明的"(即不可见)。写Python时,你不需要知道晶体管怎么工作;但编译器必须知道指令集。
- 虚拟机器:每一层都可以看作下一层的一个"虚拟机器",提供了更抽象的编程接口。
三、计算机的五大基本组成部分
冯·诺依曼体系结构(von Neumann Architecture)是现代计算机的基础。所有计算机都遵循以下五大组成部分:
┌──────────────┐
│ 输入设备 │ ← 键盘、鼠标、硬盘、摄像头
└──────┬───────┘
│
▼
┌──────────────┬──────────────┬──────────────┐
│ 存储器 │ 运算器 │ 控制器 │ ← 合称:CPU(中央处理器)
│ (Memory) │ (ALU) │ (CU) │
│ │ │ │
│ 存放指令 │ 算术逻辑运算 │ 指挥协调 │
│ 和数据 │ 加减乘除等 │ 各部件工作 │
└──────┬───────┴──────────────┴──────┬───────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ 数据总线 │◄──────────►│ 地址/控制总线│
└──────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ 输出设备 │ ← 显示器、打印机、音箱
└──────────────┘
1. 运算器(ALU - Arithmetic Logic Unit)
- 执行算术运算(加减乘除)和逻辑运算(与或非异或)
- 核心部件:加法器、移位器、寄存器组
- 标志位:零标志(ZF)、进位标志(CF)、溢出标志(OF)等
2. 控制器(CU - Control Unit)
- 计算机的"指挥中心",负责取指令、分析指令、执行指令
- 核心部件:程序计数器(PC)、指令寄存器(IR)、指令译码器、时序电路
- 控制方式:硬布线控制、微程序控制
3. 存储器(Memory)
- 存放程序(指令序列)和数据
- 按层次分类:寄存器 → Cache → 主存 → 磁盘 → 磁带/光盘
- 按存取方式:随机存取(RAM)、只读(ROM)、顺序存取
4. 输入设备(Input Devices)
- 将外部信息转换为计算机能识别的二进制信号
- 包括:键盘、鼠标、扫描仪、磁盘、摄像头、麦克风等
5. 输出设备(Output Devices)
- 将计算机处理结果转换为人类可读的形式
- 包括:显示器、打印机、音箱、磁盘、绘图仪等
四、冯·诺依曼体系结构的核心思想
1945年,冯·诺依曼提出了存储程序的概念,这被认为是计算机发展史上的里程碑。
核心思想(三大要点)
| 要点 | 含义 | 意义 |
|---|---|---|
| 存储程序 | 程序和数据以同等地位存放在存储器中 | 计算机无需重新接线就能执行不同程序 |
| 二进制表示 | 指令和数据都用二进制编码 | 统一了表示方式,简化硬件设计 |
| 五大部件 | 运算器、控制器、存储器、输入、输出 | 明确了计算机的基本架构 |
冯·诺依曼机的特点
- 程序和数据共享同一存储空间:从同一地址空间中取指令和取数据
- 按地址访问:每个存储单元有唯一地址,通过地址访问内容
- 指令驱动:程序由指令序列组成,计算机按顺序执行(除非跳转)
- 以运算器为中心:早期设计以运算器为核心,数据都需经过运算器
🚧 现代改进:现代计算机以存储器为中心,I/O设备直接与主存交换数据(DMA),不再经过CPU,大大提高了效率。
五、计算机性能指标
1. 机器字长
- CPU一次能处理的数据位数(如32位、64位)
- 字长越长,精度越高,寻址空间越大
- 目前主流:64位
2. 主频(时钟频率)
- CPU内部时钟脉冲的频率,单位Hz
- 主频 = 1 / 时钟周期
- 例如:3.0 GHz = 每秒30亿个时钟周期
- 注意:主频高≠性能一定好,还取决于CPI、IPC等因素
3. CPI(Cycles Per Instruction)
- 执行一条指令所需的平均时钟周期数
- CPI越小,CPU效率越高
- 与指令集设计、流水线深度、Cache命中率等密切相关
4. MIPS(Million Instructions Per Second)
- 每秒执行百万条指令数
- MIPS = 主频 / (CPI × 10⁶)
- 局限:不同指令集之间不可直接比较
5. 吞吐量(Throughput)
- 系统在单位时间内处理请求的数量
- 高并发系统关注的核心指标
6. 响应时间(Response Time)
- 从提交请求到获得响应的时间
- 交互式系统关注的核心指标
7. 存储容量与带宽
- 主存容量:可寻址的内存空间大小
- 存储带宽:单位时间内从存储器读出/写入的最大信息量
- 单位:B/s, KB/s, MB/s, GB/s
六、计算机发展简史
第一代:电子管计算机(1946-1958)
- 代表:ENIAC(1946年,第一台通用电子计算机)
- 特点:体积庞大、耗电、易发热、故障率高
- 使用机器语言编程
第二代:晶体管计算机(1958-1964)
- 晶体管取代电子管,体积缩小、功耗降低
- 出现汇编语言和高级语言(FORTRAN、COBOL)
- 出现操作系统雏形
第三代:集成电路计算机(1964-1971)
- 集成电路(IC)诞生,一个芯片集成多个晶体管
- 出现IBM System/360系列,开创了兼容机时代
- 分时操作系统出现
第四代:大规模/超大规模集成电路(1971-至今)
- 微处理器诞生:Intel 4004(1971)→ Intel 8086 → 现代CPU
- 摩尔定律:集成电路上可容纳的晶体管数量约每18个月翻一番
- 个人计算机(PC)普及,互联网兴起,多核处理器出现
当前趋势
- 多核/众核处理器
- 专用加速器(GPU、TPU、NPU)
- 量子计算
- 类脑计算
七、常见概念辨析
| 概念 | 含义 | 类比 |
|---|---|---|
| 计算机组成 | 计算机硬件系统的具体实现(怎么做) | 汽车引擎如何点火、如何传动 |
| 计算机体系结构 | 程序员可见的硬件属性(做什么) | 汽车有多少个挡位、方向盘怎么转 |
| 计算机实现 | 具体的电路、工艺、材料 | 用什么金属、什么芯片工艺 |
| ISA | 指令集架构,软硬件接口 | 汽车的驾驶接口(油门、刹车、方向盘) |
| 微架构 | 实现ISA的具体硬件设计 | 引擎内部的点火顺序、气缸排列 |
八、学习路线图
计算机系统概述(你在这里)
│
▼
数据表示与运算(进制、编码、运算器)
│
▼
存储器层次结构(Cache、主存、磁盘)
│
▼
指令系统(指令格式、寻址方式、指令集)
│
▼
中央处理器(数据通路、控制单元、流水线)
│
▼
总线系统(总线类型、仲裁、通信)
│
▼
输入输出系统(I/O方式、中断、DMA)
九、重点回顾
| 重点 | 一句话总结 |
|---|---|
| 冯·诺依曼结构 | 存储程序 + 二进制 + 五大部件 |
| 五大部件 | 运算器、控制器、存储器、输入、输出 |
| 存储程序 | 程序和数据放在同一存储器中,按地址访问 |
| 性能指标 | 主频、CPI、MIPS、吞吐量、响应时间 |
| 层次结构 | 硬件→ISA→OS→汇编→高级语言→应用 |
📌 下章预告:我们将深入计算机中最基础也最重要的部分——数据表示与运算。你会了解计算机如何用0和1表示一切信息,包括负数、小数、文字,甚至声音和图像!
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)