408计算机学科专业基础综合历年考研真题节选
(一)选择题及综合题:
12一个C语言程序在一台32位机器上运行。程序中定义了3个变量x、Y和z,其中x和z为int型, Y为short型。当x=127, Y=-9时, 执行赋值语句z=x+Y后, x、Y和z的值分别是( )。
A.x=0000007FH,Y=FFFFFFF9H,z=00000076H
B.x=0000007FH,Y=FFFFFFF9H,z=FFFF0076H
C.x=0000007FH,Y=FFFFFFF7H,z=FFFF0076H
D.x=0000007FH,Y=FFFFFFF7H,z=00000076H
【答案】D
【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据, 这被称为“符号扩展。例如, x和z为int型, 数据长32位, Y为short型,数据长16位,因此首先应将y转换成32位的数据,然后再进行加法运算。运算采用补码的形式,而x的补码是0000007FH,Y的补码是FFFFFFF7H,所以x+Y=00000076H.
13浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=2x29/32,Y=2x5/8,则用浮点加法计算X+Y的最终结果是( )。
A.001111100010
B.001110100010
C.010000010001
D.发生溢出
【答案】D
【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步。X和Y的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶看齐。因此将Y对阶后得到:Y=2x5/32,然后将尾数相加,得到尾数之和为:34/32。因为这是两个同号数相加,尾数大于1,则需要右规,阶码加1。由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在-8~+7之间。而阶码本身等于7,再加1就等于8。因此,最终结果发生溢出。
14某计算机的Cache共有16块, 采用2路组相联映射方式(即每组2块) 。每个主存块大小为32字节, 按字节编址。主存129号单元所在主存块应装入到的Cache组号是( )。
A.0 B.2 C.4 D.6
【答案】C
【解析】首先根据主存地址计算所在的主存块号,然后根据组相联映射的映射关系K=Imod Q(K代表Cache的组号, I代表主存的块号, Q代表Cache的组数) 来计算Cache的组号。由于每个主存块大小为32字节,按字节编址,那么主存129号单元所在的主存块号是4, Cache共有16块, 采用2路组相联映射方式(即每组2块) , 故Cache有8组, 按照上面的公式可以计算得到Cache的组号=4mod 8=4。
15某计算机主存容量为64KB, 其中ROM区为4KB, 其余为RAM区, 按字节编址。现要用2Kx 8位的ROM芯片和4Kx 4位的RAM芯片来设计该存储器, 则需要上述规格的ROM芯片数和RAM芯片数分别是( )。
A.1、15 B.2、15 C.1、30 D.2、30
【答案】D
【解析】主存储器包括RAM和ROM两部分, 由于ROM区为4KB, 则RAM区为60KB。存储容量的扩展方法有字扩展、位扩展、字和位同时扩展三种。选用2Kx 8位的ROM芯片, 只需采用2片芯片进行字扩展便可得到4KB的ROM区; 选用4Kx 4位的RAM芯片, 需采用(60) /4*2片芯片进行字和位同时扩展便可得60KB的RAM区。
43 (8分) 某计算机的CPU主频为500MHz, CPI为5(即执行每条指令平均需要5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。
(1) 在中断方式下, CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
(2) 当该外设的数据传输率达到5MB/s时, 改用DMA方式传送数据。假定每次DMA传送块大小为5000B, 且DMA预处理和后处理的总开销为500个时钟周期, 则CPU用于该外设I/O时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)
解: (1) 已知主频为500MHz, 则时钟周期=1-500MHz=2ns, 因为CPI=5, 所以每条指令平均5x2=10ns。又已知每中断一次传送32位(4个字节),数据传输率为0.5MB/s,所以传送时间=4-0.5MB/s=8us。CPU用于该外设I/O共需20条指令(中断服务程序包括18条指令+其他开销折合2条指令) , 花费时间=20x 10=200ns。CPU用于该外设I/O的时间占整个CPU时间的百分比=200/8000×100%=0.025*100%=2.5%。
(2) 改用DMA方式传送数据, 数据传输率为5MB/s, 传送5000B的时间=5000B-5MB/s=1ms。预处理和后处理的总开销时间=500x2ns=1us。CPU用于该外设I/O时间占整个CPU时间的百分比=预处理和后处理的总开销时间-传送数据的时间=1/1000×100%=0.001x100%=0.1%。 作者:学盛通学习网 https://www.bilibili.com/read/cv9221021 出处:bilibili
- 2022-02-15
- 2022-04-20
- 2022-04-10
- 2022-03-14
- 2022-05-11