组成原理

Cache 映射策略:直接映射、组相联与全相联

Cache 映射策略:直接映射、组相联与全相联 上一篇已经知道,Cache 能发挥作用,核心在于局部性原理。但如果继续往下问,就会遇到一个非常现实的问题: 主存里有那么多数据块,而 Cache 容量又这么有限,某个主存块到底该放到 Cach...

2026-06-23 9 分钟 组成原理, 组成原理教程, Cache, 映射策略
组成原理

Cache 基础:局部性原理与命中机制

Cache 基础:局部性原理与命中机制 前面已经讲到,CPU 和主存之间存在明显的速度鸿沟。CPU 很快,主存虽然已经不慢,但相对 CPU 来说仍然太慢。于是系统必须想办法降低这种差距对平均性能的伤害。 而 Cache,正是这一问题最经典、...

2026-06-23 9 分钟 组成原理, 组成原理教程, Cache
组成原理

主存基础:RAM、ROM 与内存芯片组织

主存基础:RAM、ROM 与内存芯片组织 上一篇已经从整体上讲了存储层次,知道主存在整个系统中处于一个非常关键的位置:它比 Cache 大得多,又比外存快得多,是程序运行时最主要的工作区。 接下来要进一步回答的问题是: 主存本身到底是什么,...

2026-06-23 9 分钟 组成原理, 组成原理教程, 主存
组成原理

存储系统层次:寄存器、Cache、内存与外存

存储系统层次:寄存器、Cache、内存与外存 前面讲 CPU 执行、流水线和性能指标时,已经反复碰到一个事实:很多时候真正拖慢程序的,并不是算不动,而是“拿数据太慢”。 这就会引出一个非常核心的问题: 既然 CPU 这么快,为什么不把所有数...

2026-06-23 9 分钟 组成原理, 组成原理教程, 存储系统
组成原理

性能指标入门:时钟周期、CPI、吞吐量与加速比

性能指标入门:时钟周期、CPI、吞吐量与加速比 前面讲了流水线、分支预测和乱序执行,其实都在围绕同一件事努力:提升性能。但如果继续往下问,就会发现一个更基础的问题: 我们到底该用什么指标来描述“CPU 更快了”? 性能并不是一句模糊的“感觉...

2026-06-23 9 分钟 组成原理, 组成原理教程, 性能指标
组成原理

分支预测与乱序执行:现代 CPU 的性能技巧

分支预测与乱序执行:现代 CPU 的性能技巧 前一篇讲流水线冒险时已经看到,真正拖慢现代 CPU 的,很多时候不是“不会执行指令”,而是: 后面的指令在等前面的结果; 前端不知道分支该往哪走; 某些阶段被迫空转; 硬件资源没有被尽量榨干。 ...

2026-06-23 10 分钟 组成原理, 组成原理教程, 分支预测, 乱序执行
组成原理

流水线冒险:结构、数据与控制相关问题

流水线冒险:结构、数据与控制相关问题 上一篇讲了流水线为什么能提升性能,前提是假设流水线能一直平稳地推进:每个周期都能顺利进入下一阶段,没有阻塞、没有回退、没有错路。 但真实程序并不会这么配合。很快你就会发现一个事实: 多条指令虽然可以重叠...

2026-06-23 10 分钟 组成原理, 组成原理教程, 流水线冒险
组成原理

流水线基础:为什么流水线能提升性能

流水线基础:为什么流水线能提升性能 前面已经知道,一条指令通常可以拆成取指、译码、执行、访存、写回等阶段。既然都已经拆开了,接下来一个非常自然的问题就是: 这些阶段能不能不要等上一条全走完,下一条才开始,而是像工厂流水线一样重叠起来? 这正...

2026-06-23 9 分钟 组成原理, 组成原理教程, 流水线
组成原理

控制器设计:硬布线控制与微程序控制

控制器设计:硬布线控制与微程序控制 前一篇讲数据通路时,我们已经反复提到一个角色:控制信号。因为数据通路虽然提供了各种可能路径,但真正决定“当前该走哪条路”的,是控制器。 于是问题就进一步落到了控制器本身: 控制器到底是怎么设计出来的?它又...

2026-06-23 9 分钟 组成原理, 组成原理教程, 控制器
组成原理

数据通路基础:单周期 CPU 的核心结构

数据通路基础:单周期 CPU 的核心结构 前一篇讲了指令执行过程,知道一条指令大体会经历取指、译码、执行和写回几个阶段。但如果把视角再往硬件里推进一步,就会自然遇到另一个问题: 这些阶段不是口头说说而已,CPU 内部到底靠什么结构把它们真正...

2026-06-23 9 分钟 组成原理, 组成原理教程, 数据通路