计算机原理 4.9 Cache地址映射与变换方法

1、主存与cache地址映射概述

 主存数据如何迁至Cache才能实现快速查找?

常见的三种映射方式:

全相联

直接相联

组相联

2、全相联映射的工作原理

 主存分块,Cache分行,两者大小相同。

设每块4个字,主存大小为1024个字,则第61个字的主存地址为:

00001111    01  (块号     块内地址)

主存分块后地址就从一维变成二维

映射算法:主存的数据块可映射到Cache任意行,同时将该数据块地址对应行的标记存储体中保存

 

 全相联映射的特点:

1、cache利用率高

2、块冲突率低

3、淘汰算法复杂

应用场合:

小容量Cache

 

3、直接映射的工作原理

 主存分块,Cache分行,两者大小相同

主存分块后还将以cache行数为标准进行分区

设每块4个字,主存大小为1024个字,Cache分为4行,第61个字的主存地址为:

000011    11    01(区号,区内块号,块内地址)

主存地址从一维变成三维

映射算法:

Cache共n行,主存第j块号映射到Cache的行号为:

i=j mod n

即主存的数据块映射到Cache特定行。

 

 

 直接映射的特点

Cache利用率低

块冲突率高

淘汰算法简单

应用场合:

大容量Cache

4、组相联映射的工作原理

主存分块,cache分行,两者大小相同

Cache分组(分组中包含K行),本例假定K=4

主存分块后还将以Cache组数为标准进行分组(本例中,Cache共8行,两组,所以Cache每两个块就分一个组)

设每块4个字,主存大小为1024个字,Cache分为4行,第61个字的主存地址为

09000111   1   01  (组号,组内块号,块内地址)

主存地址从一维变成三维

映射算法:

Cache共n组,主存第j块号映射到Cache的组号为:

i=j mod n

即主存的数据块映射到Cache特定组的任意行。

 

 组相联映射各方面特点都位于全相联映射和直接映射之间。

原文地址:https://www.cnblogs.com/fate-/p/13171562.html