计算机组成原理复习题6.121、下列数中最小的数是(B)。A(1010010)2B(00101000)BCDC(512)8D(235)162、某机字长16位,采用定点整数表示,符号位为1位,尾数为15位,则可表示的最大正整数为(),最小负整数为(A)。A+(215-1),-(215-1)B+(215-1),-(216-1)C+(214-1),-(215-1)D+(215-1),-(1-215)3、运算器虽由许多部件组成,但核心部分是(B)A数据总线B算术逻辑运算单元C多路开关D累加寄存器4、在定点运算器中,无论采用双符号位还是采用单符号位,都必须要有溢出判断电路,它一般用(C)来实现A与非门B或非门C异或门D与或非门5、立即寻址是指(B)A指令中直接给出操作数地址B指令中直接给出操作数C指令中间接给出操作数D指令中间接给出操作数地址6、输入输出指令的功能是(C)A进行算术运算和逻辑运算B进行主存与CPU之间的数据传送C进行CPU与I/O设备之间的数据传送D改变程序执行的顺序7、微程序控制器中,机器指令与微指令的关系是(D)A一段机器指令组成的程序可由一条微指令来执行B一条微指令由若干条机器指令组成C每一条机器指令由一条微指令来执行D每一条机器指令由一段用微指令编成的微程序来解释执行8、相对指令流水线方案和多指令周期方案,单指令周期方案的资源利用率和性价比(A)A最低B居中C最高D都差不多9、某一RAM芯片,其容量为1024×8位,除电源端和接地端外,连同片选和读/写信号该芯片引出腿的最小数目为(B)A23B20C17D1910、在主存和CPU之间增加Cache的目的是(C)。A扩大主存的容量B增加CPU中通用寄存器的数量C解决CPU和主存之间的速度匹配D代替CPU中寄存器工作11、计算机系统的输入输出接口是(B)之间的交接界面。ACPU与存储器B主机与外围设备C存储器与外围设备DCPU与系统总线12、在采用DMA方式的I/O系统中,其基本思想是在(B)之间建立直接的数据通路。ACPU与存储器B主机与外围设备C外设与外设DCPU与主存11、冯.诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区别它们的依据是(C)A.指令操作码的译码结果B.指令和数据的寻址方式C.指令周期的不同阶段D.指令和数据所在的存储单元12、一个C语言程序在一台32位机器上运行。程序中定义了三个变量x、y和z,其中x和z为int型,y为short型。当x=127,y=-9时,执行赋值语句z=x+y后,x、y和z的值分别是(D)A.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFF0076HC.x=0000007FH,y=FFF7H,z=FFFF0076HD.x=0000007FH,y=FFF7H,z=00000076H13、浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是(D)A.001111100010B.001110100010C.010000010001D.发生溢出14、某计算机的Cache共有16块,采用2路组相联映射方式(即每组两块),每个主存块大小为32字节,按字节寻址,主存129号单元所在主存块应装入到的Cache组号是(C)A.0B.2C.4D.615、某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K×*8位的ROM芯片和4K×*4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是(D)A.1、15B.2、15C.1、30D.2、3016、某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是(C)A.2006HB.2007HC.2008HD.2009H17、下列关于RISC的叙述中,错误的是(A)A.RISC普遍采用微程序控制器B.RISC大多数指令在一个时钟周期内完成C.RISC的内部通用寄存器数量相对CISC多D.RISC的指令数、寻址方式和指令格式种类相对CISC少18、某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是(A)A.90nsB.80nsC.70nsD.60ns19、相对于微程序控制器,硬布线控制器的特点是(D)A.指令执行速度慢,指令功能的修改和扩展容易B.指令执行速度慢,指令功能的修改和扩展难C.指令执行速度快,指令功能的修改和扩展容易D.指令执行速度快,指令功能的修改和扩展难20、假设某系统总线在一个总线周期中并行传送4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是(B)A.10MB/sB.20MB/sC.40MB/sD.80MB/s21、假设某计算机的存储器系统由Cache和主存组成。某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是(D)A.5%B.9.5%C.50%D.95%22、下列选项中,能引起外部中断的事件是(A)A.键盘输入B.除数为0C.浮点运算下溢D.访存缺页二、判断题(每题3分,共15分)1、两个补码相加,只有在最高位都是1时有可能产生溢出。(×)2、相对寻址方式中,操作数的有效地址等于程序计数器内容与偏移量之和(√)3、指令是程序设计人员与计算机系统沟通的媒介,微指令是计算机指令和硬件电路建立联系的媒介。(√)4、半导体ROM是非易失性的,断电后仍然能保持记忆。(√)5、在统一编址方式下,CPU访问I/O端口时必须使用专用的I/O命令。(√)三、应用题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)按题意,外设每秒传送0.5MB,中断时每次传送4B,则每秒钟需中断的次数为0.5MB/4B=125×103,每次中断用时(18+2)×5=100个时钟周期,则总计用时为125×103×100;与CPU总的500M个时钟周期之比为(125×103×100)/(500×106)=2.5%,这就是外设占用时间的百分比;(2)当外设每秒传送5MB时改用DMA方式传送,每次DMA传送5000B,则每秒需要启动DMA的次数5MB/5000B=103,每次用时500个时钟周期,总计用时为500×103,与CPU总的500M个时钟周期之比为(500×103)/(500×106)=0.1%,是外设占用时间的百分比。说明:解答此题用时钟周期之比最简捷方便,这里的CPI是一个重要概念,用它和指令条数的乘积可以求出有关时钟周期的数量,有的考生将其转换为以秒为单位的时间来计算是划不来的,显得繁琐。44.(13分)某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效、为0时表示无效,例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1,R0)”的功能为(R0)+((R1))→(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。存储器(M)MemRMemWAddrDataMARMDRR0PCR1IRABDBCBPC+1ACAALU内总线ACoutIRinAinAddPCinPCoutR0outR1outR1inR0inMARinMDRinMDRoutMDRoutEMDRinE控制信号图例三态门及其控制信号寄存器输入控制信号ACin至指令译码部件下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。时钟功能有效控制信号C1MAR←(PC)PCout,MARinC2MDR←M(MAR)PC←(PC)+1MemR,MDRinEPC+1C3IR←(MDR)MDRout,IRinC4指令译码无存储器(M)MemRMemWDataAddrMARMDRR0PCR1IRABDBCBPC+1ACAALU内总线ACoutIRinAinAddPCinPCoutR0outR1outR1inR0inMARinMDRinMDRoutMDRoutEMDRinE控制信号图例三态门及其控制信号寄存器输入控制信号ACin至指令译码部件解:请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。时钟功能有效控制信号C5MAR←(R1)R1out,MARinC6MDR←M(MAR)A←(R0)MemR,MDRinER0out,AinC7加运算并存结果MDRout,Add,ACinC8MDR←(AC)ACout,MDRinC9写内存MDRoutE,MemW详细解释一条指令的执行过程通常由取指、译码和执行3个步骤完成,本题中取指用3个节拍、译码用1个节拍,首先要看清楚试题表格中给出的每一步的功能及其表示。执行加法运算并把结果写入主存如何完成呢?包括划分执行步骤、确定完成的功能、给出要提供的控制信号,这是本题的要考的内容。为回答这个问题,首先需要看清图中给出的部件组成情况和信息传送的路径。(1)程序计数器PC可以接收来自内总线的内容,还有增1计数功能,用到的控制信号是PCin,PC的内容可以送到内总线,用到的控制信号是PCout;(2)指令寄存器IR可以接收来自内总线的内容,用到的控制信号是IRin;(3)读写存储器用到的地址信息只能由存储器的地址寄存器MAR经地址总线AB提供,地址寄存器MAR只能接收内总线上的信息,用到的控制信号是MARin,MAR的输出一直处于使能状态;(4)读存储器时,要向存储器提供读命令MemR,读出的数据将通过数据总线DB送入存储器的数据寄存器MDR,用到的控制信号是MDRinE;MDR的内容可以送到内总线,用到的控制信号是MDRout;(5)写存储器时,要向存储器提供写命令MemW,写入的数据将由MDR通过数据总线DB送到存储器的数据引脚,用到的控制信号是MDRoutE;上面给出的5点说明在指令的取指步骤中已经见到,在指令的执行过程中还会用到在前面说过的3到5这3点和接下来的将要说到的6、7这两点的内容。(6)R0、R1都有送内容到内总线的路径,用到的控制信号分别是R0out和R1out;R0、R1都有接受内总线内容的能力,用到的控制信号分别是R0in和R1in。(7)ALU完成加法运算的2个数据只能是工作寄存器A和内总线的内容,执行加法需要给出控制信号Add;而累加器A只能接受内总线上的内容,用到的控制信号时Ain;运算结果需要保存到累加器AC中,用到的控制信号是ACin;AC的内容可以送到内总线,用到的控制信号是ACout;接下来是划分执行步骤、确定每一步完成的功能、需要提供的控制信号。这是由指令的功能和计算