计算机组成原理 第四章 存储系统(2)

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特定组的任意行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了107 篇原创文章 · 获赞 68 · 访问量 7763

猜你喜欢

转载自blog.csdn.net/weixin_43092232/article/details/105127204