1、计算机专业基础综合历年真题试卷汇编 5 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 下列选项中,能缩短程序执行时间的措施是_。提高 CPU 时钟频率优化数据通路结构对程序进行编译优化(A)仅和(B)仅 和(C)仅 和(D)、和2 下列选项中,描述浮点数操作速度指标的是_。(A)MIPS(B) CPI(C) IPC(D)MFLOPS3 假定基准程序 A 在某计算机上的运行时间为 100 秒,其中 90 秒为 CPU 时间,其余为 IO 时间。若 CPU 速度提高 50,IO 速度不变,则运行基准程序 A 所
2、耗费的时间是_。(A)55 秒(B) 60 秒(C) 65 秒(D)70 秒4 某计算机主频为 12GHz,其指令分为 4 类,它们在基准程序中所占比例及 CPI如下表所示。该机的 MIPS 数是_。(A)100(B) 200(C) 400(D)6005 程序 P 在机器 M 上的执行时间是 20 秒,编译优化后,P 执行的指令数减少到原来的 70,而 CPI 增加到原来的 12 倍,则 P 在 M 上的执行时间是_。(A)84 秒(B) 117 秒(C) 14 秒(D)168 秒6 用海明码对长度为 8 位的数据进行检纠错时,若能纠正一位错,则校验位数至少为_。(A)2(B) 3(C) 4(
3、D)57 某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定 int 和short 型长度分别为 32 位和 16 位,并且数据按边界对齐存储。某 C 语言程序段如下:structint a;char b;short c;record;recorda=273,若 record 变量的首地址为 0xC008,则地址 0xC008 中内容及 recordc 的地址分别为_。(A)0x00、0xC00D(B) 0x00、0xC00E(C) 0x11、0xC00D(D)0x11、0xC00E8 假定编泽器觇定 int 和 short 类型长度分别为 32 位和 16 位,执行下列 C 语言
4、语句unsigned short x=65530,unsiqned int y=x;得到 Y 的机器数为_。(A)0000 7FFAH(B) 0000 FFFAH(C) FFFF 7FFAH(D)FFFF FFFAH9 一个 C 语言程序在一台 32 位机器上运行。程序中定义了三个变量 x、Y 和 Z,其中 X 和 Z 为 int 型,Y 为 short 型。当 x=127,y=-9 时,执行赋值语句 z=x+y 后,x、y 和 z 的值分别是 _。(A)x=0000007FH,y=FFF9H,z=00000076H(B) x=0000007FH,y=FFF9H ,z=FFFF0076H(C)
5、 x=0000007FH,y=FFF7H ,z=FFFF0076H(D)x=0000007FH,y=FFF7H,z=00000076H10 若 x=103, y=-25,则下列表达式采用 8 位定点补码运算实现时,会发生溢出的是_。(A)x+y(B) -x+y(C) x-y(D)-x-y11 由 3 个“1”和 5 个“0”组成的 8 位二进制补码,能表示的最小整数是 _。(A)-126(B) -125(C) -32(D)-312 假定有 4 个整数用 8 位补码分别表示为 r1=FEH,r2=F2H,r3=90H,r4=F8H。若将运算结果存放在一个 8 位寄存器中,则下列运算中会发生溢出的
6、是_。(A)r1r2(B) r2r3(C) r1r4(D)r2r413 某字长为 8 位的计算机中,已知整型变量 x、y 的机器数分别为x 补 1 1110100,y 补 =1 0110000。若整型变量 z=2*x+y2,则 Z 的机器数为_。(A)1 1000000(B) 0 0100100(C) 1 0101010(D)溢出14 float 型数据通常用 IEEE 754 单精度浮点数格式表示。若编译器将 float 型变量x 分配在一个 32 位浮点寄存器 FR1 中,且 x=-8 25,则 FR1 的内容是_。(A)C104 0000H(B) C242 0000H(C) C184 0
7、000H(D)C1C2 01000H15 float 类型 (即 IEEE754 单精度浮点数格式)能表示的最大正整数是 _。(A)2 126-2103(B) 2127-2104(C) 2127-2103(D)2 128-210416 某数采用 IEEE754 单精度浮点数格式表示为 C640 0000H,则该数的值是_。(A)-1 52 13(B) -152 12(C) -052 13(D)-0 52 1217 float 型数据常用 IEEE754 单精度浮点格式表示。假设两个 float 型变量 x 和 y 分别存放在 32 位寄存器 f1 和 f2 中,若(f 1)=CC90 0000
8、H,(f 2)=B0C0 0000H,则 x 和y 之间的关系为_。(A)xy 且符号相同(B) xy 且符号不同(C) xy 且符号相同(D)xy 且符号不同18 假定变量 i、f 和 d 的数据类型分别为 int、float 和 double(int 用补码表示,float和 double 分别用 IEEE754 单精度和双精度浮点数格式表示),已知i=785, f=15678e3,d=15e100 。若在 32 位机器中执行下列关系表达式,则结果为“真”的是_。I=(int)(float)IF=(float)(int)fF=(float)(double)f(d+f)-d=f(A)仅和(B
9、)仅 和(C)仅 和(D)仅和19 浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为 5 位和 7 位(均含 2 位符号位)。若有两个数 X=272932,y=2 558,则用浮点加法计算 X+Y 的最终结果是_。(A)00111 1100010(B) 00111 0100010(C) 01000 0010001(D)发生溢出20 下列有关浮点数加减运算的叙述中,正确的是_。对阶操作不会引起阶码上溢或下溢右规和尾数舍入都可能引起阶码上溢左规时可能引起阶码下溢尾数溢出时结果不一定溢出(A)仅、(B)仅 、(C)仅 、(D)、
10、21 下列有关 RAM 和 ROM 的叙述中,正确的是_。RAM 是易失性存储器,ROM 是非易失性存储器RAM 和 ROM 都采用随机存取方式进行信息访问RAM 和 ROM 都可用作 CaCheRAMM 和 ROM 都需要进行刷新(A)仅和(B)仅 和(C)仅 、和(D)仅、和22 下列各类存储器中,不采用随机存取方式的是_。(A)EPROM(B) CDROM(C) DRAM(D)SRAM23 下列存储器中,在工作期间需要周期性刷新的是_。(A)SRAM(B) SDRAM(C) ROM(D)FLASH二、综合应用题41-47 小题,共 70 分。24 假定某计算机的 CPU 主频为 80MH
11、z,CPI 为 4,平均每条指令访存 15 次,主存与 Cache 之间交换的块大小为 16B,Cache 的命中率为 99,存储器总线宽带为 32 位。请问该计算机的 MIPS 数是多少?24 假定在一个 8 位字长的计算机中运行如下类 C 程序段:unsigned int x=134;unsigned int y=246;int m=x;int n=y;unsigned int z1=x-y;unsigned int z2=x+y;int k1=m-n;int k2=m+n;若编译器编译时将 8 个 8 位寄存器 R1R8 分别分配给变量x、y、m、n、z1、z2 、k1 和 k2。请回答
12、下列问题。(提示:带符号整数用补码表示。)25 执行上述程序段后,寄存器 R1、R5 和 R6 的内容分别是什么(用十六进制表示)?26 执行上述程序段后,变量 m 和 k1 的值分别是多少 (用十进制表示)?27 上述程序段涉及带符号整数加减、无符号整数加减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。28 计算机内部如何判断带符号整数加减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?29 若 int 型变量 x 的值为-513,存放在寄存器 R1(16 位)中,则执行指令“SHRR1”(算术右移) 后, R1 中的内容是多少?( 用十六进
13、制表示。)计算机专业基础综合历年真题试卷汇编 5 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正确答案】 D【试题解析】 CPU 时钟频率(主频)越高,完成指令的一个执行步骤所用的时间就越短,执行指令的速度越快,正确。数据通路的功能是实现 CPU 内部的运算器和寄存器以及寄存器之间的数据交换,优化数据通路结构,可以有效提高计算机系统的吞吐量,从而加快程序的执行,正确。计算机程序需要先转化成机器指令序列才能最终得到执行,通过对程序进行编译优化可以得到更优的指令序列,从而使得程序的执行时间也越短,正确。【知识
14、模块】 计算机组成原理2 【正确答案】 D【试题解析】 MIPS 是每秒执行多少百万条指令,适用于衡量标量机的性能。CPI 是平均每条指令的时钟周期数。IPC 是 CPI 的倒数,即每个时钟周期执行的指令数。MFLOPS 是每秒执行多少百万条浮点数运算,用来描述浮点数运算速度,适用于衡量向量机的性能。【知识模块】 计算机组成原理3 【正确答案】 D【试题解析】 程序 A 的运行时间为 100 秒,除去 CPU 时间 90 秒,剩余 10 秒为IO 时间。CPU 提速后运行基准程序 A 所耗费的时间是 T=9015+10=70 秒。【知识模块】 计算机组成原理4 【正确答案】 C【试题解析】 基
15、准程序的 CPI=205+30 2+401+502=3。计算机的主频为 12GHz,即 1200MHz,故该机器的 MIPS=12003=400。【知识模块】 计算机组成原理5 【正确答案】 D【试题解析】 不妨设原来指令条数为 x,那么原 CPI 就为 20x,经过编译优化后,指令条数减少到原来的 70,即指令条数为 07x,而 CPI 增加到原来的12 倍,即 24x,那么现在 P 在 M 上的执行时间就为指令条数*CPI=07x*24x=24*07=168 秒,选 D。【知识模块】 计算机组成原理6 【正确答案】 C【试题解析】 设校验位的位数为 k,数据位的位数为 n,海明码能纠正一位
16、错应满足下述关系:2 kn+k+1。n=8 ,当 k=4 时,2 4(=16)8+4+1(=13),符合要求,故校验位至少是 4 位。【知识模块】 计算机组成原理7 【正确答案】 D【试题解析】 尽管 record 大小为 7 个字节(成员 a 有 4 个字节,成员 b 有 1 个字节,成员 c 有 2 个字节 ),由于数据按边界对齐方式存储(见考点笔记),故 record 共占用 8 个字节。record a 的十六进制表示为 0x00000111,由于采用小端方式存放数据,故地址 0xC008 中内容应为低字节 0x11;recordb 只占 1 个字节,后面的一个字节留空;record
17、c 占 2 个字节,故其地址为 0xC00E。各字节的存储分配如下图所示。【知识模块】 计算机组成原理8 【正确答案】 B【试题解析】 将一个 16 位 unsigned short 转换成 32 位形式的 unsigned int,因为都是无符号数,新表示形式的高位用 0 填充。16 位无符号整数所能表示的最大值为 65535,其十六进制表示为 FFFFH,故 X 的十六进制表示为 FFFFH-5H=FFFAH,所以 Y 的十六进制表示为 0000 FFFAH。【知识模块】 计算机组成原理9 【正确答案】 D【试题解析】 C 语言中的整型数据为补码形式, int 为 32 位,short 为
18、 16 位,故x、y 转换成十六进制为 0000007FH、FFF7H。执行 z=x+y 时,由于 x 是 int 型,y为 short 型,需将短字长数据转换成长字长数据,称之为 “符号扩展”。由于 y 的符号位为 1,故在 y 的前面添加 16 个 1,即可将 y 上升为 int 型,其十六进制形式为FFFFFFF7H。最后执行加法,即 0000007FH+FFFFFFF7H=00000076H,其中最高位的进位 1 自然丢弃。故选 D。【知识模块】 计算机组成原理10 【正确答案】 C【试题解析】 8 位定点补码表示的数据范围为-128127,若运算结果超出这个范围则会溢出,A 选项 x
19、+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。该题也可按照二进制写出两个数进行运算,观察运算的进位信息得到结果,不过这种方法更为麻烦和耗时,在实际考试中并不推荐。【知识模块】 计算机组成原理11 【正确答案】 B【试题解析】 补码整数表示时,负数的符号位为 1,数值位按位取反,末位加1,因此剩下的 2 个“1”在最低位时,表示的是最小整数,为 10000011,转换成真值为-125 。【知识模块】 计算机组
20、成原理12 【正确答案】 B【试题解析】 本题的真正意图是考查补码的表示范围,而不是补码的乘法运算。8 位补码所能表示的整数范围为-128+127。将 4 个数全部转换为十进制:r1=-2,r2=-14,r3=-112 ,r4=-8,得 r2r3=1568,远超出了表示范围,发生溢出。【知识模块】 计算机组成原理13 【正确答案】 A【试题解析】 x*2,将 x 算术左移一位为 1 1101000;y2,将 y 算术右移一位为1 1011000,均无溢出或丢失精度。补码相加为 1 1101000+1 1011000=1 1000000,亦无溢出。【知识模块】 计算机组成原理14 【正确答案】
21、A【试题解析】 本题题意即考查 IEEE754 单精度浮点数的表示。先将 x 转换成二进制为-1000 01=-1000012 3,其次计算阶码 E,根据 IEEE754 单精度浮点数格式,有 E-127=3,故 E=130,转换成二进制为 1000 0010。最后,根据 IEEE754 标准,最高位的“1”是被隐藏的。 IEEE754 单精度浮点数格式:数符(1 位)+ 阶码(8 位)十尾数(23 位) 。 故,FR1 内容为 1;1000 0010;0000 10000 0000 0000 0000 000。 即,1100 0001 0000 0100 0000 0000 0000 000
22、0=C104000H。 本题易误选 D,未考虑IEEE754 标准隐含最高位 1 的情况,偏置值是 128。【知识模块】 计算机组成原理15 【正确答案】 D【试题解析】 IEEE754 单精度浮点数是尾数用采取隐藏位策略的原码表示,且阶码用移码(偏置值为 127)表示的浮点数。规格化的短浮点数的真值为:(-1)S1m2 E-127,S 为符号位,阶码 E 的取值为 1254(8 位表示) ,尾数 m 为 23 位,共 32 位;故 float 类型能表示的最大整数是 111112 254-127=2127(2-2-23)=2128-2104,故选 D。【知识模块】 计算机组成原理16 【正确
23、答案】 A【试题解析】 IEEE 754 单精度浮点数格式为 C640 0000H,二进制格式为 1100 0110 0100 0000 0000 00000000 0000,转换为标准的格式为:数符=1 表示负数;阶码值为 1000 1100-0111 1111=0000 1101=13;尾数值为15(注意其有隐含位,要加 1)。因此,浮点数的值为-152 13。【知识模块】 计算机组成原理17 【正确答案】 A【试题解析】 (f1)和(f2)对应的二进制分别是(110011001001) 2 和(101100001100)2,根据 IEEE754 浮点数标准,可知(f1) 的数符为 1,阶
24、码为10011001,尾数为 100l,而(f2)的数符为 1,阶码为 01100001,尾数为 11,则可知两数均为负数,符号相同,B、D 排除,(n)的绝对值为 10012 26,(f2) 的绝对值为 112 -30,则(f1)的绝对值比(f2) 的绝对值大,而符号为负,真值大小相反,即(f1)的真值比(f2)的真值小,即 xy,选 A。 此题还有更为简便的算法,(f1)与(f2)的前 4 位为 1100 与 1011,可以看出两数均为负数,而阶码用移码表示,两数的阶码头三位分别为 100 和 011,可知(f1)的阶码大于(f2)的阶码,又因为是IEEE754 规格化的数,尾数部分均为
25、1XXX ,则阶码大的数,真值的绝对值必然大,可知(f1)真值的绝对值大于(f2) 真值的绝对值,因为都为负数,则(f1) (f2),即 xy。【知识模块】 计算机组成原理18 【正确答案】 B【试题解析】 题中三种数据类型的精度从低到高为 int-float-double,从低到高的转换通常可以保持其值不变,和正确,而从高到低的转换可能会有数据的舍入,从而损失精度。对于,先将 float 型的 f 转换为 int 型,小数点后的数位丢失,故其结果不为真。对于,初看似乎没有问题,但浮点运算 d+f 时需要对阶,对阶后 f 的尾数有效位被舍去而变为 0,故 d+f 仍然为 d,再减去 d 后结果
26、为 0,故结果不为真。此外,根据不同类型数据混合运算的“类型提升”原则,在中,等号左端的类型为double 型,结果不为真。【知识模块】 计算机组成原理19 【正确答案】 D【试题解析】 X 的浮点数格式为 00,111;00, 11101(分号前为阶码,分号后为尾数), Y 的浮点数格式为 00,101;00,10100。然后根据浮点数的加法步骤进行运算。第一步:对阶。X、Y 阶码相减,即 00,111-00,101=00,111+11 ,011l=00,010,可知 X 的阶码比 Y 的价码大 2(这一步可直接目测)。根据小阶向大阶看齐的原则,将 Y 的阶码加 2,尾数右移 2 位,将 Y
27、 变为 00,111:00,00101。第二步:尾数相加。即 00,11101+00,00101=01,00010,尾数相加结果符号位为01,故需右规。第三步:规格化。将尾数右移 1 位,阶码加 1,得 X4Y 为01,000;00,10001。第四步:判溢出。阶码符号位为 01,说明发生溢出。本题容易误选选项 B、C,这是因为选项 B、C 本身并没有计算错误,只是它们不是最终结果,选项 B 少了第 3 第 4 步,选项 C 少了第 4 步。【知识模块】 计算机组成原理20 【正确答案】 D【试题解析】 对阶是较小的阶码对齐至较大的阶码,正确。右规和尾数舍入过程,阶码加 1 而可能上溢,正确,
28、同理也正确。尾数溢出时可能仅产生误差,结果不一定溢出,正确。【知识模块】 计算机组成原理21 【正确答案】 A【试题解析】 RAM(分为 DRAM 和 SRAM)断电后会失去信息,而 ROM 断电后不会丢失信息,它们都采用随机存取方式(注意,采用随机存取方式的存储器并不一定就是随机存储器)。Cache 一般采用高速的 SRAM 制成,而 ROM 只可读,不能用作 Cache,错误。DRAM 需要定期刷新,而 ROM 不需要刷新,故错误。【知识模块】 计算机组成原理22 【正确答案】 B【试题解析】 随机存取方式是指 CPU 可以对存储器的任一存储单元中的内容随机存取,而且存取时间与存储单元的物
29、理位置无关。选项 A、C 、D 均采用随机存取方式,CDROM 即光盘,采用串行存取方式。注意:CDROM 是只读型光盘存储器,而不属于只读存储器(ROM) 。【知识模块】 计算机组成原理23 【正确答案】 B【试题解析】 DRAM 使用电容存储,所以必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失。SDRAM 表示同步动态随机存储器。【知识模块】 计算机组成原理二、综合应用题41-47 小题,共 70 分。24 【正确答案】 平均每秒 CPU 执行的指令数为:80M4=20M,故 MIPS 数为20。【知识模块】 计算机组成原理【知识模块】 计算机组成原理25 【正确答案】
30、 134=128+6=10000110B,所以 x 的机器数为 10000110B,故 R1的内容为 86H。246=255-9=1111 0110B,所以 y 的机器数为 1111 0110B,x-y=10000110+000 1010=(0)1001 0000,括弧中为加法器的进位,故 R5 的内容为90H。x+y=10000110+1111 0110=(1)0111 1100,括弧中为加法器的进位,故 R6 的内容为 7CH。【知识模块】 计算机组成原理26 【正确答案】 m 的机器数与 x 的机器数相同,皆为 86H=1000 01 10B,解释为带符号整数 m(用补码表示)时,其值为
31、-111 1010B=-122。m-n 的机器数与 x-y 的机器数相同,皆为 90H=1001 0000B,解释为带符号整数 k1(用补码表示)时,其值为-111 0000B=-112。【知识模块】 计算机组成原理27 【正确答案】 能。11 位加法器实现的是模 2n 无符号整数加法运算。对于无符号整数 a 和 b, a+b 可以直接用加法器实现,而 a-b 可用 a 加 b 的补数实现,即 a-b=a+b补 (mod 2n),所以 n 位无符号整数加,减运算都可在 n 位加法器中实现。 由于带符号整数用补码表示,补码加减法运算公式为:a+b 补 =a补 +b补 (mod 2n),a-b补
32、=a补 +-b补 (mod 2n),所以 n 位带符号整数加减运算都可在 n 位加法器中实现。【知识模块】 计算机组成原理28 【正确答案】 带符号整数加减运算的溢出判断规则为:若加法器的两个输入端(加法 )的符号相同,且不同于输出端(和) 的符号,则结果溢出,或加法器完成加法操作时,若次高位(最高数位)的进位和最高位(符号位)的进位不同,则结果溢出。最后一条语句执行时会发生溢出。因为 1000 0110+1111 0110=(1)011 11100,括弧中为加法器的进位,根据上述溢出判断规则,可知结果溢出。或因为 2 个带符号整数均为负数,它们相加之后,结果小于 8 位二进制所能表示的最小负数。【试题解析】 考查有符号数和无符号数的表示与转换、加减运算、溢出判断。【知识模块】 计算机组成原理29 【正确答案】 x 的机器码为x 补 =1111 1101 1111 1111B,即指令执行前(R1)=FDFFH,右移 1 位后为 1111 1110 1111 1111B,即指令执行后(R1)=FEFFH。【知识模块】 计算机组成原理
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1