1、计算机专业基础综合历年真题试卷汇编 6 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 下列关于闪存(Flash Memory) 的叙述中,错误的是 _。(A)信息可读可写,并且读、写速度一样快(B)存储单元由 MOS 管组成,是一种半导体存储器(C)掉电后信息不丢失,是一种非易失性存储器(D)采用随机访问方式,可替代计算机外部存储器2 某计算机主存容量为 64KB,其中 ROM 区为 4KB,其余为 RAM 区,按字节编址。现要用 2K8 位的 ROM 芯片和 4K4 位的 RAM 芯片来设计该存储器,则需
2、要匕述规格的 ROM 芯片数和 RAM 芯片数分别是_。(A)1、15(B) 2、15(C) 1、30(D)2、303 某计算机存储器按字节编址,主存地址空间大小为 64MB,现用 4MBx8 位的RAM 芯片组成 32MB 的主存储器,则存储器地址寄存器 MAR 的位数至少是_。(A)22 位(B) 23 位(C) 25 位(D)26 位4 某容量为 256MB 的存储器由若干 4M8 位的 DRAM 芯片构成,该 DRAM 芯片的地址引脚和数据引脚总数是_。(A)19(B) 22(C) 30(D)365 假定用若干个 2K4 位的芯片组成一个 8Kx8 位的存储器,则地址 0B1FH 所在
3、芯片的最小地址是_。(A)0000H(B) 0600H(C) 0700H(D)0800H6 某计算机使用 4 体交叉编址存储器,假定在存储器总线上出现的主存地址(十进制)序列为 8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生访存冲突的地址对是_。(A)8004 和 8008(B) 8002 和 8007(C) 8001 和 8008(D)8000 和 80047 假设某计算机的存储系统由 Cache 和主存组成,某程序执行过程中访存 1000 次,其中访问 Cadle 缺失(未命中)50 次,则 Cache 的命中率是_。(A)5(B) 9
4、5(C) 50(D)958 某计算机的 Cache 共有 16 块,采用 2 路组相联映射方式(即每组 2 块)。每个主存块大小为 32B,按字节编址。主存 129 号单元所在主存块应装入到的 Cache 组号是_。(A)0(B) 1(C) 4(D)69 采用指令 Cache 与数据 Cache 分离的主要目的是_。(A)降低 Cache 的缺失损失(B)提高 Cache 的命中率(C)降低 CPU 平均访存时间(D)减少指令流水线资源冲突10 下列命中组合情况中,一次访存过程中不可能发生的是_。(A)TLB 未命中,Cache 未命中,Page 未命中(B) TLB 未命中,Cache 命中
5、,Page 命中(C) TLB 命中,Cache 未命中,Page 命中(D)TLB 命中,Cache 命中,Page 未命中11 假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr ,3”,其中 xaddr 是 x对应的存储单元地址。若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的 TLB,且 Cache 使用直写(Write Through)方式,则完成该指令功能需要访问主存的次数至少是_。(A)0(B) 1(C) 2(D)312 假定主存地址为 32 位,按字节编址,主存和 Cache 之间采用直接映射方式,主存块大小为 4 个字,每字 32 位,采用回写(Wr
6、ite Back) 方式,则能存放 4K 字数据的 Cache 的总容量的位数至少是_。(A)146k(B) 147K(C) 148K(D)158K13 某计算机主存地址空间大小为 256MB,按字节编址。虚拟地址空间大小为4GB,采用页式存储管理,页面大小为 4KB,TLB(快表)采用全相联映射,有 4 个页表项,内容如下表所示。则对虚拟地址 03FF F180H 进行虚实地址变换的结果是_。(A)015 3180H(B) 003 5180H(C) TLB 缺失(D)缺页14 某计算机有 16 个通用寄存器,采用 32 位定长指令字,操作码字段(含寻址方式位)为 8 位,Store 指令的源
7、操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式。若基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则 Store 指令中偏移量的取值范围是_。(A)-32768+32767(B) -32767+32768(C) -65536+65535(D)-65535+65536二、综合应用题41-47 小题,共 70 分。15 假定某计算机的 CPU 主频为 80MHz,CPI 为 4,平均每条指令访存 15 次,主存与 Cache 之间交换的块大小为 16B,Cache 的命中率为 99,存储器总线宽带为 32 位。为了提高性能,主存采用 4 体低位交叉存储模式,工作时每 14 个存储周期启
8、动一个体。若每个体的存储周期为 50ns,则该主存能提供的最大带宽是多少?15 某计算机的主存地址空间大小为 256MB,按字节编址。指令 Cache 和数据Cache 分离,均有 8 个 Cache 行,每个 Cache 行大小为 64B,数据 Cache 采用直接映射方式。现有两个功能相同的程序 A 和 B,其伪代码如下:假定 int 类型数据用 32 位补码表示,程序编译时 i、j、sum 均分配在寄存器中,数组 a 按行优先方式存放,其首地址为 320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。16 若不考虑用于 Cache 一致性维护和替换算法的控制位,则数据 Cach
9、e 的总容量为多少?17 数组元素 a031和 a11各自所在的主存块对应的 Cache 行号分别是多少(Cache 行号从 0 开始)?18 程序 A 和 B 的数据访问命中率各是多少?哪个程序的执行时间更短?18 某 32 位计算机,CPU 主频为 800MHz,Cache 命中时的 CPI 为 4,Cache 块大小为 32 字节;主存采用 8 体交叉存储方式,每个体的存储字长为 32 位、存储周期为 40ns;存储器总线宽度为 32 位,总线时钟频率为 200MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送 32 字
10、节,传送地址或 32 位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。19 CPU 和总线的时钟周期各为多少?总线的带宽(即最大数据传输率)为多少?20 Cache 缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?21 存储器总线完成一次读突发传送总线事务所需的时间是多少?22 若程序 BP 执行过程中,共执行了 100 条指令,平均每条指令需进行 12 次访存,Cache 缺失率为 5,不考虑替换等开销,则 BP 的 CPU 执行时间是多少?22 某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为 16MB,主存(物理)地址空间大小为 1MB,页面大小为
11、4KB;Cache 采用直接映射方式,共 8 行;主存与 Cache 之间交换的块大小为 32B。系统运行到某一时刻时,页表的部分内容和Cache 的部分内容分别如图(a) 、图(1) 所示,图中页框号及标记字段的内容为十六进制形式。请回答下列问题:23 虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)?24 使用物理地址访问 Cache 时,物理地址应划分成哪几个字段? 要求说明每个字段的位数及在物理地址中的位置。25 虚拟地址 001C60H 所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么? 访问该地址时是否 Cache 命中 ?要求
12、说明理由。26 假定为该机配置一个 4 路组相联的 TLB 共可存放 8 个页表项,若其当前内容(十六进制)如图(c) 所示,则此时虚拟地址 024BACH 所在的页面是否存在主存中? 要求说明理由。26 某计算机字长为 16 位,主存地址空间大小为 128KB,按字编址。采用单字长指令格式,指令各字段定义如下:转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下:请回答下列问题:27 该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器? 存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?28 转移指令的目标地址范围是多少?29 若操作码 0010B
13、 表示加法操作(助记符为 add),寄存器 R4 和 R5 的编号分别为100B 和 101B,R4 的内容为 1234H,R5 的内容为 5678H,地址 1234H 中的内容为5678H,地址 5678H 中的内容为 1234H,则汇编语言为“add(R4),(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元中的内容会改变?改变后的内容是什么?计算机专业基础综合历年真题试卷汇编 6 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正
14、确答案】 A【试题解析】 闪存是 EEPROM 的进一步发展,可读可写,用 MOS 管的浮栅上有无电荷来存储信息。闪存依然是 ROM 的一种,写入时必须先擦除原有数据,故写速度比读速度要慢不少(硬件常识)。闪存是一种非易失性存储器,它采用随机访问方式。现在常见的 SSD 固态硬盘,即由 Flash 芯片组成。【知识模块】 计算机组成原理2 【正确答案】 D【试题解析】 首先确定 ROM 的个数,ROM 区为 4KB,选用 2K8 位的 ROM 芯片,需要 =2 片,采用字扩展方式;RAM 区为 60KB,选用 4K4 位的 RAM芯片,需要 =30 片,采用字和位同时扩展方式。【知识模块】 计
15、算机组成原理3 【正确答案】 D【试题解析】 主存按字节编址,地址空间大小为 64MB,MAR 的寻址范围为64M=226,故为 26 位。实际的主存容量 32MB 不能代表 MAR 的位数,考虑到存储器扩展的需要,MAR 应保证访问到整个主存地址空间,反过来,MAR 的位数决定了主存地址空间的大小。【知识模块】 计算机组成原理4 【正确答案】 A【试题解析】 4M8 位的芯片数据线应为 8 根,地址线应为 log24M=22 根,而DRAM 采用地址复用技术,地址线是原来的 12,且地址信号分行、列两次传送。地址线数为 222=11 根,所以地址引脚与数据引脚的总数为 11+8=19 根,选
16、 A。【知识模块】 计算机组成原理5 【正确答案】 D【试题解析】 用 2K4 位的芯片组成一个 8K8 位存储器,共需 8 片 2K4 位的芯片,分为 4 组,每组由 2 片 2K4 位的芯片并联组成 2K8 位的芯片,各组芯片的地址分配如下:第一组(2 个芯片并联) :0000H 07FFH。第二组(2 个芯片并联) :0800H 0FFFH 。第三组(2 个芯片并联) :1000H 17FFH。第四组(2 个芯片并联) :1800H 1FFFH 。地址 0B1FH 所在的芯片属于第二组,故其所在芯片的最小地址为 0800H。【知识模块】 计算机组成原理6 【正确答案】 D【试题解析】 每
17、个访存地址对应的存储模块序号(0、1、2、3)如下所示:其中,模块序号=访存地址存储器交叉模块数。判断可能发生访存冲突的规则是:给定的访存地址在相邻的四次访问中出现在同一个存储模块内。据此,根据上表可知 8004 和 8000 对应的模块号都为 0,即表明这两次的访问出现在同一模块内且在相邻的访问请求中,满足发生冲突的条件。【知识模块】 计算机组成原理7 【正确答案】 D【试题解析】 命中率=Cache 命中次数总访问次数。需要注意的是看清题,题中说明的是缺失 50 次,而不是命中 50 次,仔细审题是做对题的第一步。【知识模块】 计算机组成原理8 【正确答案】 C【试题解析】 由于 Cach
18、e 共有 16 块,采用 2 路组相联,因此共分为 8 组,组号为 0、1、2、7。主存的某一字块按模 8 映射到 Cache 某组的任一字块中,即主存的第 0,8,16字块可以映射到 Cache 第 0 组的任一字块中。每个主存块大小为 32 字节,故 129 号单元位于第 4 块主存块(注意是从 0 开始),因此将映射到Cache 第 4 组的任一字块中。【知识模块】 计算机组成原理9 【正确答案】 D【试题解析】 把指令 Cache 与数据 Cache 分离后,取指和取数分别到不同的Cache 中寻找,那么指令流水线中取指部分和取数部分就可以很好地避免冲突,即减少了指令流水线的冲突,选
19、D。【知识模块】 计算机组成原理10 【正确答案】 D【试题解析】 Cache 中存放的是主存的部分副本,TLB(快表)中存放的是Page(页表)的一部分副本。在同时具有虚拟页式存储器(有 TLB)和 Cache 的系统中,CPU 发出访存命令,先查找对应的 Cache 块。1) 若 Cache 命中,则说明所需内容在 Cache 内,其所在页面必然己调入主存,因此 Page 必然命中,但 TLB 不一定命中;2) 若 Cache 不命中,并不能说明所需内容未调入主存,和 TLB、Page 命中与否没有联系。但若 TLB 命中,Page 也必然命中;而当 Page 命中,TLB 则未必命中,故
20、 D 不可能发生。主存、Cache、TLB 和 Page 的关系如下图所示。【知识模块】 计算机组成原理11 【正确答案】 B【试题解析】 上述指令的执行过程可划分为取数、运算和写回过程,取数时读取xaddr 可能不需要访问主存而直接访问 Cache,而写直通方式需要把数据同时写入Cache 和主存,因此至少访问 1 次。【知识模块】 计算机组成原理12 【正确答案】 C【试题解析】 直接映射的地址结构为:按字节编址,块大小为 432bit=16B=24B,则“字块内地址”占 4 位;“能存放 4K 字数据的 Cache”即Cache 的存储容量为 4K 字(注意单位) ,则 Cache 共有
21、 1K=210 个 Cache 行,则Cache 字块标记占 10 位;则主存字块标记占 32-10-4=18 位。Cache 的总容量包括:存储容量和标记阵列容量(有效位、标记位、一致性维护位和替换算法控制位)。标记阵列中的有效位和标记位是一定有的,而一致性维护位(脏位)和替换算法控制位的取舍标准是看题眼,题目中,明确说明了采用写回法,则一定包含一致性维护位,而关于替换算法的词眼题目中未提及,所以不予考虑。从而每个 Cache 行标记项包含 18+1+1=20 位,则标记阵列容量为:2 10*20 位=20K 位,存储容量为:4K*32位=128K 位,则总容量为:128K+20K=148K
22、 位。【知识模块】 计算机组成原理13 【正确答案】 A【试题解析】 按字节编址,页面大小为 4KB,页内地址共 12 位。地址空间大小为 4GB,虚拟地址共 32 位,前 20 位为页号。虚拟地址为 03FF F180H,故页号为03 FFFH,页内地址为 180H。查找页标记 03FFFH 所对应的页表项,页框号为0153H,页框号与页内地址拼接即为物理地址 015 3180H。【知识模块】 计算机组成原理14 【正确答案】 A【试题解析】 采用 32 位定长指令字,其中操作码为 8 位,两个地址码一共占用32-8=24 位,而 Store 指令的源操作数和目的操作数分别采用寄存器直接寻址
23、和基址寻址,机器中共有 16 个通用寄存器,则寻址一个寄存器需要 log216=4 位,源操作数中的寄存器直接寻址用掉 4 位,而目的操作数采用基址寻址也要指定一个寄存器,同样用掉 4 位,则留给偏移址的位数为 24-4-4=16 位,而偏移址用补码表示,16 位补码的表示范围为-32768+32767,选 A。【知识模块】 计算机组成原理二、综合应用题41-47 小题,共 70 分。15 【正确答案】 4 体交叉存储模式能提供的最大带宽为 44B50ns=320MBs。【知识模块】 计算机组成原理【知识模块】 计算机组成原理16 【正确答案】 每个 Cache 行对应一个标记项,如下图所示。
24、不考虑用于 Cache 一致性维护和替换算法的控制位。地址总长度为 28 位(2 28=256M),块内地址 6 位(2 6=64),Cache 块号 3 位(2 3=8),故 Tag 的位数为 28-6-3=19 位,还需使用一个有效位,故题中数据 Cache 行的结构如下图所示。数据 Cache 共有 8 行,因此数据Cache 的总容量为 8(64+208)B=532B。【知识模块】 计算机组成原理17 【正确答案】 数组 a 在主存的存放位置及其与 Cache 之间的映射关系如下图所示。 数组按行优先方式存放,首地址为320,数组元素占 4 个字节。a031所在的主存块对应的 Cach
25、e 行号为(320+314)64=6 ;a11所在的主存块对应的 CaChe 行号为(320+2564+14) 648=5。【知识模块】 计算机组成原理18 【正确答案】 数组 a 的大小为 2562564B=218B,占用 21864=2 12 个主存块,按行优先存放,程序 A 逐行访问数组 a,共需访问的次数为 216 次,未命中次数为212 次(即每个字块的第一个数未命中),因此程序 A 的命中率为(2 16-212)2 16 100=93 75 。【试题解析】 考查 Cache 的组成,主存与 Cache 的映射关系,Cache 的命中率。【知识模块】 计算机组成原理【知识模块】 计算
26、机组成原理19 【正确答案】 CPU 的时钟周期是主频的倒数,即 1800MHz=125ns。总线的时钟周期是总线频率的倒数,即 1200MHz=5ns。总线宽度为 32 位,故总线带宽为 4B200MHz=800MBs 或4B5ns=800MBs 。【知识模块】 计算机组成原理20 【正确答案】 Cache 块大小是 32B,因此 Cache 缺失时需要一个读突发传送总线事务读取一个主存块。【知识模块】 计算机组成原理21 【正确答案】 一次读突发传送总线事务包括一次地址传送和 32B 数据传送:用1 个总线时钟周期传输地址;每隔 40ns8=5ns 启动一个体工作(各进行 1 次存取),第
27、一个体读数据花费 40ns,之后数据存取与数据传输重叠;用 8 个总线时钟周期传输数据。读突发传送总线事务时间:5ns+40ns+85ns=85ns。【知识模块】 计算机组成原理22 【正确答案】 BP 的 CPIJ 执行时间包括 Cache 命中时的指令执行时间和 Cache缺失时带来的额外开销。命中时的指令执行时间:1004125ns=500ns。指令执行过程中 Cache 缺失时的额外开销:12100585ns=510ns。BP 的 CPU 执行时间:500ns+51ns=1010ns。【知识模块】 计算机组成原理【知识模块】 计算机组成原理23 【正确答案】 存储器按字节编址,虚拟地址
28、空间大小为 16MB=224B,故虚拟地址为 24 位;页面大小为 4kB=212B,故高 12 位为虚页号。主存地址空间大小为1MB=220B,故物理地址为 20 位;由于页内地址为 12 位,故高 8 位为页框号。【知识模块】 计算机组成原理24 【正确答案】 由于 Cache 采用直接映射方式,所以物理地址各字段的划分如下。由于块大小为 32B,故字块内地址占 5 位;Cache 共 8 行,故 Cache 字块标记占 3 位;主存字块标记占 20-5-3=12 位。【知识模块】 计算机组成原理25 【正确答案】 虚拟地址 001C60H 的前 12 位为虚页号,即 001H,查看 00
29、1H 处的页表项,其对应的有效位为 1,故虚拟地址 001C60H 所在的页面在主存中。页表 001H 处的页框号为 04H,与页内偏移(虚拟地址后 12 位)拼接成物理地址为04C60H。物理地址 04C60H=0000 0100 1100 0110 0000B,主存块只能映射到Cache 的第 3 行( 即第 011B 行),由于该行的有效位=1,标记(值为 105H)04CH(物理地址高 12 位),故不命中。【知识模块】 计算机组成原理26 【正确答案】 由于 TLB 采用 4 路组相联,故 TLB 被分为 84=2 个组,因此虚页号中高 11 位为 TLB 标记、最低 1 位为 TL
30、B 组号。虚拟地址 024BACH=0000 0010 0100 1011 1010 1100B,虚页号为 0000 0010 0100B,TLB 标记为 0000 0010 010B(即 012H),TLB 组号为 0B,因此,该虚拟地址所对应物理页面只可能映射到TLB 的第 0 组。组 0 中存在有效位=1、标记=012H 的项,因此访问 TLB 命中,即虚拟地址 024BACH 所在的页面在主存中。【试题解析】 考查虚拟存储器、Cache、TLB。【知识模块】 计算机组成原理【知识模块】 计算机组成原理27 【正确答案】 操作码占 4 位,则该指令系绩最多司有 24=16 条指令。操作数
31、占6 位,其中寻址方式占 3 位、寄存器编号占 3 位,因此该机最多有 23=8 个通用寄存器。主存地址空间大小为 128KB,按字编址,字长为 16 位,共有128KB2B=2 16 个存储单元,因此 MAR 至少为 16 位;因为字长为 16 位,故MDR 至少为 16 位。【知识模块】 计算机组成原理28 【正确答案】 寄存器字长为 16 位,PC 和 Rn 可表示的地址范围均为 02 16-1,而主存地址空间为 216,故转移指令的目标地址范围为 0000HFFFFH(0 2 16-1)。【知识模块】 计算机组成原理29 【正确答案】 汇编语句“add(R4),(R5)+” ,对应的机
32、器码为将对应的机器码写成十六进制形式为 0010 0011 0001 0101B=2315H。该指令的功能是将 R4 的内容所指存储单元的数据与 R5 的内容所指存储单元的数据相加,并将结果送入 R5 的内容所指存储单元中。(R4)=1234H,(1234H)=5678H;(R5)=5678H,(5678H)=1234H;执行加法操作 5678H+1234H=68ACH,之后 R5 自增。该指令执行后,R5 和存储单元 5678H 的内容会改变, R5 的内容从 5678H 变为5679H,存储单元 5678H 中的内容变为该指令的计算结果 68ACH。【试题解析】 考查指令格式和数据寻址方式。【知识模块】 计算机组成原理
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1