Q1:映象规则 当要把一个块从主存调入 Cache时,如何放置问题 ·三种方式 全相联方式:即所调入的块可以放在 cache中的任何位置 接映象方式:主存中每一块只能存放在 cache中的唯 般,主存块地址i与 cache中块地址j的关系为: =imod(M),M为 cache中的块数 组相黯坠案;x主存中回块婆(在Gech中唯的 块构成,我们称N路组相联 组间直接映象 组内全相联 若 cache中有G组,则主存中的第i块的组号K K=imod (G) 2021/2/4 计算机体系结构 17
Q1:映象规则 • 当要把一个块从主存调入Cache时,如何放置问题 • 三种方式 • 全相联方式:即所调入的块可以放在cache中的任何位置 • 直接映象方式:主存中每一块只能存放在cache中的唯一 位置 一般,主存块地址i 与cache中块地址j 的关系为: j = i mod (M) ,M为cache中的块数 • 组相联映象:主存中每一块可以被放置在Cache中唯一的 一个组中的任意一个位置,组由若干块构成,若一组由n 块构成,我们称N路组相联 • 组间直接映象 • 组内全相联 若cache中有G组,则主存中的第i 块的组号K K = i mod (G), 2021/2/4 计算机体系结构 17
Q1: Where can a block be placed in the upper level? Block 12 placed in 8 block cache Fully associative, direct mapped, 2-way set associative S.A. Mapping Block Number Modulo Number Sets Fully associative Direct mapped Set associative block 12 can go block 12 can go block 12 can go anywhere only into block 4 anywhere in set O (12mod8) (12 mod 4 Block 01234567 Block 01234567 Bock01234567 no Setset setset Block-frame address 0123 Block 1111111111222222222233 0123456789012345678901234567890 2021/2/4 算机体系结构 18
Q1: Where can a block be placed in the upper level? • Block 12 placed in 8 block cache: • Fully associative, direct mapped, 2-way set associative • S.A. Mapping = Block Number Modulo Number Sets 2021/2/4 计算机体系结构 18 0 1 2 3 4 5 6 7 Block no. Fully associative: block 12 can go anywhere 0 1 2 3 4 5 6 7 Block no. Direct mapped: block 12 can go only into block 4 (12 mod 8) 0 1 2 3 4 5 6 7 Block no. Set associative: block 12 can go anywhere in set 0 (12 mod 4) Set 0 Set 1 Set 2 Set 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Block-frame address 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 Block no
Q1的讨论 N-Way组相联:如果每组由N个块构成, cache的块 数为M,则 cache的组数G为MN ·不同相联度下的路数和组数 路数 组数 全相联 直接相联 其他组相联1<N<M 1<G<M 相联度越高, cache空间利用率就越高,块冲突概率就越 小,失效率就越低 ·N值越大,失效率就越低,但 Cache的实现就越复杂,代价 越大 现代大多数计算机都采用直接映象,两路或四路组相联。 2021/2/4 计算机体系结构 19
Q1的讨论 • N-Way组相联:如果每组由N个块构成,cache的块 数为M,则cache的组数G为M/N • 不同相联度下的路数和组数 路数 组数 全相联 M 1 直接相联 1 M 其他组相联 1 < N <M 1 < G < M • 相联度越高,cache空间利用率就越高,块冲突概率就越 小,失效率就越低 • N值越大,失效率就越低,但Cache的实现就越复杂,代价 越大 • 现代大多数计算机都采用直接映象,两路或四路组相联。 2021/2/4 计算机体系结构 19
Q2(1/2):查找方法 ·在 CACHE中每-bock都带有tag域(标记域), 标记分为两类 · Address Tags:标记所访问的单元在哪一块中,这样 物理地址就分为三部分: Address Tags##Bock index##t block offset 全相联映象时,没有 Block index 显然 Address tag越短,查找所需代价就越 Status Tags:标记该块的状态,如vaid,Dity等 Block Address Block Index offset Set select 2021/2/4 计算机体系结构 Data Select
Q2(1/2): 查找方法 • 在CACHE中每一block都带有tag域(标记域), 标记分为两类 • Address Tags:标记所访问的单元在哪一块中,这样 物理地址就分为三部分: Address Tags ## Block index## block Offset 全相联映象时,没有Block Index 显然 Address tag越短,查找所需代价就越小 • Status Tags:标记该块的状态,如Valid, Dirty等 2021/2/4 计算机体系结构 20 Block offset Block Address Tag Index Set Select Data Select
Q2(2/2)查找方法 ·原则:所有可能的标记并行查找, cache的速度至 关重要,即并行查找 并行查找的方法 用相联存储器实现,按内容检索 ·用单体多字存储器和比较器实现 显然相联度N越大,实现查找的机制就越复杂,代 价就越高 无论直接映象还是组相联,查找时,只需比较tag, inde无需参加比较 2021/2/4 计算机体系结构
Q2(2/2)查找方法 • 原则:所有可能的标记并行查找,cache的速度至 关重要,即并行查找 • 并行查找的方法 • 用相联存储器实现,按内容检索 • 用单体多字存储器和比较器实现 • 显然相联度 N越大,实现查找的机制就越复杂,代 价就越高 • 无论直接映象还是组相联,查找时,只需比较 tag, index无需参加比较 2021/2/4 计算机体系结构 21