功能:负责指令的读取、译码和发出控制信号
组成:程序计数器PC、指令寄存器IR、指令译码器、时序发生器、操作控制器
工作流程:取指 → 译码 → 执行 → 写回
功能:执行算术和逻辑运算
组成:算术逻辑单元ALU、累加器ACC、数据缓冲寄存器DR、标志寄存器FR
运算类型:加减乘除、与或非、移位、比较
功能:高速存储CPU正在处理的数据和地址
分类:
• 通用寄存器:AX, BX, CX, DX (数据存储)
• 段寄存器:CS, DS, SS, ES (内存分段)
• 指针寄存器:SP, BP, IP (地址指针)
• 标志寄存器:FLAGS (状态标志)
功能:缓解CPU与主存之间的速度差异
层级:
• L1 Cache:指令缓存 + 数据缓存 (32KB-64KB)
• L2 Cache:更大容量 (256KB-1MB)
• L3 Cache:多核共享 (4MB-32MB)
命中率:95%以上
功能:连接CPU内部各部件的信息通路
分类:
• 数据总线:传输数据 (双向)
• 地址总线:传输地址 (单向)
• 控制总线:传输控制信号 (双向)
宽度:决定CPU寻址能力
功能:专门处理浮点数运算
应用:科学计算、3D图形、信号处理
特点:复杂指令、长延迟、高吞吐量
操作:控制器从内存读取指令
数据通路:PC → MAR → 地址总线 → 内存 → 数据总线 → MDR → IR
涉及寄存器:PC (程序计数器), MAR (内存地址寄存器), MDR (内存数据寄存器), IR (指令寄存器)
| 指标 | 描述 | 典型值 | 影响因素 |
|---|---|---|---|
| 主频 (Clock Speed) | CPU内核工作的时钟频率 | 2.0-5.0 GHz | 制程工艺、架构设计 |
| IPC (Instructions Per Cycle) | 每时钟周期执行的指令数 | 1-4 IPC | 流水线深度、分支预测 |
| 缓存命中率 | CPU在缓存中找到所需数据的比率 | 95%-99% | 缓存大小、替换算法 |
| 功耗 (TDP) | 热设计功耗 | 35-250W | 制程、核心数、主频 |
| 核心数 | 物理核心数量 | 2-64核 | 制程、市场需求 |
优势:提高指令吞吐量,理想情况下每个时钟周期完成一条指令
代价:增加寄存器开销,需要处理hazards问题
1. 结构冲突 (Structural Hazard)
原因:硬件资源不足,多条指令同时使用同一资源
解决:增加硬件资源、资源分时复用
2. 数据冲突 (Data Hazard)
原因:指令执行需要等待前一条指令的结果
类型:RAW (读后写)、WAR (写后读)、WAW (写后写)
解决:数据前推 (Forwarding)、流水线停顿 (Stall)、编译器调度
3. 控制冲突 (Control Hazard)
原因:分支指令改变程序执行流
解决:分支预测、延迟槽、静态/动态预测
一级预测:静态预测 (总是预测不跳转)
二级预测:动态预测 (1-bit/2-bit饱和计数器)
高级预测:Tournament预测器、神经网络预测
准确率:现代CPU可达95%以上
核心思想:不按程序顺序执行,按数据依赖关系执行
关键部件:
• 保留站 (Reservation Station)
• 重排序缓冲区 (ROB)
• 发射队列 (Issue Queue)
优势:隐藏延迟,提高IPC
概念:单指令多数据,一条指令处理多个数据
指令集:
• MMX (64位)
• SSE/SSE2/SSE3/SSE4 (128位)
• AVX/AVX2 (256位)
• AVX-512 (512位)
应用:多媒体处理、科学计算、AI加速
原理:一个物理核心模拟两个逻辑核心
实现:复制体系结构状态 (寄存器),共享执行单元
优势:提高资源利用率,隐藏访存延迟
代价:单线程性能可能下降