CPU 高速缓存
存储器的分层结构:

问题:为什么这种存储器层次结构行之有效呢?
衡量 CPU 性能的两个指标:
-
响应时间(或执行时间):执行一条指令平均时间
-
吞吐量,就是 1 秒内 CPU 可以执行的指令的总条数
响应时间越小、吞吐量越大,那么CPU的性能当然就越好了。

高速缓存在 CPU 芯片中,位于寄存器 文件和主存之间

为什么需要高速缓存呢?
随着时间变迁,CPU和内存之间的性能差距越来越大:

为了弥补两者之间的性能差异,我们在现代 CPU 中引入了高速缓存。
高速缓存寻址
问题:如何定位 CPU 高速缓存中的数据?

多处理器系统
-
一般的话 CPU 同一时刻只能执行一条指令(也可能同一时刻执行多条指令的不同阶段),也就是只能串行执行指令
-
多处理器系统将多个 CPU 集成到一个集成电路芯片上,每个 CPU 称为一个 CPU 核心
多核心处理器
- 使得同一时刻可以同时并行的执行多条指令,从而提高处理器的吞吐量
- 超线程技术可以使得一个核心当两个核心用,称为逻辑处理器