🏷️ 知识点:访存过程
设有一主存-Cache 层次的存储器,其主存容量 1MB,Cache 容量 16KB,每字块有 8 个字,每字 32 位,采用直接地址映像方式,若主存地址为 35301H,且 CPU 访问 Cache 命中,则该主存块在 Cache 的第( )字块中(Cache 起始字块为第 0 字块)。
A. 152 B. 153 C. 154 D. 151
[tag_link]
正确答案:A
主存容量为 1MB,即 字节,因此主存地址为 20 位。
Cache 容量为 16KB,即 字节。 每个字为 32 位(即 4 字节),每个字块包含 8 个字,因此块大小为 字节,块内偏移需要 位。 Cache 共有 块,索引需要 位。 在直接映射方式下,主存地址划分为:标签(高 6 位)、索引(中间 9 位)、偏移(低 5 位)。
给定主存地址 35301H,转换为二进制为 0011 0101 0011 0000 0001(共 20 位)。 偏移量为低 5 位(00001),索引为位 5 至位 13(010011000),转换为十进制为
。
也可通过计算主存块号得到:地址 35301H 对应十进制 217857 字节,块号为 (余数为 1),Cache 块号为 。 因此,该主存块位于 Cache 的第 152 字块中。
某存储系统中,主存容量是 Cache 容量的 4096 倍,Cache 被分为 64 块,当主存地址和 Cache 地址采用直接映射方式时,地址映射表的大小应为( )。(假设不考虑一致维护位)
A. bit B. bit C. bit D. bit
[tag_link]
正确答案:B
本题考查 Cache 与主存的映射原理。 由于 Cache 被分为 64 块,那么 Cache 有 64 行,采用直接映射,一行相当于一组。 故而该标记阵列每行存储 1 个标记项,其中主存标记项为 12bit(
,是 Cache 容量的 4096 倍,那就是地址长度比 Cache 长 12 位),加上 1 位有效位,故而为 bit。
注意:主存—Cache 地址映射表(标记阵列)中内容:映射的 Cache 地址(直接映射不需要因为 Cache 地址唯一,组相联只需要组号)、主存标记(命中判断)、有效位。 如下图所示。
下列因素中,与 Cache 的命中率无关的是( )。
A. Cache 块的大小 B. Cache 的容量 C. Cache 的存取速度 D. Cache 的组织方式
[tag_link]
正确答案:C
Cache命中率是指CPU访问数据时在Cache中找到所需数据的概率,它主要受Cache设计参数和结构的影响。
下面分析每个选项:
**A. Cache块的大小**:块大小影响空间局部性的利用。 > 较大的块可以预取更多相邻数据,可能提高命中率; > 但块过大可能导致Cache中块数减少,增加冲突缺失。 > 因此,块大小与命中率相关。 >
**B. Cache的容量**:容量越大,能存储的数据越多,减少容量缺失,从而提高命中率。 > 因此,容量与命中率直接相关。 >
**C. Cache的存取速度**:存取速度指访问Cache的读写时间,它影响CPU访问延迟和系统性能,但不决定数据是否存在于Cache中。 > 命中率关注数据的存在性,而非访问快慢,因此存取速度与命中率无关。 >
**D. Cache的组织方式**:如直接映射、组相联等方式,影响地址映射和冲突处理,不同的组织方式可能导致不同程度的冲突缺失,从而影响命中率。 > 因此,组织方式与命中率相关。 >
综上,与Cache命中率无关的是Cache的存取速度。 >
某计算机的存储系统由 Cache-主存系统构成,Cache 的存取周期为 10ns,主存的存取周期为 50ns。在 CPU 执行一段程序时,Cache 完成存取的次数为 4800 次,主存完成的存取次数为 200 次,该 Cache-主存系统的效率是( )。(设 Cache 和主存不能同时访问)
A. 0.833 B. 0.856 C. 0.958 D. 0.862
[tag_link]
正确答案:A
首先,计算总存取次数:高速缓存完成 4800 次,主存完成 200 次,总次数为
命中率
由于高速缓存和主存不能同时访问,当高速缓存命中时,访问时间仅为高速缓存的存取周期 10 ns;
当高速缓存未命中时,需要先访问高速缓存(耗时 10 ns),发现未命中后再访问主存(耗时 50 ns),总时间为
平均访问时间
代入数值
也可使用简化公式
两种公式结果一致,因为
效率 定义为高速缓存存取周期与平均访问时间的比值,即
对应选项 A。
某计算机 Cache 的容量为 128KB,块大小为 16 字节,采用 8 路组相联映射方式。则字节地址为 1234567H 的单元调入该 Cache 后,其 Tag 为( )。
A. 1234H B. 2468H C. 048DH D. 12345H
[tag_link]
正确答案:C
Cache 容量为 128KB,块大小为 16 字节,因此总块数为 128KB / 16B = 8192 块。 采用 8 路组相联映射,组数为 8192 / 8 = 1024 组,故索引(Index)需要 10 位(2¹⁰ = 1024)。 块内偏移(Offset)需要 4 位(2⁴ = 16 字节)。 地址 1234567H 为 28 位(7 个十六进制数字),因此标记(Tag)位数为 28 - 10 - 4 = 14 位。
Tag 通过将地址右移(Offset 位数 + Index 位数)即 14 位得到。 1234567H 右移 14 位相当于除以 2^14(16384),计算得 1234567H / 4000H ≈ 48DH(或十进制 19088743 / 16384 = 1165,即 48DH)。 选项 C 的 048DH 即为该值,因此 Tag 为 048DH。
在 Cache 和主存构成的两级存储体系中,Cache 的存取时间是 100ns,主存的存取时间是 1000ns,如果希望有效(平均)存取时间不超过 Cache 存取时间 15%,则 Cache 的命中率至少应为( )。(设 Cache 和主存不能同时访问。)
A. 90% B. 98% C. 95% D. 99%
[tag_link]
正确答案:D
在高速缓存与主存不能同时访问的两级存储体系中,有效存取时间取决于命中率 。
命中时存取时间为高速缓存存取时间 ,未命中时需先访问高速缓存( )再访问主存( ),总时间为 。 因此有效存取时间公式为:
题目要求有效存取时间不超过高速缓存存取时间的 ,即不超过 。 代入不等式:
解得:
即命中率至少为 。 选项中 满足要求,因此高速缓存命中率至少应为 。
下列说法中,错误的是( )。
A. II 和 III B. III 和 IV C. I、II 和 IV D. I、II、III 和 IV
[tag_link]
正确答案:D
我们需要判断每个说法的正确性。 I. 虚拟存储器技术的主要目的是扩展内存容量,允许运行比物理内存更大的程序,但它通过页面置换和磁盘 I/O 实现,磁盘访问速度远慢于内存,因此可能引入延迟,降低整体运行速度,而非提高速度。 该说法错误。
II. 存取时间(Access Time)通常指从启动一次存储器操作(如读操作)到完成该操作所需的时间,即单次访问的延迟。 连续两次读操作所需的最小时间间隔是存储器的周期时间(Cycle Time),它可能大于存取时间,因为存储器需要恢复时间。 因此,该说法混淆了存取时间与周期时间,错误。
III. Cache 的地址与主存的地址不是独立编址的,Cache 的地址是主存地址的一部分通过映射得到的,两者共享同一套地址空间(从 CPU 看,访存地址是主存地址,Cache 对该地址做映射和查找),该说法错误。
IV. 主存通常由易失性的随机读写存储器(如 DRAM)构成,但并非绝对。 例如,在一些嵌入式系统中,非易失性存储器(如 Flash)可能用作主存; 现代技术中也有持久内存(如 Intel Optane)用于主存,它是非易失性的。 因此,说主存“都是”易失性的随机读写存储器过于绝对,错误。 综上,错误的说法是 I、II、III 和 IV,对应选项 D。
某虚拟存储系统采用页式存储管理,只有 a、b 和 c 三个页框,页面访问的顺序为: 0, 1, 2, 4, 2, 3, 0, 2, 1, 3, 2, 3, 0, 1, 4 若采用 FIFO 替换算法,则命中率为( )。
A. 20% B. 26.7% C. 15% D. 50%
[tag_link]
正确答案:B
本题考查 FIFO 算法。 FIFO 算法指淘汰**先进入**的,易知替换顺序为:
| 走向 | 0 | 1 | 2 | 4 | 2 | 3 | 0 | 2 | 1 | 3 | 2 | 3 | 0 | 1 | 4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| c | 2 | 2 | 2 | 2 | 0 | 0 | 0 | 3 | 3 | 3 | 3 | 3 | 3 | ||
| b | 1 | 1 | 1 | 1 | 3 | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 4 | |
| a | 0 | 0 | 0 | 4 | 4 | 4 | 4 | 2 | 2 | 2 | 2 | 2 | 0 | 0 | 0 |
| 命中否 | √ | √ | √ | √ |
表中除了标注为命中的,其余均未命中,所以命中率为 。 >
下列关于 Cache 和虚拟存储器的说法中,错误的有( )。 I. 当 Cache 失效(即不命中)时,处理器将会切换进程,以更新 Cache 中的内容 II. 当虚拟存储器失效(如缺页)时,处理器将会切换进程,以更新主存中的内容 III. Cache 和虚拟存储器由硬件和 OS 共同实现,对应应用程序均是透明的 IV.虚拟存储器的容量等于主存和辅存的容量之和
A. I 和 IV B. III 和 IV C. I、II 和 III D. I、III 和 IV
[tag_link]
正确答案:D
本题要求找出关于 Cache 和虚拟存储器的错误说法。
下面对各说法逐一分析:
说法 I:当 Cache 失效(不命中)时,处理器不会切换进程来更新 Cache 内容。 > Cache 失效由硬件直接处理,处理器可能停顿或继续执行其他指令,但进程切换由操作系统调度,与 Cache 失效无关。 > 因此说法 I 错误。 >
说法 II:当虚拟存储器失效(如缺页)时,处理器会切换进程。 > 缺页中断会触发操作系统介入,当前进程被阻塞,操作系统调度另一个进程运行,同时将所需页面从辅存调入主存。 > 因此说法 II 正确。 >
说法 III:Cache 通常由硬件独立管理(如 CPU 缓存),对操作系统和应用程序透明; > 虚拟存储器则由硬件(如 MMU)和操作系统共同实现,对应用程序透明。 > 但 Cache 并非由硬件和 OS 共同实现,OS 一般不参与 Cache 的具体操作。 > 因此说法 III 错误。 >
说法 IV:虚拟存储器的容量由地址空间决定(如 32 位系统为 4GB),并非主存和辅存的物理容量之和。 > 虚拟存储器利用主存和辅存扩展地址空间,但容量不等于两者之和。 > 因此说法 IV 错误。 >
综上,错误说法为 I、III、IV,对应选项 D。 >
下列命中组合情况中,一次访存过程中不.可能发生的是()。
A.TLB 未命中,Cache 未命中,Page 未命中 B.TLB 未命中,Cache 命中,Page 命中 C.TLB 命中,Cache 未命中,Page 命中 D.TLB 命中,Cache 命中,Page 未命中
[tag_link]
正确答案:D
Cache 中存放的是主存的一部分副本, TLB (快表)中存放的是 Page(页表)的一部分副本。
在同时具有虚拟页式存储器(有 TLB)和 Cache 的系统中,CPU 发出访存命令,先查找对应的 Cache 块。
若 Cache 命中,则说明所需内容在 Cache 内,其所在页面必然已调入主存,因此 Page 必然命中,但 TLB 不一定命中。
若 Cache 不命中,并不能说明所需内容未调入主存,和 TLB、Page 命中与否没有联系。
但若 TLB 命中,Page 也必然命中;
而当 Page 命中,TLB 则未必命中,故 D 不可能发生。
【提示】本题看似既涉及虚拟存储器又涉及 Cache,实际上这里并不需要考虑 Cache 命中与否。
因为一旦缺页,说明信息不在主存,那么 TLB 中就一定没有该页表项,所以不存在 TLB 命中、Page 缺失的情况,也根本谈不上访问 Cache 是否命中。
下列因素中,影响请求分页系统有效(平均)访存时间的是( )。
Ⅰ. 缺页率
Ⅱ. 磁盘读写时间
Ⅲ. 内存访问时间
Ⅳ. 执行缺页处理程序的 CPU 时间
A. 仅Ⅱ、Ⅲ B. 仅Ⅰ、Ⅳ C. 仅Ⅰ、Ⅲ、Ⅳ D. Ⅰ、Ⅱ、Ⅲ和Ⅳ
[tag_link]
正确答案:D
I 影响缺页中断的频率,缺页率越高,平均访存时间越长;Ⅱ 和 Ⅳ 影响缺页中断的处理时 间,中断处理时间越长,平均访存时间越长;皿影响访问页表和访问目标物理地址的时间, 故Ⅰ、Ⅱ、Ⅲ 和Ⅳ 均正确。
(12 分)以下是计算两个向量点积的程序段:
请回答下列问题: (1)请分析访问数组 x 和 y 时的时间局部性和空间局部性? (2)假设数据 Cache 采用直接映射方式,Cache 容量为 32 字节,每个主存块大小为 16 字节;编译器将变量 sum 和 i 分配在寄存器中,内存按字节编址,数组 x 存放在 0000 0040H 开始的 32 字节的连续存储区中,数组 y 则紧跟在 x 后进行存放。该程序数据访问的命中率是多少?要求说明每次访问时 Cache 的命中情况。 (3)将上述(2)中的数据 Cache 改用 2-路组相联映射方式,块大小改为 8 字节,其他条件不变,则该程序数据访问的命中率是多少? (4)在上述(2)中条件不变的情况下,将数组 x 定义为 float[12],则数据访问的命中率是多少?
[tag_link]
**【答案】** (1)时间局部性差,空间局部性好。 (2)命中率为0%。 (3)命中率为50%。 (4)命中率为75%。
**【解析】** (1)时间局部性指同一数据在短期内被重复访问的可能性,数组 `x` 和 `y` 的每个元素在循环中仅被访问一次,因此时间局部性较差;空间局部性指访问附近数据的可能性较高,数组元素按顺序访问且内存连续,因此空间局部性较好。
(2) Cache 共有 32B / 16B = 2 行;4 个数组元素占一个主存块(现在的计算机中 float 型一般为 32 位,占 4B);数组 x 的 8 个元素(共 32B)分别存放在主存 40H 开始的 32 个单元中,共占有 2 个主存块,其中 x[0]~x[3] 在第 4 块(00H-0FH 为第 0 块,10H-1FH 为第 1 块,以此类推,40H-4FH 为第 4 块,下同),x[4]~x[7] 在第 5 块中,数组 y 的 8 个元素分别在主存第 6 块和第 7 块中。所以,x[0]~x[3] 和 y[0]~y[3] 都映射到 Cache 第 0 行;x[4]~x[7] 和 y[4]~y[7] 都映射到 Cache 第 1 行,如下图所示。因为 x[i] 和 y[i](0≤i≤7)总是映射到同一个 Cache 行,相互淘汰对方,故每次都不命中,命中率为 0。
| Cache——主存地址 | 40H~5FH | 60H~7FH |
|---|---|---|
| 第 0 行 | x[0]~x[3](第四块) | y[0]~y[3](第六块) |
| 第 1 行 | x[4]~x[7](第五块) | y[4]~y[7](第七块) |
**(3)** 若 Cache 改用 2-路组相联,块大小改为 8B,则 Cache 共有 4 行,每组 2 行,共 2 组。两个数组元素占一个主存块。数组 x 占 4 个主存块,数组元素 x[0]~x[1],x[2]~x[3],x[4]~x[5],x[6]~x[7] 分别在第 8~11 块中(与上题同理,这里 00H~07H 为第 0 块,08H~0FH 为第 1 块,以此类推);数组 y 占 4 个主存块,数组元素 y[0]~y[1],y[2]~y[3],y[4]~y[5],y[6]~y[7] 分别在第 12~15 块中,映射关系如下图所示:因为每组有两行,所以 x[i] 和 y[i](0≤i≤7)虽然映射到同一个 Cache 组,但可以存放到同一组的不同 Cache 行内,因此,不会发生冲突。每调入一个主存块,装入的 2 个数组元素中,第 2 个数组元素总是命中,故命中率为 50%。
| Cache——主存地址 | 40H~4FH | 50H~5FH | 60H~6FH | 70H~7FH |
|---|---|---|---|---|
| 第一组 | x[0]~x[1] | x[4]~x[5] | y[0]~y[1] | y[4]~y[5] |
| 第二组 | x[2]~x[3] | x[6]~x[7] | y[2]~y[3] | y[6]~y[7] |
**(4)** 将数组 x 定义为 12 个元素后,则 x 共有 48B,使得 y 从主存第 7 块开始存放,即 x[0]~x[3] 在第 4 块,x[4]~x[7] 在第 5 块,x[8]~x[11] 在第 6 块中;y[0]~y[3] 在第 7 块,y[4]~y[7] 在第 8 块。因此,x[i] 和 y[i](0≤i≤7)就不会映射到同一个 Cache 行中,映射关系如下图所示。每调入一个主存块,装入 4 个数组元素,第一个元素不命中,后面 3 个总命中,故命中率为 75%。
| Cache——主存地址 | 40H~5FH | 60H~7FH | 80H~8FH |
|---|---|---|---|
| 第 0 行 | x[0]~x[3](第四块) | x[8]~x[11](第六块) | y[4]~y[7](第八块) |
| 第 1 行 | x[4]~x[7](第五块) | y[0]~y[4](第七块) | — |
(11 分)某计算机的主存地址数为 16 位,按字节编址。假定数据 Cache 中最多存放 32 个主存块,采用 2-路组相联方式,块大小为 16B,每块设置了 1 位有效位。采用一次性写回策略,为此每块设置了 1 位“脏”位。请问:
(1)主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置和位数分别是多少?该数据 Cache 的总位数是多少?
(2)设字长为 4B,Cache 起始为空,CPU 从主存单元 0,1,…,99,依次读出 100 个字(主存一次读出一个字),并重复按此次序读 6 次,问命中率是多少?
(3)如果块表中组号为 10、行号为 1 的 Cache 块的标记为 36H,有效位为 1,则在 CPU 送来主存的字地址为 36A8H 时是否命中?若命中,此时 Cache 的字地址为多少?
[tag_link]
**【解析】** (1) 块大小为 16B,故块内地址为 4 位;Cache 有 32 个主存块,采用 2-路组相联,Cache 分为 16 组(32÷2=16),故组号为 4 位;剩余位为标记,即有 16 位 - 4 位 - 4 位 = 8 位。数据 Cache 的总位数应包括标记项的总位数和数据块的位数。每个 Cache 块对应一个标记项,标记项中包括标记字段、有效位和“脏”位(用于写回法)。主存地址中 Tag 为 8 位;组号为 4 位;块内地址为 4 位。标记项的总位数 = 32 × (8 + 1 + 1) = 16 × 10 = 320,数据块的位数 = 32 × 16 × 8 = 4096,因此数据 Cache 的总位数 = 320 + 4096 = 4416。
(2) 由于每个字块有 4 个字,所以 CPU 的 0, 1, …, 99 字单元分别在字块 0 至 24 中,采用 2-路组相联映射,字块 0~字块 15 将分别映射到第 0 至第 15 组中;字块 16~字块 24 将分别映射到第 0 至第 8 组中。但 Cache 起始为空,每一组有两个 Cache 块,因此当访问主存块 16 时不会将主存块 0 置换出。所以第一次读时每一块中的第一个字没命中,但后面 5 次每个字均可以命中。所以命中率 = (6×100 - 25)/(6×100) = 95.8%。
(3) 字地址 36A8H 对应的 Cache 组号为 AH=10、标记为 36H,块表中组号为 10、行号为 1 的块标记为 36H,且有效位为 1,则当 CPU 送来主存的字地址为 36A8H 时,其主存块号为 36H,所以命中。此时 Cache 字地址为 A8H。
假定主存地址为 32 位,按字节编址,指令 Cache 和数据 Cache 与主存之间均采用 8 路组相联映射方式,直写(WriteThrough)写策略和 LRU 替换算法,主存块大小为 64B,数据区容量各为 32KB。开始时 Cache 均为空。请回答下列问题。
(1) Cache 每一行中标记(Tag)、LRU 位各占几位?是否有修改位?
(2) 有如下 C 语言程序段:
for(k = 0; k < 1024; k++)
s[k] = 2 * s[k];
若数组 s 及其变量 k 均为 int 型,int 型数据占 4B,变量 k 分配在寄存器中,数组 s 在主存中的起始地址为 008000C0H,则该程序段执行过程中,访问数组 s 的数据 Cache 缺失次数为多少?
(3) 若 CPU 最先开始的访问操作是读取主存单元 00010003H 中的指令,简要说明从 Cache 中访问该指令的过程,包括 Cache 缺失处理过程。
[tag_link]
1)主存块大小为 64B=2 字节,所以主存地址低 6 位为块内地址,Cache 组数为32KB/(64B×8) = 64 =26,故主存地址中间 6 位为 Cache 组号,主存地址中高 32-6-6=20 位为标记,采用 8 路组相联映射,故每行中的 LRU 位占 3 位,采用直写方式,故没有修改位。 2)0080 00C0H = 0000 0000 1000 0000 0000 0000 1100 0000B,主存地址的低 6 位为块内地址,为全 0,故 s 位于一个主存块的开始处,占 1024×4B/64B=64 个主存块:在执行程序段的过程中,每个主存块中的 64B/4B=16 个数组元素依次读、写 1 次,因而对每个主存块,总是第一次访问缺失,此时会将整个主存块调入 Cache,之后每次都命中。综上,数组 s 的数据 Cache 访问缺失次数为 64 次。 3)0001 0003H = 0000 0000 0000 0001 0000 0000 0000 0011B,根据主存地址划分可知,组索引为 0,故该地址所在主存块被映射到指令 Cache 的第 0 组;因为 Cache 初始为空,所有 Cache 行的有效位均为 O,所以 Cache 访问缺失。此时,将该主存块取出后存入指令 Cache 的第 0 组的任意一行,并将主存地址高 20 位(00010H)填入该行标记字段,设置有效位,修改 LRU 位,最后根据块内地址 000011B 从该行中取出相应的内容。
(11 分)某按字节编址,主存容量为 1MB,采用两路组相联方式(每组仅有两块)的 Cache 容量为 64KB,每个数据块为 256B。已知访问开始前第 2 组(组号为 1)的地址阵列内容如下图所示(第一列为组内块号):
Cache 采用 LRU 替换策略。
(1) 分别说明主存地址中标记 (Tag)、组号和块内地址三部分的位置和位数。 (2) 若 CPU 要顺序访问地址为 20124H、58100H、60140H 和 60138H 等 4 个主存单元。上述 4 个数能否直接从 Cache 中读取,若能,请给出实际访问的 Cache 地址。第 4 个数访问结束后,上图中的内容将如何变化。 (3) 若 Cache 完成存取的次数为 5000 次,主存完成存取的次数为 200 次。已知 Cache 存取周期为 40ns,主存存取周期为 160ns,求该 Cache-主存系统的访问效率。(注:默认为 Cache 与主存同时访问)
[tag_link]
**【解析】** 本题考查 Cache 与主存的映射、替换算法。在采用全相联和组相联映像方式从主存向 Cache 传送一个新块,而 Cache 中的空间已被占满时,就需要把原来存储的一块替换掉。LRU 算法(最近最少使用法)是把 CPU 近期最少使用的块作为被替换的块。
(1)按字节编址,每个数据块为 256B,则块内地址为 8 位;主存容量为 1MB,则主存地址为 20 位;Cache 容量为 64KB,Cache 共有 256 块,采用两路组相连,所以 Cache 共有 128 组( ),则组号为 7 位;标记(Tag)的位数为 位。主存和 Cache 的地址格式如下表所示:
注意:求解标记、组号和块内地址的方法如下: ① 块内地址位数 ② 组号位数 ③ 标记号
(2)将 CPU 要顺序访问的 4 个数的地址写成二进制,可以发现:
,组号为 1,是第 2 组的块,根据题中阵列内容的图可知,现在 Cache 内有这个块,第 1 次访问命中,实际访问的 Cache 地址为 0124H。
,组号为 1,是第 2 组的块,根据题中阵列内容的图可知,现在 Cache 内有这个块,第 2 次访问命中,实际访问的 Cache 地址为 0100H(注意:组内块号并不包含在 Cache 地址中,详情可参考唐朔飞的教材)。
,组号为 1,是第 2 组的块,但 Cache 中无此块,第 3 次访问不命中,根据 LRU 算法,替换掉第 0 块位置上的块,变化后的地址阵列如下表。
- ,组号为 1,是第 2 组的块,与上一个地址处于同一个块,此时这个块已调入 Cache 中,所以第 4 次访问命中,实际访问的 Cache 地址为 0138H。第 4 个数访问结束时,地址阵列的内容与刚才相同。
(3)Cache 的命中率
主存慢于 Cache 的倍率
访问效率
