标签:组成原理

Cache 写策略:写直达、写回与替换算法

Cache 写策略:写直达、写回与替换算法 上一篇讲了 Cache 映射策略,解决的是“主存块能放到哪里”的问题。但 Cache 真正运行起来后,还会遇到另外两个非常现实的问题: 当 CPU 要修改数...

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23

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

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

2026-06-23