1. CPU缓存:为何不可或缺?
随着时间的推移,摩尔定律揭示了CPU和内存之间性能差距的加剧。为了缩小这一差距,CPU缓存应运而生。
CPU缓存的功能
-
性能差异的弥补者:将内存中频繁访问的数据和指令加载到L1-L3缓存中,减少CPU等待内存响应的时间。
-
高效的数据存取:CPU缓存以Cache Line为单位读取数据,通常是64字节,这优化了数据的读取过程。
2. CPU缓存的读取机制
CPU在访问数据时,总是优先检查其高速缓存。只有当CPU在Cache中找不到数据的时候,才会去访问内存,并将读取到的数据写入Cache之中。
直接映射缓存
-
地址映射:内存地址被分为索引、组标记和偏移量,利用这种结构将内存地址映射到CPU缓存地址。
-
读取过程:
- 使用内存地址的低位计算缓存中的索引。
- 检查缓存数据的有效性。
- 通过组标记确认所需数据。
- 使用偏移量从数据块中读取所需数据。
3. 缓存写入策略
处理缓存与主内存之间的数据一致性问题
两种主要策略:
-
写直达(Write-Through):