高级架构师-计算机硬件基础知识
中央处理器· 存储系统 · 输入输出系统
一、中央处理器(CPU)
CPU是计算机系统的运算与控制核心,其根本任务是解释指令和处理数据。它是整个计算机系统的“大脑”,负责协调和控制所有其他硬件部件的工作。
1. 核心功能
CPU的核心功能可以概括为以下四个方面:
•程序控制:按照程序规定的顺序控制指令的执行,确保每条指令得到正确解释和执行。
•操作控制:产生各种控制信号,指挥各部件协同工作,如读写控制、运算控制等。
•时间控制:为各项操作提供精确的时序节拍,确保每个操作都在规定的时间内完成。
•数据处理:对数据进行算术运算(加减乘除)和逻辑运算(与、或、非等)。
2. 内部构成
CPU的内部结构主要由控制器、运算器、寄存器组和总线四大部分组成。下图展示了CPU的内部架构及各部件之间的连接关系:

图 1:CPU 内部架构示意图
控制器
控制器是指令执行的指挥中枢,它负责从内存中取出指令、分析指令并产生相应的控制信号。其核心组件包括:
|
指令寄存器 (IR) 存放当前正在执行的指令 供译码器解析使用 |
程序计数器 (PC) 存放下一条待执行指令的地址 具备自动加 1 功能,支持跳转操作 |
|
地址寄存器 (AR) 保存 CPU 当前要访问的内存地址 与地址总线直接相连 |
指令译码器 (ID) 对指令进行解析,转换为控制信号 是控制器的核心解析部件 |
运算器
运算器是数据加工的执行单元,负责完成各种算术和逻辑运算:
•算术逻辑单元(ALU):执行算术运算与逻辑运算的核心部件。
•累加器(ACC):暂存运算的中间结果及操作数。
•状态条件寄存器(PSW):记录运算结果的状态标志,如进位、溢出、零标志等。
•缓冲寄存器:暂存来自内存或 I/O 的数据。
3. 指令系统
指令系统是 CPU 能够识别和执行的全部指令的集合。根据设计理念的不同,主要分为两大类:
|
复杂指令集 (CISC) 指令丰富强大,硬件实现复杂 单条指令可完成复杂操作 代表:Intel x86、AMD 架构 |
精简指令集 (RISC) 指令精简高效,注重流水线性能 功耗低,适合移动设备 代表:ARM、Power 架构 |
4. 指令流水线
指令流水线是一种指令级并行技术,将每条指令的执行分解为多个阶段(如取指、译码、执行、写回),使不同指令的不同阶段在时间上重叠处理,从而显著提高指令的吐吰率。

图 2:指令流水线工作原理示意图
|
流水线执行时间计算公式 总时间 = (各流水线段耗时之和) + (指令条数 − 1) × 最长流水线段耗时 例如:4段流水线(各段耗时 2ns/3ns/3ns/2ns)执行 100 条指令: 总时间 = (2+3+3+2) + (100−1) × 3 = 10 + 297 = 307 ns |
5. 专用处理器
除了通用 CPU 外,还有多种专用处理器在特定领域发挥重要作用:
•图形处理器(GPU):擅长大规模并行计算,用于图形渲染与通用计算(GPGPU)。
•数字信号处理器(DSP):专门进行高速数字信号处理,广泛应用于通信和多媒体领域。
•现场可编程逻辑门阵列(FPGA):硬件可编程的集成电路,可灵活定制逻辑功能。
6. 体系结构分类(Flynn 分类法)
依据指令流和数据流数量的不同,Flynn 分类法将计算机体系结构划分为四类:
|
类型 |
说明 |
典型应用 |
|
SISD |
单指令单数据:传统单核顺序处理 |
早期单片机、嵌入式微控制器 |
|
SIMD |
单指令多数据:同时对多个数据执行相同操作 |
向量处理器、GPU |
|
MISD |
多指令单数据:理论模型,无成熟应用 |
学术研究模型 |
|
MIMD |
多指令多数据:目前最主流的并行架构 |
多核 CPU、分布式系统 |
二、存储系统
存储系统采用层次化结构,自上而下速度递减、容量递增、单位成本递减。这种设计在性能与成本之间取得了良好的平衡。
1. 存储器层次结构
计算机存储系统采用金字塔式的层次化结构,从最快的寄存器到最大的外存,形成了一个完整的存储体系:

图 3:存储器层次结构示意图
•寄存器(片内):速度最快、容量最小,直接集成在 CPU 内部。
•Cache(片外高速缓存):由硬件自动管理,对程序员透明。
•主存(内存):由硬件和软件协同管理,存储当前运行的程序和数据。
•外存(辅存):用于长期数据存储,如硬盘、SSD 等。
2. 高速缓存(Cache)
高速缓存位于 CPU 与主存之间,容量小但速度快。其设计依据是程序的局部性原理:时间局部性(被访问的地址在短时间内可能再次被访问)和空间局部性(被访问地址的附近地址也可能被访问)。
地址映像方式
Cache 的地址映像方式决定了主存块如何放置到 Cache 中,是 Cache 设计的核心问题:
|
映像方式 |
原理 |
特点 |
|
直接相联 |
主存块只能映射到一个固定位置 |
实现简单,冲突率高 |
|
全相联 |
主存块可映射到任意位置 |
灵活但查找电路复杂 |
|
组相联 |
组间直接映像,组内全相联 |
折衷方案,应用最广泛 |
替换算法
当 Cache 已满且需要载入新块时,需要通过替换算法决定淘汰哪个块:
•随机替换:随机选择一个块替换,实现简单但效果一般。
•先进先出(FIFO):淘汰最早进入的块,未考虑访问频率。
•近期最少使用(LRU):淘汰最长时间未被访问的块,效果较好。
•最不频繁使用(LFU):淘汰访问次数最少的块。
写策略
Cache 与主存之间的一致性维护是关键问题,主要有三种写策略:
•写直达:数据同时写入 Cache 和主存,实现简单但速度较慢。
•写回:数据仅写入 Cache,被替换出时才写入主存,速度快但控制复杂。
•标记法:修改主存数据并标记 Cache 中对应块失效,再次访问时重新载入。
3. 磁盘(外存)
磁盘是计算机中最常见的外存设备。其存取时间由两部分构成:
|
磁盘存取时间 = 寻道时间 + 旋转等待时间 寻道时间:磁头定位到目标磁道的时间(主要耗时部分) 旋转等待时间:目标扇区旋转到磁头下的时间(与转速相关) |
三、输入/输出(I/O)系统
I/O 系统负责 CPU、主存与外部设备之间的数据交换,是计算机与外界交互的桥梁。
1. 输入/输出处理机(IOP)
IOP 是专门负责 I/O 控制的协处理器,可以减轻 CPU 的 I/O 负担,让 CPU 专注于主要的计算任务。它能够独立地管理外设的数据传输和控制操作。
2. 数据交互方式
根据数据传输的控制方式和效率,I/O 数据交互主要有三种方式,下图对这三种方式进行了直观比较:

图 4:三种 I/O 数据交互方式对比
程序直接控制方式
CPU 通过循环检查外设状态来确定是否可以进行数据传输。这种方式效率低,CPU 在等待期间被大量占用,无法执行其他任务。它是最简单但也是效率最低的 I/O 方式。
程序中断方式
外设准备就绪后主动向 CPU 发送中断请求,CPU 响应并处理数据交换。这种方式可实现 CPU 与外设的部分并行工作,显著提高了系统效率。但每次数据传输仍需要 CPU 参与。
直接存储器存取(DMA)
DMA 由专用的 DMA 控制器掌握总线控制权,在主存与外设之间建立直接数据通路,数据块传输不经过 CPU。CPU 仅在传输开始和结束时进行干预,是效率最高的 I/O 方式。
|
对比维度 |
程序直接控制 |
程序中断 |
DMA |
|
CPU 参与度 |
极高(忙等) |
中等(中断响应) |
极低(仅始末) |
|
数据传输路径 |
外设→CPU→内存 |
外设→CPU→内存 |
外设→内存(直接) |
|
并行能力 |
无 |
部分并行 |
高度并行 |
|
适用场景 |
简单低速设备 |
中低速设备 |
高速大批量传输 |
|
效率 |
最低 |
中等 |
最高 |
