“计算机组成原理”统考试题结构分析齐齐哈尔大学组成原理课题组2009年真题分析一、单项选择题(12小题,每小题2分,共24分)第1章计算机系统概论(1)(11)第2章运算方法与运算器(2)(12、13)第3章存储系统(3)(14、15、21)第4章指令系统(2)(16、17)第5章中央处理机(2)(18、19)第6章总线系统(1)(20)第8章I/O系统(1)(22)二、综合应用题(两大题,共21分)43题(8分)分析计算题(中断与DMA):涉及第5、6、8章44题(11分)设计题(指令周期设计):涉及第2、3、4、5章2010年真题分析一、单项选择题(11小题,每小题2分,共22分)第1章计算机系统概论(1)(12)第2章运算方法与运算器(2)(13、14)第3章存储系统(3)(15、16、17)第4章指令系统(0)()第5章中央处理机(2)(18、19)第6章总线系统(1)(20)第8章I/O系统(2)(21、22)二、综合应用题(两大题,共23分)43题(11分)设计题(指令系统设计):涉及第4、5章44题(12分)计算题(Cache相关计算):涉及第3章2011年真题分析一、单项选择题(11小题,每小题2分,共22分)第1章计算机系统概论(1)(12)第2章运算方法与运算器(1)(13)第3章存储系统(2)(14、15)第4章指令系统(3)(16、17、18)第5章中央处理机(1)(19)第6章总线系统(1)(19、20)第8章I/O系统(2)(21、22)二、综合应用题(两大题,共23分)43题(11分)分析计算题(存储系统,数据传送方式):涉及第3、8章44题(12分)设计题(指令系统,流水线):涉及第4、5章2012年真题分析一、单项选择题(11小题,每小题2分,共22分)第1章计算机系统概论(1)(12)第2章运算方法与运算器(2)(13,14)第3章存储系统(3)(15、16、17)第4章指令系统(0)()第5章中央处理机(1)(18)第6章总线系统(2)(20)第8章I/O系统(2)(21、22)二、综合应用题(两大题,共23分)43题(11分)分析计算题(指令执行和运算器):涉及第2、5章44题(12分)设计题(存储器):涉及第3章第一章计算机系统概论2009年真题11.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()A.指令操作码的译码结果B.指令和数据的寻址方式C.指令周期的不同阶段D.指令和数据所在的存储单元2010年真题12、下列选项中,能缩短程序执行时间的措施是()I提高CPU时钟频率,II优化数据通路结构,III对程序进行编译优化A:仅I和IIB:仅I和IIIC:仅II和IIID:I,II,III2011年真题12、下列选项中,描述浮点数操作速度指标的是()。A.MIPSB.CPIC.IPCD.MFLOPS2012年真题12、基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其它时间忽略不计。若CPU速度提高50%,I/O速度不变,则基准程序A所耗费的时间是()秒。A.55B.60C.65D.70第二章运算方法和运算器2009年真题12.一个C语言程序在一台32位机器上运行。程序中定义了三个变量xyz,其中x和z是int型,y为short型。当x=127,y=-9时,执行赋值语句z=x+y后,xyz的值分别是()A.X=0000007FH,y=FFF9H,z=00000076HB.X=0000007FH,y=FFF9H,z=FFFF0076HC.X=0000007FH,y=FFF7H,z=FFFF0076HD.X=0000007FH,y=FFF7H,z=00000076H分析:X为int型,长度为32位,转化为16进制应为00007FHY为short型,长度为16位,转化为16进制应为FFF7H因为Z为int型,应把Y由short型转换成int型再计算,即把Y变成FFFFFFF7H则Z=X+Y=00000076H2009年真题13.浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是()A.001111100010B.001110100010C.010000010001D.发生溢出分析:把X和Y转换为二进制X=00.11101×200111,Y=00.10100×200101即X=001110011101,Y=0010100101001.对阶:Y=0011100001012.求和:X+Y=0011101000103.规格化:X+Y=0100000100014.阶码符号位为01,溢出2010年真题13、假定有4个整数用8位补码分别表示r1=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的是()A:r1*r2B:r2*r3C:r1*r4D:r2*r4分析:r1的真值为-2,r2的真值为-14,r3的真值为-112,r4的真值为-8显然只有r3和其它寄存器的内容相乘才会溢出2010年真题14、假定变量i、f和d的数据类型分别为int、float和double(int用补码表示,float和double分别用IEEE754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是:I.i==(int)(float)iII.f==(float)(int)fIII.f==(float)(double)fIV.(d+f)-d==fA.仅I和IIB.仅I和IIIC.仅II和IIID.仅III和IV分析:int型数据长度32位,表示范围为-231~231-1,转换为十进制数约为-2×109~2×109,float型数据为单精度浮点数,按754标准,尾数23位,阶码8位,double型数据为双精度浮点数,按754标准,尾数52位,阶码11位。I.i==(int)(float)ii=(785)10=(1100010001)2,有效数字为10位,转换为float型数据不丢失有效位,再转换回int型,值不变,结果为真。II.f==(float)(int)ff=(1.5678e3)10=(1567.8)10,有小数部分,转换为int型数据小数部分丢失,再转换回float型,值改变,结果为假。III.f==(float)(double)ffloat型转换为double型,位数增加,不丢失有效位,再转换回float型,值不变,结果为真。IV.(d+f)-d==fd=1.5e100,变成浮点数阶码大约为330,f=1.5678e3,变成浮点数阶码大约为10,两数相加,阶差为320,f相当于0,被舍去,再减d,结果为0,和f相比较,结果为假。2011年真题13、float型数据通常用IEEE754单精度浮点数格式表示。如编译器将float型变量x分配在一个32位浮点寄存器FR1中,且x=-8.25,则FR1的内容是()。A.C1040000HB.C2420000HC.C1840000HD.C1C20000H分析:X=(-8.25)10=(-1000.01)2=(-1.00001×23)2转换为32位浮点数格式11000001000001000000000000000000即C10400002011年真题43、假定在一个8位字长的计算机中运行如下类C程序段:unsignedintx=134;unsignedinty=246;intm=x;intn=y;unsignedintz1=x-y;unsignedintz2=x+y;intk1=m-n;intk2=m+n;若编译器编译时将8个8位寄存器R1~R8分别分配至变量x、y、m、n、z1、z2、k1和k2。请回答下列问题。(提示:带符号整数用补码表示)(1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?(用十六进制表示)(2)执行上述程序段后,变量m和K1的值分别是多少?(用十进制表示)(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?分析:变量寄存器十进制(真值)二进制十六进制是否溢出xR11341000011086HyR224611110110F6HmR3-1221000011086HnR4-1011110110F6Hz1R5-1121001000090H为负,溢出z2R6380011111007CH﹥255,溢出k1R7-1121001000090Hk2R8-132011111007CH﹤-128,溢出(1)R1:86H,R5:90H,R6:7C(2)m:-122,n:-10(3)可以利用同一个加法器及辅助电路实现。因为无符号整数和有符号整数都是以补码形式存储,所以运算规则都是一样的。但是有一点需要考虑,由于无符号整数和有符号整数的表示范围是不一样的,所以需要设置不一样的溢出电路。(4)判断溢出方法:双符号位:单符号位:K2会发生溢出2012年真题13.在C语言中,int型占32位,short型占16位,若有下列语句:unsignedshortx=65530unsignedinty=x则执行后,y的16进制表示为:A.00007FFAB.0000FFFAC.FFFF7FFAD.FFFFFFFA分析:X=65530D=FFFAHX和Y都是无符号整数,由16位扩展到32位,高位补0,则Y=0000FFFAH2012年真题14.float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是:A.2126-2103B.2127-2104C.2127-2103D.2128-2104分析:IEEE754单精度浮点数的真值为:x=(-1)S×(1.M)×2E-127,其中M为23位当表示最大正整数时:S=0M为全1,即1.M=2-2-23E=254,E-127=127(E=0和255分别表示零和无穷大)则x=(2-2-23)×2127=2128-2104第三章内部存储器14.某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是()A.0B.2C.4D.62009年真题分析:每个块大小为32字节,主存129号单元应分在第4块,对应装入到Cache的组号应为第4组。15.某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是()A.1、15B.2、15C.1、30D.2、302009年真题分析:ROM芯片数:4KB/(2K*8)=2片RAM芯片数:(64KB-4KB)/(4K*4)=30片21.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是()A.5%B.9.5%C.50%D.95%2009年真题分析:Cache的命中率=Cache命中次数/总访存次数=(1000-50)/1000=95%15、假定用若干个2k*4位芯片组成一个8k*8位存储器,则地址0B1FH所在芯片的最小地址是()A:0000HB:0600HC:0700HD:0800H2010年真题分析:存储器总地址位数:13位,A0~A12存储芯片地址位数:11位,A0~A10A11,A12产生片选信号