4.6 多体交叉存储器
1.多体交叉存储器的提出背景
2.高位多体交叉存储器的组织方式
3.低位多体交叉存储器的组织方式
4.低位多体交叉存储器的性能分析
4.7 Cache的基本原理
1.存储系统中的Cache视图
- Cache的功能:缓解快速CPU与慢速的主存之间的速度差异
- Cache的理论基础:局部性原理
2.Cache的工作过程
读操作
Cache的数据是有效吗?
DMA(存储器直接访问)修改主存数据可能导致数据无效
[Cache命中:CPU需要的字在Cache中可以找到]
[Cache缺失:CPU在Cache中找不到,就要到主存中找,找到之后读入CPU并将该字所在的数据块导到Cache中的某一行]
写操作
Write Back比Write Through操作快
因为Write Back使用了Cache的快速特性而Write Through没有。
3.Cache地址映射机制
4.Cache的结构
- Cache被分成若干行,每行的大小与主存块相同
- Cache每行包含四个部分,是Cache要保存的信息。Tag从CPU访问主存的地址中剥离得到、Data是与主存交换的数据块、Valid表示Cache中的数据是否有效、Dirty表示主存中的数据是最新。
4.8 相联存储器
1.相联存储器的作用
判断CPU要访问的内容是否在Cache中
2.判断的基本思路
3.相联存储器的基本结构及工作原理
4.相联存储器的一种技术实现
4.9 Cache地址映射与变换方法
1.主存与cache地址映射概述
常见的三种映射方式:
- 全相联
- 直接相联
- 组相联
2.全相联映射的工作原理
- 主存分块,Cache分行,两者大小相同
- 设每块4个字,主存大小为1024个字,则第61个字的主存地址为:
00001111(块号) 01(块内地址) - 主存分块后地址就从一维变成二维
- 映射算法:主存的数据块可映射到Cache任意行,同时将该数据块地址对应行的标记存储体中保存。
全相联映射的工作原理
全相联映射的特点:
- Cache利用率高
- 块冲突率低
- 淘汰算法复杂
应用场合
- 小容量Cache
3.直接映射的工作原理
- 主存分块,Cache分行,两者大小相同
- 主存分块后还将以Cache行数为标准进行分区
- 设每块4个字,主存大小为1024字,Cache分为4行,第61个字的主存地址为:000011 11 01
(区号、区内块号、块内地址) - 主存地址从一维变成三维
- 映射算法:
Cache共n行,主存第j块号映射到Cache的行号为:i=j mod n
即主存的数据块映射到Cache特定行
全相联和直接映射的比较
4.组相连映射的工作原理
- 主存分块,Cache分行,两者大小相同
- Cache分组(每组中包含k行),本例假定K=4
- 主存分块后还将以Cache组数为标准进行分组
- 设每块4个字,主存大小为1024字
- Cache分为4行,第61个字的主存地址为:
0000111 1 01(组号,组内块号,块内地址)
主存地址从一维变成三维
映射算法:
Cache共n组,主存第j块号映射到Cache的组号为:
i=j mod n
即主存的数据块映射到Cache特定组的任意行