1、“计算机组成原理” 统考试题结构分析,齐齐哈尔大学 组成原理课题组,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年真题分析
2、,一、单项选择题(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)
3、第2章 运算方法与运算器(1) (13) 第3章 存储系统(2) (14、15) 第4章 指令系统(3) (16、17、18 ) 第5章 中央处理机(1) ( 19 ) 第6章 总线系统(1) (20) 第8章 I/O系统(2) (21、22),二、综合应用题(两大题,共23分) 43题(11分)分析计算题(指令执行和运算器):涉及第2、5章 44题(12分)设计题(存储器):涉及第3章,第一章 计算机系统概论,2009年真题,11.冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是( ) A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段
4、D.指令和数据所在的存储单元,2010年真题,12、下列选项中,能缩短程序执行时间的措施是( )I 提高CPU时钟频率,II优化数据通路结构,III对程序进行编译优化A:仅I和II B:仅I和III C:仅II和III D:I,II,III,2011年真题,12、下列选项中,描述浮点数操作速度指标的是( )。A.MIPS B.CPI C.IPC D.MFLOPS,第二章 运算方法和运算器,2009年真题,12.一个C语言程序在一台32位机器上运行。程序中定义了三个变量xyz,其中x和z是int型,y为short型。当x=127,y=-9时,执行赋值语句z=x+y后,xyz的值分别是( ) AX
5、=0000007FH,y=FFF9H,z=00000076H BX=0000007FH,y=FFF9H,z=FFFF0076H CX=0000007FH,y=FFF7H,z=FFFF0076H DX=0000007FH,y=FFF7H,z=00000076H,分析:X为int型,长度为32位,转化为16进制应为00007FHY为short型,长度为16位,转化为16进制应为FFF7H因为Z为int型,应把Y由short型转换成int型再计算, 即把Y变成FFFFFFF7H则Z=X+Y=00000076H,2009年真题,13.浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤
6、。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=2729/32,Y=255/8,则用浮点加法计算X+Y的最终结果是( ) A00111 1100010 B00111 0100010 C01000 0010001 D发生溢出,分析:把X和Y转换为二进制X=00.11101200111,Y=00.10100200101 即 X=00111 0011101, Y=00101 0010100 1.对阶:Y=00111 0000101 2.求和:X+Y=00111 0100010 3.规格化:X+Y=01000 0010001 4.阶码符号位为01,溢出,2
7、010年真题,13、假定有4个整数用8位补码分别表示r1=FEH ,r2=F2H ,r3=90H,r4=F8H,若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的是( )A:r1*r2 B:r2*r3 C:r1*r4 D:r2*r4,分析:r1的真值为-2,r2的真值为-14,r3的真值为-112,r4的真值为-8显然只有r3和其它寄存器的内容相乘才会溢出,2010年真题,14、假定变量i、f和d的数据类型分别为int、float和double(int用补码表示,float和double分别用IEEE 754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1
8、.5e100。若在32位机器中执行下列关系表达式,则结果为 “真”的是: I i = (int) (float) i II f = (float) (int) f IIIf = (float) (double) f IV (d+f) - d = f A仅I和II B仅I和III C仅II和III D仅III和IV,分析:int型数据长度32位,表示范围为-231231-1,转换为十进制数 约为-21092109, float型数据为单精度浮点数,按754标准,尾数23位,阶码8位,double型数据为双精度浮点数,按754标准,尾数52位,阶码11位。I i = (int) (float) i
9、i=(785)10=(1100010001)2,有效数字为10位,转换为float型数据不丢 失有效位,再转换回int型,值不变,结果为真。 II f = (float) (int) f f=(1.5678e3)10=(1567.8)10,有小数部分,转换为int型数据小数部分 丢失,再转换回float型,值改变,结果为假。IIIf = (float) (double) f float型转换为double型,位数增加,不丢失有效位,再转换回float 型,值不变,结果为真。IV (d+f) - d = fd=1.5e100, 变成浮点数阶码大约为330,f=1.5678e3,变成浮点数阶码 大
10、约为10,两数相加,阶差为320,f相当于0,被舍去,再减d,结果为0, 和f相比较,结果为假。,2011年真题,13、float 型数据通常用 IEEE754 单精度浮点数格式表示。如编译器将 float 型变量 x 分配在一个 32 位浮点寄存器 FR1 中,且 x =-8.25,则 FR1 的内容是( )。A.C104 0000H B.C242 0000H C.C184 0000H D.C1C2 0000H,分析:X=(-8.25)10=(-1000.01)2=(-1.0000123)2 转换为32位浮点数格式1 10000010 00001000000000000000000 即 C1
11、04 0000,2011年真题,43、假定在一个 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。请回答下列问题。(提示:带符号整数用补码表示)(1) 执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?(用十六进制表示)(2)执行上述程序段后,变量 m
12、和 K1 的值分别是多少?(用十进制表示)(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?,分析:,(1)R1:86H,R5:90H,R6:7C(2)m:-122,n:-10(3)可以利用同一个加法器及辅助电路实现。因为无符号整数和有符号整数都是以补码形式存储,所以运算规则都是一样的。但是有一点需要考虑,由于无符号整数和有符号整数的表示范围是不一样的,所以需要设置不一样的溢出电路。(4)判断溢出方法:双符号
13、位:单符号位:K2会发生溢出,第三章 内部存储器,14.某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是( ) A0 B. 2 C. 4 D. 6,2009年真题,分析:每个块大小为32字节,主存129号单元应分在第 4块,对应装入到Cache的组号应为第4组。,15.某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K8位的ROM芯片和4K4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是( ) A1、15 B2、1
14、5 C1、30 D2、30,2009年真题,分析:ROM芯片数:4KB/(2K*8)=2片RAM芯片数:(64KB-4KB)/(4K*4)=30片,21.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是( ) A5% B. 9.5% C. 50% D. 95%,2009年真题,分析:Cache的命中率=Cache命中次数/总访存次数=(1000-50)/1000=95%,15、假定用若干个2k*4位芯片组成一个8k*8位存储器,则地址0B1FH所在芯片的最小地址是( )A:0000H B:0600H C
15、:0700H D:0800H,2010年真题,分析:存储器总地址位数:13位,A0A12存储芯片地址位数:11位,A0A10A11,A12产生片选信号,同一芯片内存储单元的 地址A11,A12两位相同,A0A10的范围从全0到全10B1FH=0000 1011 0001 1111BA11,A12=10,则芯片首地址为0000 1000 0000 0000B,即为0800H,16、下列有关RAM和ROM的叙述中,正确的是( ) I、 RAM是易失性存储器,ROM是非易失性存储器 II、RAM和ROM都是采用随机存取的方式进行信息访问 III、RAM和ROM都可用作Cache IV、RAM和ROM
16、都需要进行刷新A:仅I和II B:仅II和III C:仅I,II,III D:仅II,III,IV,2010年真题,分析:ROM是只读存储器,因此是非易失性的,不需要刷新。Cache位于CPU和主存之间,其保存当前正在使用的数 据块,不能用ROM实现。ROM通过地址线确定访问对象的地址,是采用随机存 取的方式访问。,17、下列命令组合情况中,一次访存过程中,不可能发生的是( )A:TLB未命中,Cache未命中,Page未命中B:TLB未命中,Cache命中,Page命中 C:TLB命中,Cache未命中,Page命中D:TLB命中,Cache命中,Page未命中,2010年真题,分析:TLB
17、是页表缓冲器,也称为快表技术,由相联存储器构成,里面存放的是页表中近期最常使用页的页表信息,是页表内容的一部分。因此,TLB命中,Page一定命中,但Page命中,TLB不一定命中。Cache是高速缓冲存储器,里面存放的是主存中近期最常使用的数据块,是主存内容的一部分,而主存中的内容在页表中一定存在。因此,Cache命中,Page一定命中,但Page命中,Cache不一定命中。TLB和Cache的命中没有一致关系。,44.(12分)某计算机的主存地址空间为256MB,按字节编址,指令Cache和数据Cache分离,均有8个Cache行,每个Cache行的大小为64B,数据Cache采用直接映射
18、方式,现有两个功能相同的程序A和B,其伪代码如下所示:,2010年真题,假定int 类型数据用32位补码表示,程序编译时i,j, sum 均分配在寄存器中,数据a按行优先方式存放,其地址为320(十进制数),请回答下列问题,要求说明理由或给出计算过程。(1)若不考虑用于cache一致性维护和替换算法的控制位,则数据Cache的总容量是多少?(2)要组元素a031和a11各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?(3)程序A和B的数据访问命中各是多少?那个程序的执行时间更短?,分析:主存块数=256MB/64B=4M Cache共8行,每行对应主存块数=4M/8=
19、512K主存地址格式如下:,1.每行Cache的数据位数=64*8=512位 每行需有一个行标记(19位,说明该行存放的是主存中的哪一块)和一个有效位(1位,说明该行内容是否是从主存中的装入的有效块)Cache总位数=(512+19+1)*8=4256位,2.数组a起始地址为320,按行优先存放,则aij=320+i*256*4+j*4a031地址为1BCH(OO0110111100B),对应第6行;a11地址为544H(010101000100B),对应第5行。 3. Cache每行64B,可存放16个数据元素。数组a按行优先方式存放,每次从主存装入Cache时都是把同一个相邻的16个元素装
20、入。对程序a来说,要连续访问同一行的相邻元素,即每16个元素中,1次装入,15次命中。命中率=15/16=93.75%对程序b来说,要连续访问不同行的元素,每次都需重新装入。命中率=0,14. 下列各类存储器中,不采用随机存取方式的是( )。A.EPROM B.CDROM C.DRAM D.SRAM,2011年真题,分析:ROM和RAM都是随机存储的。而EPROM属于ROM;SRAM和DRAM属于RAM,故都是采用随机存取方式。而CDROM属于光盘,为非随机存储。,15. 某计算机存储器按字节编址,主存地址空间大小为64MB,现用4Mx8位的RAM芯片组成32MB的主存储器,则存储器地址寄存器
21、MAR的位数至少是( )。A.22 位 B.23 位 C.25 位 D.26 位,2011年真题,分析:主存地址空间64MB,地址位数为26位。则MAR的位 数应为26位。,44. 某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB;Cache采用直接映射方式,共8行;主存与Cache之间交换的块大小为32B。系统运行到某一时刻时,页表的部分内容和Cache 的部分内容分别如题44-a图,题44-b图所示,图中页框号及标记字段的内容为十六进制形式。,2011年真题,请回答下列问题:(1)虚拟地址共有几位,哪几位表示虚页号?物理地址共
22、有几位?哪几位表示页框号(物理页号)?(2)使用物理地址访问Cache时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。(3)虚拟地址001C60H所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache命中?要求说明理由。,(4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44-c图所示,则此时虚拟地址024BACH所在的页面是否在主存中?要求说明理由。,题 44-c图 TLB 部分内容,分析: (1)页面大小为4KB,则页内地址12位。虚拟地址空间大小为16MB,则虚拟地址为
23、24位。高12位表示虚页号。主存地址空间大小为1MB,则物理地址为20位。高8位表示页框号。 (2)物理地址共20位。块大小为32B,则块内地址5位,Cache采用直接映射方式,共8行,则行号3位,其余为主存块标记,12位。即:,(3)虚拟地址001C60H的虚页号为001H,该页在页表中有效位为1,即在主存中,且主存中的页框号为04H,即物理地址为04C60H。该地址变为二进制为0000 0100 1100 0110 0000即行号为3,主存块标记为04CH。而Cache中第三行虽然有效位为1,但标记为105H,因此不命中。 (4)TLB为4路组相联,共可存放8个页表项,即分为两组。虚页号为
24、12位,最低位为组号,高11位为标记。虚拟地址024BACH的虚页号为024H,其中组号为0,标记为012H。在TLB的第0组的最后一项标记为012H,有效位为1,说明该地址所在页面在主存中。,第四章 指令系统,2009年真题,16.某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转以后的目标地址是( ) A.2006H B.2007H C.2008H D.2009H,分析:相对转移目标地址=当前PC
25、值+位移量=转移指令地址+2+位移量=2000H+2+06H=2008H,2009年真题,17.下列关于RISC的叙述中,错误的是( ) ARISC普遍采用微程序控制器BRISC大多数指令在一个时钟周期内完成CRISC的内部通用寄存器数量相对CISC多DRISC的指令数、寻址方式和指令格式种类相对CISC少,分析:RISC采用硬连线控制器,2010年真题,43.(11分)某计算机字长为16位,主存地址空间大小为128KB,按字编址,采用字长指令格式,指令名字段定义如下:,转移指令采用相对寻址方式,相对偏移是用补码表示,寻址方式定义如下:,注:(X)表示有储蓄地址X或寄存器X的内容,请回答下列问
26、题: (1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需多少位? (2)转移指令的目标地址范围是多少? (3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,5678H中的内容为1234H,则汇编语言为add(R4),(R5)+(逗号前原操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?,分析: 1.
27、 操作码OP有4位,说明该指令系统最多可以有16条指令;每个操作数字段位,其中Ms/Md占3位,Rs/Rd占3位,说明该计算机最多可以有8个通用寄存器。主存地址空间128KB,说明存储器地址寄存器至少需19位;计算机字长16位,说明存储器数据寄存器至少需16位。 2. 计算机字长16位,则CPU中寄存器长度也应为16位,转移指令转移目标地址为(PC)+(Rn),地址位数最16位,即转移指令的目标地址范围是0000HFFFFH。,3. OP Ms Rs Md Rd0010 001 100 010 101指令代码为2315H指令add (R4), (R5)+的功能为:(R4)+(R5)(R5)(R
28、5)+1 R5其中,(R4)=1234H,(1234H)=5678H(R5)=5678H,(5678H)=1234H则指令执行结果为:(5678H)=68ACH,(R5)=5679H,2011年真题,16. 偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。A.间接寻址B.基址寻址 C.相对寻址 D.变址寻址,分析:基址寻址、变址寻址、相对寻址都是将一个寄存器内容和一个形式地址相加而生成有效地址,只有间接寻址不是。,2011年真题,17. 某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF 和溢出标志OF,条件转
29、移指令bgt(无符号整数比较大于时转移)的转移条件是( )。A. CF + OF = 1 B. SF + ZF = 1 C. CF + ZF = 1 D. CF + SF = 1,分析:无符号数比较大小不影响符号标志SF和溢出标志OF,当比较大于时应为CF=0(不产生借位)和ZF=0(不相等)。,2011年真题,18. 下列给出的指令系统特点中,有利于实现指令流水线的是( )。 I. 指令格式规整且长度一致 II. 指令和数据按边界对齐存放 III. 只有 Load/Store 指令才能对操作数进行存储访问A.仅 I、II B.仅 II、III C.仅 I、III D.I、II、III,分析:
30、这三种情况都对实现指令流水线有利。,第五章 中央处理机,2009年真题,18.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的 缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是( ) A90ns B. 80ns C. 70ns D. 60ns,2009年真题,19.相对于微程序控制器,硬布线控制器的特点是( ) A指令执行速度慢,指令功能的修改和扩展容易 B指令执行速度慢,指令功能的修改和扩展难 C指令执行速度快,指令功能的修改和扩展容易 D指令执行速度快,指令功能的修改和扩展难,2009年真题,44.(13分)某计算机字
31、长16位,采用16位定长指令字结构,部分数据通路结构如图所示。图中所有控制信号为1时表示有效、为0时表示无效。例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+(R1)(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。 数据通路结构,下表给出了上述指令取值和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。 功能和控制信号 时钟功能有效控
32、制信号,2010年真题,18. 下列存储器中,汇编语言程序员可见的是( )A:存储器地址寄存器(MAR) B:程序计数器(PC)C:存储器数据寄存器(MDR) D:指令寄存器(IR),2010年真题,19、下列不会引起指令流水阻塞的是( ) A:数据旁路 B:数据相关 C:条件转移 D:资源冲突,2011年真题,19. 假定不采用 Cache 和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是( )。A.每个指令周期中 CPU 都至少访问内存一次B.每个指令周期一定大于或等于一个 CPU 时钟周期C.空操作指令的指令周期中任何寄存器的内容都不会被改变D.当前程序在
33、每条指令执行结束时都可能被外部中断打断,第六章 总线系统,2009年真题,20.假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是( )A10MB/s B. 20MB/S C. 40MB/S D. 80MB/S,2010年真题,20、下列选项中的英文缩写均为总线标准的是( )A:PCI、CRT、USB、EISA B:ISA、CPI、VESA、EISAC:ISA、SCSI、RAM、MIPS D:ISA、EISA、PCI、PCI-Express,2011年真题,20. 在系统总线的数据线上,不可能传输的是( )。A.指令 B.操作
34、数C.握手(应答)信号 D.中断类信号,第八章 输入输出系统,2009年真题,22.下列选项中,能引起外部中断的事件是( ) A键盘输入 B.除数为0 C.浮点运算下溢 D.访存缺页,2009年真题,43.(8分)某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。 (1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少? (2)当该外设
35、的数据传输率达到5MB/s时,改用DMA方式传送数据。假设每次DMA传送大小为5000B, 且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突),2010年真题,21、单级中断系统中,中断服务程序执行顺序是( )I、保护现场,II、开中断,III、关中断,IV、保存断点,V、中断事件处理,VI、恢复现场,VII、中断返回A:I、V、VI、II、VII B:III、I、V、VIIC:III、IV、V、VI、VII D:IV、I、V、VI、VII,2010年真题,22、假定一台计算机的显示存储器用DR
36、AM芯片实现,若要求显示分辨率为1600*1200,颜色深度为24位,帧频为85Hz,显示总带宽的50% 用来刷新屏幕,则需要的显存总带宽至少约为( )A:245 Mbps B:979 MbpsC:1958 Mbps D:7834Mbps,2011年真题,21. 某计算机有五级中断 L4L0 ,中断屏蔽字为M4M3M2M1M0, Mi=1(0i4)表示对 Li 级中断进行屏蔽。若中断响应优先级从到低的顺序是 L0L1L2L3L4,且要求中断处理优先级从高到低的顺序是L4L0L2L1L3,则 L1的中断处理程序中设置的中断屏蔽字是( )。A.11110 B.01101 C.00011 D.01010,2011年真题,22. 某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期至少为500。在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则 CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是( )。A.0.02% B.0.05% C.0.20% D.0.50%,