【考研类试卷】计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析.doc

上传人:towelfact221 文档编号:1389828 上传时间:2019-12-03 格式:DOC 页数:46 大小:287KB
下载 相关 举报
【考研类试卷】计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析.doc_第1页
第1页 / 共46页
【考研类试卷】计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析.doc_第2页
第2页 / 共46页
【考研类试卷】计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析.doc_第3页
第3页 / 共46页
【考研类试卷】计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析.doc_第4页
第4页 / 共46页
【考研类试卷】计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、计算机学科专业基础综合组成原理-存储器层次结构(四)及答案解析(总分:95.00,做题时间:90 分钟)一、B单项选择题/B(总题数:35,分数:35.00)1.U 盘是现代计算机系统常用的一种移动存储设备,按存储介质分类,它属于_。 A.半导体存储器 B.磁表面存储器 C.磁芯存储器 D.光盘存储器(分数:1.00)A.B.C.D.2.下列与片选信号的形成有关的信号是_。 A.CPU 访存控制信号 B.CPU 访存地址信号 C.A、B D.以上都不对(分数:1.00)A.B.C.D.3.对于给定大小的高速缓存,如何确定高速缓存块的大小,对高速缓存的性能影响很大,这需要在现实的基准程序代码上进

2、行大量的模拟才能确定下来,但从定性的角度来考虑的话,下列叙述中正确的有_。 A.较大的块能利用程序的时间局部性,帮助提高命中率 B.较大的块能利用程序的空间局部性,帮助提高命中率 C.块越大,对利用程序的时间局部性和空间局部性越有利 D.块越大,对利用程序的时间局部性和空间局部性越不利(分数:1.00)A.B.C.D.4.局部性原理是一个持久的概念,对硬件和软件系统的设计和性能都有着极大的影响。局部性通常有两种不同的形式:时间局部性和空间局部性。程序员是否编写出高速缓存友好的代码,就取决于这两方面的问题。对于下面这个函数,说法正确的是_。int sumvec(int vN)int i, sum

3、=0;for(i=0; iN;i+)sum+=vi;return sum; A.对于变量 i 和 sum,循环体具有良好的空间局部性 B.对于变量 i、sum 和 vN,循环体具有良好的空间局部性 C.对于变量 i 和 sum,循环体具有良好的时间局部性 D.对于变量 i、sum 和 vN,循环体具有良好的时间局部性(分数:1.00)A.B.C.D.5.下列关于 Cache 和虚拟存储器的说法中,错误的有_。当 Cache 失效(即不命中)时,处理器将会切换进程,以更新 Cache 中的内容当虚拟存储器失效(如缺页)时,处理器将会切换进程,以更新主存中的内容Cache 和虚拟存储器由硬件和 O

4、S 共同实现,对应用程序员均是透明的虚拟存储器的容量等于主存和辅存的容量之和 A.、 B.、 C.、 D.、(分数:1.00)A.B.C.D.6.某计算机的存储系统由 Cache主存系统构成,Cache 的存取周期为 10ns,主存的存取周期为 50ns。在CPU 执行一段程序时,Cache 完成存取的次数为 4800 次,主存完成的存取次数为 200 次,该 Cache主存系统的效率是_。注:计算机存取时,同时访问 Cache 和主存,Cache 访问命中,则主存访问失效;Cache 访问未命中,则等待主存访问 A.0.833 B.0.856 C.0.958 D.0.862(分数:1.00)

5、A.B.C.D.7.在页面尺寸为 4KB 的页式存储管理中,页表中的内容见下表,则物理地址 32773 对应的逻辑地址为_。 B页表中的内容/B虚页号 页框号0 21 52 73 81 95 11 A.32773 B.42773 C.12293 D.62773(分数:1.00)A.B.C.D.8.设某按字节编址的计算机已配有 00000H07FFFH 的 ROM 区,地址线为 20 位,若再用 16K8 位的 RAM芯片构成剩下的 RAM 区 08000HFFFFFH,则需要这样的 RAM 芯片_片。 A.61 B.62 C.63 D.64(分数:1.00)A.B.C.D.9.设存储器容量为

6、32 字,字长为 64 位。模块数 m=4,采用低位交叉方式。存储周期 T=200ns,数据总线宽度为 64 位,总线传输周期 r=50ns。该交叉存储器的带宽是_。 A.32107bit/s B.8107bit/s C.73107bit/s D.18107bit/s(分数:1.00)A.B.C.D.10.下列说法中,正确的是_。双端口存储器可以同时异步访问同一存储单元双端口存储器当两个端口的地址码相同时,必然会发生冲突高位多体交叉存储器的设计依据了程序的局部性原理高位四体交叉存储器可能在一个存储周期内连续访问 4 个模块 A.、 B.、 C.、 D.只有(分数:1.00)A.B.C.D.11

7、.已知单个存储体的存取周期为 100ns,总线传输周期为 25ns,则四体低位交叉编址的多模块存储器连续读出 N 个字需时_ns。 A.25N B.100N C. 100+25(N-1) D.无法确定(分数:1.00)A.B.C.D.12.假定用若干个 8K8 位的芯片组成一个 32K32 位的存储器,则地址 41F0H 所在芯片的最大地址是_。 A.0000H B.4FFFH C.5FFFH D.7FFFH(分数:1.00)A.B.C.D.13.下列关于 DRAM 和 SRAM 的说法中,错误的是_。SRAM 不是易失性存储器,而 DRAM 是易失性存储器DRAM 比 SRAM 集成度更高,

8、因此读写速度也更快主存只能由 DRAM 构成,而高速缓存只能由 SRAM 构成与 SRAM 相比,DRAM 由于需要刷新,因此功耗较高 A.、 B.、 C.、 D.、(分数:1.00)A.B.C.D.14.在 Cache 和主存构成的两级存储体系中,Cache 的存取时间是 100ns,主存的存取时间是 1000ns,若希望有效(平均)存取时间不超过 Cache 存取时间的 115%,则 Cache 的命中率至少应为_。注:计算机存取时,先访问 Cache,若访问未命中,再访问主存 A.90.5% B.95.5% C.98.5% D.99.5%(分数:1.00)A.B.C.D.15.下列关于

9、Cache 的论述中,正确的是_。 A.Cache 是一种介于主存和辅存之间的存储器 B.若访问 Cache 不命中,则用从主存中取到的数据块替换 Cache 中最近被访问过的数据块 C.Cache 的命中率必须很高,一般要达到 90%以上才能充分发挥其作用 D.Cache 中的信息必须与主存中的信息时刻保持一致(分数:1.00)A.B.C.D.16.在存储器芯片中,地址译码采用双译码方式是为了_。 A.扩大寻址范围 B.减少地址线所需要的根数 C.增加存储单元数目 D.减少存储单元选通线数目(分数:1.00)A.B.C.D.17.既具有 SRAM 读写的灵活性和较快的访问速度,又在断电后可不

10、丢失信息的 ROM 是_。 A.E2PROM B.FLASH C.EPROM D.PROM(分数:1.00)A.B.C.D.18.某计算机的 Cache 共有 16 块,采用 2 路组相联映射方式(即每组 2 块)。每个主存块大小为 32B,按字节编址。主存第 129 号单元所在主存块应装入到的 Cache 组号是_。(编号都从 0 开始) A.0 B.2 C.4 D.6(分数:1.00)A.B.C.D.19.某计算机主存容量为 64KB,其中 ROM 区为 4KB,其余为 RAM 区,按字节编址。现要用 2K8 位的 ROM芯片和 4K4 位的 RAM 芯片来设计该存储器,则需要上述规格的

11、ROM 芯片数和 RAM 芯片数分别是_。 A.1、15 B.2、15 C.1、30 D.2、30(分数:1.00)A.B.C.D.20.存储芯片控制线中的片选线用来决定哪个存储芯片被选中。下列说法中,正确的是_。 A.当主存储器只有一块存储芯片时,不需要片选信号 B.存储芯片的片选线数为 1 C.存储芯片的片选线数为 2 或更多 D.以上都不对(分数:1.00)A.B.C.D.21.某 1K1 位(3232 矩阵)的存储芯片内部移码驱动方式采用“重合法”时,需要_根选择线才能选择存储芯片内的任一存储单元。 A.10 B.32 C.64 D.1024(分数:1.00)A.B.C.D.22.设

12、CPU 有 16 根地址线和 8 根数据线。主存地址空间分配:6000H67FFH 为系统程序区;6800H6BFFH 为用户程序区。从下列存储芯片中,分别合理选用下述存储芯片_。1K4 位 RAM 2K8 位 RAM 8K8 位 RAM2K8 位 ROM 1K8 位 ROM 8K8 位 ROM A.2 用作系统程序区,1 用作用户程序区 B.1 用作系统程序区,2 用作用户程序区 C.1 用作系统程序区,1 用作用户程序区 D.1 用作系统程序区,1 用作用户程序区(分数:1.00)A.B.C.D.23.假定用若干个 16K8 位的存储器芯片组成一个 64K32 位的存储器,芯片内各单元连续

13、编址,则地址BFFOH 所在芯片中的最小地址为_。 A.4000H B.6000H C.8000H D.A000H(分数:1.00)A.B.C.D.24.假定主存地址位数为 32 位,按字节编址,主存和 Cache 之间采用直接映射方式,主存块大小为 1 个字,每字 32 位,写操作时采用全写(Write-Through)方式,则能存放 32K 字数据的 Cache 的总容量至少应有_。 A.1504Kbit B.1536Kbit C.1568Kbit D.1600Kbit(分数:1.00)A.B.C.D.25.假定一个分页虚拟存储系统的虚拟地址为 40 位,物理地址为 36 位,页大小为 1

14、6KB,按字节编址。若页表中有有效位、存储保护位、修改位、使用位共占 4 位,磁盘地址不在页表中,则该存储系统中每个进程的页表大小为_。 A.1MB B.16MB C.256MB D.1G(分数:1.00)A.B.C.D.26.已知 Cache A 采用直接映射方式,共 16 行,块大小为 1 个字节,缺失损失为 8 个时钟周期;Cache B也采用直接映射方式,共 4 行,块大小为 4 个字节,缺失损失为 11 个时钟周期。假设开始时 Cache 为空,按照字节寻址,那么下列访问地址序列中,Cache B 具有更低的缺失率,但 Cache B 的总缺失损失反而比Cache A 大的是_。 A

15、.1,2,3,4 B.0,2,4,8,0 C.0,1,0,1,0,1 D.0,8,0,8,0,8(分数:1.00)A.B.C.D.27.下图是某存储芯片的引脚图,这个存储芯片的类型是_,且图中的“?”为_。(注:NC 表示未用)(分数:1.00)A.B.C.D.28.下列存储器中,CPU 可随机访问的存储器有_。光盘存储器 主存储器机械硬盘 采用 DRAM 作为存储介质的固态硬盘 A. B.、 C.、 D.、(分数:1.00)A.B.C.D.29.下列关于存储器的叙述说法中,错误的有_。存储器的段式、页式管理主要是保证一个程序在内存中执行是存放在一个完整的连续的存储区中存储器层次结构设计技术的

16、基本依据是程序的局部性原理CPU 访存时间由主存储器容量决定动态 RAM 的刷新是以存储单元为单位进行的 A.、 B.、 C.、 D.全对(分数:1.00)A.B.C.D.30.设某计算机 CPU 地址总线有 24 根,数据总线有 32 根,用 512K8 位的 RAM 芯片构成该机的主存储器,则该机主存最多需要_块存储芯片。 A.64 B.128 C.256 D.512(分数:1.00)A.B.C.D.31.一个存储器系统中,常常同时包含 ROM 和 RAM 两种类型的存储器,如果用 1K8 位的 ROM 芯片和1K4 位的 RAM 芯片,组成 4K8 位的 ROM 和 1K8 位 RAM

17、的存储系统,按先 ROM 后 RAM 进行编址。采用3-8 译码器选片,译码信号输出信号为 Y0Y7,其中 Y4 选择的是_。 A.第一片 ROM B.第五片 ROM C.第一片 RAM D.第一片 RAM 和第二片 RAM(分数:1.00)A.B.C.D.32.某计算机的主存地址空间中,地址 0000H3FFFH 为 ROM 存储区域,4000H7FFFH 为保留地址区域暂时不用,其余空间为 RAM 地址区域。CPU 的地址线为 A15A0,数据线 D7D0,现采用 8K4 位的 ROM 芯片和 4K8 位的 RAM 芯片来组成该存储系统,所需要的 ROM 和 RAM 芯片数量分别为_。 A

18、.2 片和 8 片 B.4 片和 8 片 C.2 片和 4 片 D.4 片和 4 片(分数:1.00)A.B.C.D.33.某 32 位微型机地址码为 22 位,使用 256K16 位的 SRAM 芯片组成其存储系统,下列译码器中最合适的是_。 A.3-8 译码器 B.4-16 译码器 C.5-32 译码器 D.6-64 译码器(分数:1.00)A.B.C.D.34.在存储器堆栈中,保持不变的是_。 A.栈顶 B.栈指针 C.栈底 D.栈中的数据(分数:1.00)A.B.C.D.35.某一计算机采用主存Cache 存储层次结构,主存容量有 8 个块,Cache 容量有 4 个块,采取直接映射方

19、式。若主存块地址流为 0、1、2、5、4、6、4、7、1、2、4、1、3、7、2,一开始 Cache 为空,此期间Cache 的命中率为_。 A.13.3% B.20% C.26.7% D.33.3%(分数:1.00)A.B.C.D.二、B综合应用题/B(总题数:8,分数:60.00)在信号处理和科学的应用中,转置矩阵的行和列是一个很重要的问题。从局部性的角度来看,它也很有趣,因为它的引用模式既是以行为主的,也是以列为主的,例如,考虑下面的转置函数:1 typedef int array a22;23 void transposel(array dst, array src)4 5 int i

20、, j;6 for(i=0; i2; i+)7 for(j=0; j2j;j+)8 dstji=srcij;9 10 11 假设在一台具有如下属性的机器上运行这段代码:sizeof(int)=4。src 数组从地址 0 开始,dst 数组从地址 16 开始(十进制)。只有一个 L1 数据高速缓存,它是直接映射的、直写、写分配,块大小为 8 个字节。这个高速缓存总的大小为 16 个数据字节,一始是空的。对 src 和 dst 数组的访问分别是读和写不命中的唯一来源。问题如下:(分数:5.00)(1).对每个 row 和 col,指明对 srcrowcol和 dstrowcol的访问是命中(h)还

21、是不命中(m),例如,读 src00会不命中,写 dst00也不命中,并将结果填至下列表格中。 Bdst 数组/B列 0 列 1行 0行 1Bsrc 数组/B列 0 列 1行 0行 1(分数:2.50)_(2).对于一个大小为 32 数据字节的高速缓存,指明 src 和 dst 的访问命中情况,并将结果填至下列表格中。 Bdst 数组/B列 0 列 1行 0行 1Bsrc 数组/B列 0 列 1行 0行 1(分数:2.50)_假设有一个具有如下属性的系统:存储器是字节寻址的。存储器访问是对 1 字节字的(而不是 4 字节字)。地址宽 12 位。高速缓存是 2 路组相联的(E=2),块大小为 4

22、 字节(B=4),有 4 个组(S=4)。高速缓存的内容如图 1 所示,所有地址、标记和值都以十六进制表示。(分数:5.00)(1).图 2 给出了一个地址的格式(每个小框表示一位),请指出用来确定下列信息的字段(在图中标识出来):CO 高速缓存块内偏移CI 高速缓存组索引CT 高速缓存标记(分数:2.50)_(2).对于下面每个存储器访问,当它们是按照列出来的顺序执行时,请指出是高速缓存命中还是不命中。如果可以从高速缓存中的信息推断出来,请给出读出的值。 操作 地址 命中? 读出的值(或者未知)读 0x409写 0x40A读 0x833(分数:2.50)_假设有一个具有如下属性的系统: 存储

23、器是字节寻址。 存储器访问是对 1 字节字(而不是 4 字节字)。 地址宽 13 位。 高速缓存是 4 路组相联的(E=4),块大小为 4 字节(B=4),有 8 个组(S=8)。 考虑下面的高速缓存状态。所有地址、标记和值都以十六进制表示。每组有 4行,索引列包含组索引;标记列包含每一行的标记值;V 列包含每一行的有效位;字节 03 列包含每一行的数据,标号从左向右,字节 0 在左边。 索引 标记V 字节 03 标记V 字节 03 标记V 字节 03 标记V 字节 0301234567F0 1BC 0BC 1BE 07E 198 038 08A 1ED 32 0A A203 3E CD 38

24、54 9E 1E FA2F 7E 3D A832 21 1C 2CA9 76 2B EE5D 4D F7 DA04 2A 32 6A8A 1A0 0B6 1C0 18A 154 0BC 19E 0BF 80 1D FC16 7B ED 5ADC 81 B2 1427 95 A4 7422 C2 DC 34BC 91 D5 9269 C2 8C 74B1 86 56 0E14 1BC 100 0C4 0BC 198 18A 1CC 1EF 09 86 2A8E 4C DF 18B6 1F 7B 4407 11 6B D8BA DD 37 D880 BA 9B F6A8 CE 7F DA96 30

25、 47 F2BC 0E4 174 0BC 0DC 0BC 138 1BC 125 44 6F 1AFB B7 12 0210 F5 88 2EC7 87 AF C2E7 A2 39 BA48 16 81 0AFA 93 E8 48F8 1D 42 30(分数:7.50)(1).这个高速缓存的大小(容量)C 是多少字节?(分数:2.50)_(2).下面的图给出了一个地址的格式(每个小框表示一位),请指出用来确定下列信息的字段(在图中标号出来):CO 高速缓存块内偏移CI 高速缓存组索引CT 高速缓存标记(分数:2.50)_(3).假设程序使用上述高速缓存,引用位于地址 0x0718 处的 1 字

26、节字。用十六进制表示出它所访问的高速缓存条目,以及返回的高速缓存字节值,请指明是否发生了高速缓存不命中。如果有高速缓存不命中,在“返回的高速缓存值”所对应的“值”处填入相应内容。 参数 值块偏移量(CO) 0x_索引(CI) 0x_高速缓存标记(CT) 0x_高速缓存命中?(是/否) _返回的高速缓存值 0x_(分数:2.50)_这道题测试考生预测 C 语言代码的高速缓存行为的能力,请考生对下面这段代码进行分析:1 int x2256;2 int i;3 int sum=0;45 for(i=0; i256; i+)6 sum+=x0i*x1i;7 假设在下列条件下执行这段代码:sizeof(

27、int)=4。数组 x 从存储器地址 0x0 开始,按照行优先顺序存储。在下面每种情况中,高速缓存最开始时都是空的。唯一的存储器访问是对数组 x 的条目进行访问。其他所有变量都存储在寄存器中。给定这些假设,请估算下列情况中的不命中率。(分数:12.50)(1).情况 1:假设高速缓存是 1024B,直接映射,高速缓存块大小为 32B。不命中率是多少?(分数:2.50)_(2).情况 2:如果把高速缓存的大小翻倍到 2048B,不命中率是多少?(分数:2.50)_(3).情况 3:现在假设高速缓存是 1024B,2 路组相联,使用 LRU 替换策略,高速缓存块大小为 32B,不命中率是多少?(分

28、数:2.50)_(4).对于情况 3,更大的高速缓存大小会帮助降低不命中率吗?为什么能或者为什么不能?(分数:2.50)_(5).对于情况 3,更大的块大小会帮助降低不命中率吗?为什么能或者为什么不能?(分数:2.50)_某机按字节编制,主存容量为 1MB,采用 2 路组相联方式(每组仅有 2 块)的Cache 容量为 64KB,每个数据块为 256B。已知访问开始前第 1 组(从 0 开始编址)的地址阵列内容见下表。Cache 采用 LRU 替换策略。 B第 1 组的地址阵列内容/B0 00100(二进制)1 01011(二进制)(分数:7.50)(1).分别说明主存地址中标记(Tag)、组

29、号和块内地址 3 部分的位置和位数。(分数:2.50)_(2).若 CPU 要顺序访问地址为 20124H、58100H、60140H 和 60138H 四个主存单元。上述 4 个数能否直接从Cache 中读取,若能,请给出实际访问的 Cache 地址。第 4 个数访问结束时,表中的内容将如何变化。(Cache 地址结构依次为:组号;组内块号;块内地址)(分数:2.50)_(3).若 Cache 完成存取的次数为 5000 次,主存完成存取的次数为 200 次。已知 Cache 的存取周期为40ns,主存的存取周期为 160ns,求该 Cache/主存系统的访问效率。(Cache 和主存同时访

30、问)(分数:2.50)_一个 1K4 位的动态 RAM 芯片,若其内部结构排列成 6464 形式,且存取周期为 0.1s,刷新周期为 2ms。(分数:5.00)(1).若采用分散刷新和集中刷新(即异步刷新)相结合的方式,刷新信号周期应取多少?(分数:2.50)_(2).若采用集中刷新,则对该存储芯片刷新一遍需多长时间?死时间率是多少?(分数:2.50)_某计算机的主存地址空间大小为 256MB,按字节编址。指令 Cache 和数据 Cache分离,均有 8 个 Cache 行,主存与 Cache 交换的块大小为 64B,数据 Cache 采用直接映射方式。现有两个功能相同的程序 A 和 B,其

31、伪代码如下:程序 A:int a256256;int sum_array1()int i, j, sum=0;for(i=0; i256;i+)for(j=0; j256; j+)sum+=aij;return sum;程序 B:int a256256;int sum array2()int i, j, sum=0;for(j=0; j256; j+)for(i=0; i256; i+)sum+=aij;return sum;假定 int 类型数据用 32 位补码表示,程序编译时 i,j,sum 均分配在寄存器中,数组 a 按照行优先方式存放,其首地址为 320(十进制数)。请回答下列问题,并

32、说明理由或给出计算过程。(分数:7.50)(1).若不考虑用于 Cache 一致性维护和替换算法的控制位,则数据 Cache 的总容量为多少?(分数:2.50)_(2).数组元素 a031和 a11各自所在的主存块对应的 Cache 行号分别是多少?(Cache 行号从 0 开始)(分数:2.50)_(3).程序 A 和 B 的数据访问命中率各是多少?哪个程序的执行时间更短?(分数:2.50)_某计算机的存储器容量为 64K8 位,其片选信号为 M,接有 8 片 8K8 位的存储芯片。(分数:10.00)(1).画出片选逻辑示意图。(请画出输入输出线)(分数:2.50)_(2).请写出每片 R

33、AM 的寻址范围。(分数:2.50)_(3).如果运行时,发现无论向哪片存储器存放 8KB 数据,以 A000H 起始地址的存储芯片都有相同的数据,分析故障原因。(分数:2.50)_(4).若发现译码器的地址线 A13 与 CPU 断线,并搭接到高电平的故障,后果将如何?(分数:2.50)_计算机学科专业基础综合组成原理-存储器层次结构(四)答案解析(总分:95.00,做题时间:90 分钟)一、B单项选择题/B(总题数:35,分数:35.00)1.U 盘是现代计算机系统常用的一种移动存储设备,按存储介质分类,它属于_。 A.半导体存储器 B.磁表面存储器 C.磁芯存储器 D.光盘存储器(分数:

34、1.00)A. B.C.D.解析:解析 U 盘是半导体存储器,U 盘内集成的是 Flash 芯片,存储介质为半导体。2.下列与片选信号的形成有关的信号是_。 A.CPU 访存控制信号 B.CPU 访存地址信号 C.A、B D.以上都不对(分数:1.00)A.B.C. D.解析:解析 片选信号的形成与 CPU 访存控制信号和 CPU 访存地址信号都有关系。只有当 CPU 需要访存时,才需要选择存储芯片,而访存时选择哪个存储芯片则需要根据 CPU 访存时给出的地址信号来决定。3.对于给定大小的高速缓存,如何确定高速缓存块的大小,对高速缓存的性能影响很大,这需要在现实的基准程序代码上进行大量的模拟才

35、能确定下来,但从定性的角度来考虑的话,下列叙述中正确的有_。 A.较大的块能利用程序的时间局部性,帮助提高命中率 B.较大的块能利用程序的空间局部性,帮助提高命中率 C.块越大,对利用程序的时间局部性和空间局部性越有利 D.块越大,对利用程序的时间局部性和空间局部性越不利(分数:1.00)A.B. C.D.解析:解析 大的块有利有弊。一方面,较大的块能利用程序中可能存在的空间局部性,帮助提高命中率。不过,对于给定的高速缓存大小,块越大就意味着高速缓存行数越少,这会损害时间局部性比空间局部性更好的程序的命中率。若上面的结论不好理解,可以考虑一个极端的情况,即整个高速缓存就是一个块,它能充分利用空

36、间局部性。但对于时间局部性来说,这是不利的,因为数据驻留在高速缓存的时间被大大减少了,只要一次访问未命中,就会把整个高速缓存内容替换掉。知识点回顾:高速缓存行、组和块有什么区别?块是一个固定大小的信息包,在高速缓存和主存(或下一层高速缓存)之间来回传送。行是高速缓存中存储块以及其他信息(如有效位和标记位)的容器。组是一个或多个行的集合。直接映射高速缓存中的组只由一行组成。组相联和全相联高速缓存中的组是由多个行组成的。在直接映射高速缓存中,组和行确实是等价的。不过,在相联高速缓存中,组和行是不一样的,这两个词不能互换使用。因为一行总是存储一个块,术语“行”和“块”通常互换使用,例如,系统专家总是

37、说高速缓存的“行大小”,实际上指的是块大小。这种说法十分普遍,考生只要理解块和行之间的区别,就不会造成任何误会。4.局部性原理是一个持久的概念,对硬件和软件系统的设计和性能都有着极大的影响。局部性通常有两种不同的形式:时间局部性和空间局部性。程序员是否编写出高速缓存友好的代码,就取决于这两方面的问题。对于下面这个函数,说法正确的是_。int sumvec(int vN)int i, sum=0;for(i=0; iN;i+)sum+=vi;return sum; A.对于变量 i 和 sum,循环体具有良好的空间局部性 B.对于变量 i、sum 和 vN,循环体具有良好的空间局部性 C.对于变

38、量 i 和 sum,循环体具有良好的时间局部性 D.对于变量 i、sum 和 vN,循环体具有良好的时间局部性(分数:1.00)A.B.C. D.解析:解析 对于局部变量 i 和 sum,循环体有良好的时间局部性。实际上,因为它们都是局部变量,任何合理的优化编译器都会把它们缓存在寄存器文件中,也就是存储器层次的最高层,故 A、B 错。 现在考虑对向量 v 的步长为 1 的应用。一般而言,如果一个高速缓存的块大小为 B 字节,那么一个步长为 k 的引用模式(这里 k 是以字为单位的)平均每次循环迭代会有。min(1,(wordsizek)/B)次缓存不命中。当k=1 时,它取最小值,所以对 v

39、的步长为 1 的引用确实是高速缓存“友好”的,即拥有良好的空间局部性,故 D 错,只有 C 的说法是正确的。5.下列关于 Cache 和虚拟存储器的说法中,错误的有_。当 Cache 失效(即不命中)时,处理器将会切换进程,以更新 Cache 中的内容当虚拟存储器失效(如缺页)时,处理器将会切换进程,以更新主存中的内容Cache 和虚拟存储器由硬件和 OS 共同实现,对应用程序员均是透明的虚拟存储器的容量等于主存和辅存的容量之和 A.、 B.、 C.、 D.、(分数:1.00)A.B.C.D. 解析:解析 Cache 和虚拟存储器的原理是基于程序访问的局部性原理,但它们实现的方法和作用均不相同。 Cache 失效与虚拟存储器失效的处理方法不同,Cache 完全由硬件实现,不涉及软件端;虚拟存储器由硬件和 OS 共同完成,缺页时才会发出缺页中断,故错误,正确,错误。在虚拟存储器中,主存的内容只是辅存的一部分,错误。6.某计算机的存储系统由 Cache主存系统构成,Cache 的存取周期为 10ns,主存的存取周期为 50ns。在CPU 执行一段程序时,Cache 完成存取的次

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1