3组相联映象及其变换 1)思想:简要说明如下图437所示,将 Cache空间 和主存空间都分组,每组S块(S=2)。 Cache一共 2"个块,分成Q组(Q=2,整个 Cache是一区。 主存分成与 Cache一样大小的2个区,其地址按 区号、组号、组内块号、块内地址分成对应的4个 字段。主存地址的组号、组内块号分别用q、S字 段表示,它们的宽度和位置与 Cache地址的q、s 是一致的
3.组相联映象及其变换 1)思想:简要说明如下图4.37所示,将Cache空间 和主存空间都分组,每组S块(S=2 s )。Cache一共 2 ncb个块,分成Q组(Q= 2q ),整个Cache是一区。 主存分成与Cache一样大小的2 nd个区,其地址按 区号、组号、组内块号、块内地址分成对应的4个 字段。主存地址的组号、组内块号分别用q、s ' 字 段表示,它们的宽度和位置与Cache地址的q、s 是一致的
2)规则:组相联映象指的是各组之间直接映象,但 组内各块间则是全相联映象。如图43所示
2)规则:组相联映象指的是各组之间直接映象,但 组内各块间则是全相联映象。如图4.37所示
-ncb 1位2位 1位1位2位 组号内块号块内地 no nn号组号阻内块号内地址 mr 主存 块 Cache 第0组 0块位置0 第0组 0-12-34 3 第0区 2 ( Cache容量) 第1组 7-13 第1组 0 10-1|2第组 iT-13 组内全相联 1z-10 第1区 组间直接相联 ( Cache容量 13 图437组相联映象规则、上二2)第1组 3
组号 q 组内块号 s 块内地址 ncr 组号 q 组内块号 s' 块内地址 nmr 区号 nd 1位 2位 1位 1位 2位 ncb nmb nc nm 块位置0 块0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 9 10 11 12 13 14 15 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 第0组 第0组 第1组 第1组 第0组 第1组 第0区 (Cache容量) 第1区 (Cache容量) Cache 主存 组内全相联 组间直接相联 图4.37 组相联映象规则
3)讨论 当组相联映象的S值大到等于Cche的块数即s=ncb 时就变成了全相联映象,而当S值小到只有1块即无s 字段)时就变成了直接映象。因此全相联映象和直接映 象只是组相联映象的两个极端。在 Cache空间大小及 块的大小都已经确定的情况下, Cache的总块数就定 了,但结构设计者仍可以对S和Q值进行选择。Q和S 的选取主要依据对块冲突概率、块失效率、映象表复 杂性和成本、查表速度等的折衷权衡。组内块数S愈 多,块冲突概率和块失效率愈低,映象表愈复杂、成 本愈高,查表速度愈慢。所以通常采用在典型工作负 荷下进行模拟而定
3)讨论 当组相联映象的S值大到等于Cache的块数(即s= ncb) 时就变成了全相联映象,而当S值小到只有1块(即无s 字段)时就变成了直接映象。因此全相联映象和直接映 象只是组相联映象的两个极端。在Cache空间大小及 块的大小都已经确定的情况下,Cache的总块数就定 了,但结构设计者仍可以对S和Q值进行选择。Q和S 的选取主要依据对块冲突概率、块失效率、映象表复 杂性和成本、查表速度等的折衷权衡。组内块数S愈 多,块冲突概率和块失效率愈低,映象表愈复杂、成 本愈高,查表速度愈慢。所以通常采用在典型工作负 荷下进行模拟而定
4)地址变换 区号丁组号组内块号块内地址 d n mr nts 直接 直接 组中选 块失效(相状比会)相等 不等 组号组内块号内地址 s n nc 2行 相联比较 表的总容量为 2cb=20·2行 s s
4)地址变换 组号 q 组内块号 s' 块内地址 nmr 区号 nd 组号 q 组内块号 s 块内地址 ncr nm nc 直接 直接 相联比较 不等 块失效 相等 • 相联比较 nd s' s • nd +s' 表的总容量为 2 ncb = 2 q·2 s行 2 q 组 中 选 1 2 s行