“软件设计师精讲 Cache”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第57行: | 第57行: | ||
!直接相联映像 | !直接相联映像 | ||
!高 | !高 | ||
− | ! | + | !简单 |
|- | |- | ||
!全相联映像 | !全相联映像 | ||
!低 | !低 | ||
− | ! | + | !复杂 |
|- | |- | ||
!组相联映像 | !组相联映像 | ||
!中 | !中 | ||
− | ! | + | !折中 |
|} | |} |
2024年5月13日 (一) 13:07的版本
https://www.bilibili.com/video/BV13U4y1E7oA/?p=18
Cache-概念
它可以解决CPU与主存之间速度、容量不匹配的问题
- 在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。
- 使用Cache改善系统性能的依据是程序的局部性原理。(时间局部性、空间局部性)
三级存储体系。 不包含寄存器。
- 如果以h代表对 Cache 的访问命中率,t1 表示 Cache 的周期时间,t2 表示主存储器周期时间,以读操作为例, 使用“Cache+主存储器”的系统的平均周期为 t3,则 t3=h×t1+(1-h)×t2 |其中,(1-h) 又称为失效率(未命中率)。
- 直接相联映像:硬件电路较简单,但冲突率很高。
- 全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低。
- 组相联映像:直接相联与全相联这中。
注:主存和Cache之间的地址映射由硬件直接完成。
Cache-映像
地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)。
例如,某机的主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB。
Cache-直接相联映像
特点:
电路简单
冲突率高
Cache-全相联映像
冲突率低;
电路复杂;
Cache-组相联映像
电路复杂度折中
冲突率折中
Cache-映像
冲突率
(高、中、低) |
电路复杂度
(复杂、简单、折中) | |
---|---|---|
直接相联映像 | 高 | 简单 |
全相联映像 | 低 | 复杂 |
组相联映像 | 中 | 折中 |