Q1: Where can a block be placed in the pper 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) (12mod4) Block 01234567 Block 01234567 B|ocK01234567 no no SetSet setSet Block-frame address 0123 Block 111111111222222222233 no 01234567890123456789012345678901 2021-2-4 计算机体系结构
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 计算机体系结构 22 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的讨论 NWay组相联:如果每组由N个块构成, cache的 块数为M,则 cache的组数G为M/N 不同相联度下的路数和组数 路数 组数 全相联 直接相联 其他组相联1<N<M 1<G<M 相联度越髙, cache空间利用率就越高,块冲突概率就越 失效率就越低 N值越大,失效率就越低,但 Cache的实现就越复杂,代 价越大 现代大多数计算机都采用直接映象,两路或四路组相联。 2021-2-4 计算机体系结构
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 计算机体系结构 23
Q2(1/2):查找方法 在CACH中每 block都带有tag域(标记域), 标记分为两类 Address Tags:标记所访问的单元在哪一块中,这 样物理地址就分为三部分: Address Tags## Block index## block offset 全相联映象时,没有 Block index 显然 Address tag越短,查找所需代价就越小 Status Tags:标记该块的状态,如vlid, Dirty等 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 计算机体系结构 24 Block offset Block Address Tag Index Set Select Data Select
Q2(2/2)查找方法 原则:所有可能的标记并行查找, cache的速度至 关重要,即并行查找 ·并行查找的方法 用相联存储器实现,按内容检索 用单体多字存储器和比较器实现 ·显然相联度N越大,实现查找的机制就越复杂,代 价就越高 无论直接映象还是组相联,查找时,只需比较tag index无需参加比较 2021-2-4 计算机体系结构
Q2(2/2)查找方法 • 原则:所有可能的标记并行查找,cache的速度至 关重要,即并行查找 • 并行查找的方法 − 用相联存储器实现,按内容检索 − 用单体多字存储器和比较器实现 • 显然相联度 N越大,实现查找的机制就越复杂,代 价就越高 • 无论直接映象还是组相联,查找时,只需比较 tag, index无需参加比较 2021-2-4 计算机体系结构 25
Tag和数据阵列并行访问的逻辑结构 Tag array Data array Way0…WayN Way o Way N-1 Tags i ↑Wamⅸ inae offset gne Address HitLess D ata FIGURE 2.1: High-evel logical cache organization 2021-2-4 计算机体系结构
Tag和数据阵列并行访问的逻辑结构 2021-2-4 计算机体系结构 26