“软件设计师精讲 Cache”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
 
(未显示同一用户的8个中间版本)
第19行: 第19行:
  
 
例如,某机的主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB。
 
例如,某机的主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB。
 +
 +
 +
=== Cache-直接相联映像 ===
 +
[[文件:Cache直接相联映像.png|无|缩略图|600x600像素]]特点:
 +
 +
电路简单
 +
 +
冲突率高
 +
 +
 +
=== Cache-全相联映像 ===
 +
[[文件:Cache-全相联映像.png|无|缩略图|600x600像素]]
 +
 +
冲突率低;
 +
 +
电路复杂;
 +
 +
 +
 +
=== Cache-组相联映像 ===
 +
[[文件:Cache组相联映像.png|无|缩略图|600x600像素]]
 +
电路复杂度折中
 +
 +
冲突率折中
 +
 +
 +
 +
=== Cache-映像 ===
 +
{| class="wikitable"
 +
|+
 +
!
 +
!冲突率
 +
(高、中、低)
 +
!电路复杂度
 +
(复杂、简单、折中)
 +
|-
 +
!直接相联映像
 +
!高
 +
!简单
 +
|-
 +
!全相联映像
 +
!低
 +
!复杂
 +
|-
 +
!组相联映像
 +
!中
 +
!折中
 +
|}
 +
 +
 +
=== 例题讲解 ===
 +
以下关于Cache(高速缓冲存储器)的叙述中,不正确的是()。
 +
 +
A、Cache 的设置扩大了主存的容量  √
 +
 +
B、Cache 的内容是主存部分内容的拷贝
 +
 +
C、Cache 的命中率并不随其容量增大线性地提高
 +
 +
D、Cache 位于主存与CPU之间
 +
 +
 +
 +
 +
在程序执行过程中,高速缓存(Cache)与主存间的地址映射由()
 +
 +
A、操作系统进行管理
 +
 +
B、存储管理软件进行管理
 +
 +
C、程序员自行安排
 +
 +
D、硬件自动完成  √
 +
 +
 +
 +
主存与Cache的地址映射方式中,()方式可以实现主存任意一块装入Cache中任意位置,只有装满才需要替换。
 +
 +
A、全相联  √
 +
 +
B、直接映射
 +
 +
C、组相连
 +
 +
D、串并联

2024年5月13日 (一) 13:17的最新版本

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直接相联映像.png

特点:

电路简单

冲突率高


Cache-全相联映像

Cache-全相联映像.png

冲突率低;

电路复杂;


Cache-组相联映像

Cache组相联映像.png

电路复杂度折中

冲突率折中


Cache-映像

冲突率

(高、中、低)

电路复杂度

(复杂、简单、折中)

直接相联映像 简单
全相联映像 复杂
组相联映像 折中


例题讲解

以下关于Cache(高速缓冲存储器)的叙述中,不正确的是()。

A、Cache 的设置扩大了主存的容量 √

B、Cache 的内容是主存部分内容的拷贝

C、Cache 的命中率并不随其容量增大线性地提高

D、Cache 位于主存与CPU之间



在程序执行过程中,高速缓存(Cache)与主存间的地址映射由()

A、操作系统进行管理

B、存储管理软件进行管理

C、程序员自行安排

D、硬件自动完成 √


主存与Cache的地址映射方式中,()方式可以实现主存任意一块装入Cache中任意位置,只有装满才需要替换。

A、全相联 √

B、直接映射

C、组相连

D、串并联