【操作系统笔记】高速缓存

CPU 高速缓存

存储器的分层结构:

问题:为什么这种存储器层次结构行之有效呢?

衡量 CPU 性能的两个指标:

  • 响应时间(或执行时间):执行一条指令平均时间

  • 吞吐量,就是 1 秒内 CPU 可以执行的指令的总条数

响应时间越小、吞吐量越大,那么CPU的性能当然就越好了。

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

为什么需要高速缓存呢?

随着时间变迁,CPU和内存之间的性能差距越来越大:

为了弥补两者之间的性能差异,我们在现代 CPU 中引入了高速缓存。





高速缓存寻址

问题:如何定位 CPU 高速缓存中的数据?

多处理器系统

  • 一般的话 CPU 同一时刻只能执行一条指令(也可能同一时刻执行多条指令的不同阶段),也就是只能串行执行指令

  • 多处理器系统将多个 CPU 集成到一个集成电路芯片上,每个 CPU 称为一个 CPU 核心

多核心处理器

  • 使得同一时刻可以同时并行的执行多条指令,从而提高处理器的吞吐量
  • 超线程技术可以使得一个核心当两个核心用,称为逻辑处理器



相关推荐
添砖java‘’19 小时前
常见的进程间通信方式详解
linux·c++·操作系统·信息与通信·进程通信
西西弗Sisyphus1 天前
C++ 实现支持 32 位和 64 位进程的模块枚举
开发语言·c++·操作系统
悄悄敲敲敲2 天前
操作系统的运行-中断
linux·操作系统
江湖人称贺行风3 天前
操作系统八股
操作系统·八股
Trouvaille ~3 天前
【Linux】进程调度与环境变量:Linux内核的智慧
linux·运维·服务器·操作系统·进程·环境变量·调度算法
肆忆_3 天前
Day5:线程池进阶——我从「只会跑 void 任务」到「能返回 future」,并用 Demo 验证跑通
操作系统
CS创新实验室3 天前
计算机考研408【操作系统】核心知识点总结
java·linux·考研·计算机·操作系统·408
_Voosk3 天前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
OpenAnolis小助手3 天前
构建新计算范式下的开源生态,龙蜥技术生态分论坛回顾来了
开源·操作系统·龙蜥社区·openanolis
OpenAnolis小助手3 天前
专访 | 深耕八载,双向赋能:阿里云与龙蜥的开源共生之路
开源·云计算·操作系统·龙蜥社区·openanolis