计算机组成原理考研真题与解析

精品文档

1 03FFFH 0153H … 则对虚拟地址03FF F180H进行虚实地址变换的结果是 A. 015 3180H B. 003 5180H C. TLB缺失 D. 缺页 16. A 解读:虚拟地址为03FF F180H,其中页号为03FFFH,页内地址为180H,根据题目中给出的页表项可知页标记为03FFFH 所对应的页框号为0153H,页框号与页内地址之和即为物理地址015 3180 H。

17. 假设变址寄存器R的内容为1000H,指令中的形式地址为2000 H;地址1000H中的内容为2000H,地址2000H中的内容为3000H,地址3000 H中的内容为4000H,则变址寻址方式下访问到的操作数是

A. 1000H B. 2000H C. 3000H D. 4000 H

17. D 解读:根据变址寻址的主要方法,变址寄存器的内容与形式地址的内容相加之后,得到操作数的实际地址,根据实际地址访问内存,获取操作数4000H。

18. 某CPU主频为1.03 GHz,采用4级指令流水线,每个流水段的执行需要1个时钟周期。假定CPU执行了100条指令,在其执行过程中,没有发生任何流水线阻塞,此时流水线的吞吐率为

A. 0.25×109条指令/秒 B. 0.97×109条指令/秒 C. 1.0×109条指令/秒 D. 1.03 ×109条指令/秒 18. C 解读:采用4 级流水执行100 条指令,在执行过程中共用

4+(100-1)=103 个时钟周期。CPU的主频是1.03 GHz,也就是说每秒钟有1.03 G 个时钟周期。流水线的吞吐率为1.03G*100/103=1.0*109条指令/秒。

19. 下列选项中,用于设备和设备控制器(I/O接口)之间互连的接口规范是

A. PCI B. USB C. AGP D. PCI-Express

19. B 解读:设备和设备控制器之间的接口是USB接口,其余选项不符合,答案为B。

。 13欢迎下载

精品文档

20. 下列选项中,用于提高RAID可靠性的措施有

I. 磁盘镜像 II. 条带化 III. 奇偶校验 IV. 增加Cache机制

A.仅I、II B. 仅I、III C. 仅I、III和IV D. 仅II、III和IV 20. B 解读:能够提高RAID可靠性的措施主要是对磁盘进行镜像处理和进行奇偶校验。其余选项不符合条件。

21. 某磁盘的转速为10 000转/分,平均寻道时间是6 ms,磁盘传输速率是20 MB/s,磁盘控制器延迟为0.2 ms,读取一个4 KB的扇区所需的平均时间约为 A. 9 ms B. 9.4 ms C. 12 ms D. 12.4 ms

21. B解读:磁盘转速是10 000转/分钟,平均转一转的时间是6 ms,因此平均查询扇区的时间是3 ms,平均寻道时间是6 ms,读取4 KB扇区信息的时间为0.2 ms,信息延迟的时间为0.2 ms,总时间为3+6+0.2+0.2=9.4 ms。 22. 下列关于中断I/O方式和DMA方式比较的叙述中,错误的是 A. 中断I/O方式请求的是CPU处理时间,DMA方式请求的是总线使用权 B. 中断响应发生在一条指令执行结束后,DMA响应发生在一个总线事务完成后 C. 中断I/O方式下数据传送通过软件完成,DMA方式下数据传送由硬件完成 D. 中断I/O方式适用于所有外部设备,DMA方式仅适用于快速外部设备 22. D 解读:中断处理方式:在I/O 设备输入每个数据的过程中,由于无需CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。因此中断申请使用的是CPU处理时间,发生的时间是在一条指令执行结束之后,数据是在软件的控制下完成传送。而DMA方式与之不同。DMA方式:数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;DMA方式每次申请的是总线的使用权,所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。答案D的说法不正确。

2014年计算机组成原理真题

12.程序P 在机器M上的执行时间是20秒,编译优化后,P 执行的指令数减少到原来 的70%,而CPI增加到原来的1.2 倍,则P 在M 上的执行时间是。

A.8.4秒

B.11.7秒

C.14 秒

D.16.8秒

。 14欢迎下载

精品文档

解:不妨设原来指令条数为x,那么原CPI就为20/x,经过编译优化后,指令条数减少 到原来的70%,即指令条数为0.7x,而CPI增加到原来的1.2倍,即24/x,那么现在P 在M 上的执行时间就为指令条数*CPI=0.7x*24/x=24*0.7=16.8秒,选D。 13.若x=103,y=-25,则下列表达式采用8 位定点补码运算实现时,会发生溢出的 是。

A.x+y

B.-x+y

C.x-y

D.-x-y

解:8 位定点补码表示的数据范围为-128~127,若运算结果超出这个范围则会溢出,A 选项x+y=103-25=78,符合范围,A排除;B选项-x+y=-103-25=-128,符合范围,B排除; D选项-x-y=-103+25=-78,符合范围,D排除;C选项x-y=103+25=128,超过了127,选C。

该题也可按照二进制写出两个数进行运算观察运算的进位信息得到结果,不过这种方法 更为麻烦和耗时,在实际考试中并不推荐。

14.float型数据据常用IEEE754单精度浮点格式表示。假设两个float型变量x 和y分 别存放在32 位寄存器f1和f2 中,若(f1)=CC900000H,(f2)=B0C00000H,则x和y之间的 关系为。

A.xy且符号相同

B.xy且符号不同

解.(f1)和(f2)对应的二进制分别是(110011001001……)2 和(101100001100……)2,根据 IEEE754浮点数规范,可知(f1)的数符为1,阶码为10011001,尾数为1.001,而(f2)的数符 为1,阶码为01100001,尾数为1.1,则可知两数均为负数,符号相同,B、D排除,(f1)的 绝对值为1.001×2

26,(f2)的绝对值为

1.1×2-30,则(f1)的绝对值比(f2)

的绝对值大,而符号为 负,真值大小相反,即(f1)的真值比(f2)的真值小,即x

此题还有更为简便的算法,(f1)与(f2)的前4位为1100 与1011,可以看出两数均为负数, 而阶码用移码表示,两数的阶码头三位分别为100和011,可知(f1)的阶码大于(f2)的阶码, 又因为是IEEE754规格化的数,尾数部分均为1.xxx,则阶码大的数,真值的绝对值必然大, 可知(f1)真值的绝对值大于(f2)真值的绝对值,因为都为负数,则(f1)<(f2),即x

15.某容量为256MB的存储器由若干4M×8位的DRAM 芯片构成,该DRAM芯片的 地址引脚和数据引脚总数是。

A.19

B.22

15欢迎下载

C.30 D.36

精品文档

解.4M×8位的芯片数据线应为8根,地址线应为log24M=22根,而DRAM采用地址复用技术,地址线是原来的 1/2,且地址信号分行、列两次传送。地址线数为22/2=11根,所以地址引脚与数据引脚的总数为11+8=19 根,选A。

此题需要注意的是DRAM是采用传两次地址的策略的,所以地址线为正常的一半,这是很多考生容易忽略的地方此题需要注意的是DRAM是采用传两次地址的策略的,所以地址线为正常的一半,这是很多考生容易忽略的地方。

采用指令Cache与数据Cache分离的主要目的是。A.降低Cache 的缺失损失B.提高Cache 的命中率C.降低CPU平均访存时间D.减少指令流水线资源冲突

解.把指令Cache 与数据Cache分离后,取指和取数分别到不同的Cache 中寻找,那么指令流水线中取指部分和取数部分就可以很好的避免冲突,即减少了指令流水线的冲突。 17.某计算机有16个通用寄存器,采用32位定长指令字,操作码字段(含寻址方式位) 为8位,Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式。若 基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则Store指令中偏移量的取值范 围是。

A.-32768~+32767 C.-65536~+65535

B.-32767~+32768 D.-65535~+65536

解.采用32位定长指令字,其中操作码为8位,两个地址码一共占用32-8=24位,而 Store 指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址,机器中共有16 个 通用寄存器,则寻址一个寄存器需要log216=4位,源操作数中的寄存器直接寻址用掉4位, 而目的操作数采用基址寻址也要指定一个寄存器,同样用掉 4 位,则留给偏移址的位数为

24-4-4=16位,而偏移址用补码表示,16位补码的表示范围为-32768~+32767,选A。

18.某计算机采用微程序控制器,共有32 条指令,公共的取指令微程序包含2条微指 令,各指令对应的微程序平均由4 条微指令组成,采用断定法(下地址字段法)确定下条微 指令地址,则微指令中下址字段的位数至少是

A.5

B.6

。 C.8

D.9

解.计算机共有32条指令,各个指令对应的微程序平均为4条,则指令对应的微指令 为32*4=128条,而公共微指令还有2条,整个系统中微指令的条数一共为128+2=130条,

。 16欢迎下载

联系客服:779662525#qq.com(#替换为@)