2014考研计算机统考组成原理部分.ppt
1,一.单项选择题,12.程序P在机器M上的执行时间是20秒,编译优化后,P执行的指令数减少到原来的70%,而CPI增加到原来的1.2倍,则P在M上的执行时间是()。A 8.4秒B 11.7秒C 14秒D 16.8秒13.若x=103,y=-25,则下列表达式采用8位定点补码运算实现时,会发生溢出的是()。A x+yB-x+yC x-yD-x-y14.float型整数据常用IEEE754单精度浮点格式表示,假设两个float型变量x和y分别在32位寄存器f1和f2中,若(f1)=CC900000H,(f2)=B0C00000H,则x和y之间的关系是()。A xy且符号相同D xy且符号不同,CPI:Cycles per Instruction,2,一.单项选择题,15.某容量为256M的存储器,由若干4M*8位的DRAM芯片构成,该DRAM芯片的地址引脚和数据引脚总数是()。A 19B 22C 30D 3616.采用指令Cache与数据Cache分离的主要目的是()。A 减低Cache的缺失损失B 提高Cache的命中率C 减低CPU平均访问时间D 减少指令流水线资源冲突17.某计算机有16个通用寄存器,采用32位定长指令字,操作码字段(含寻址方式位)为8位,Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式,若基址寄存器可使用任一通用寄存器,且位移量用补码表示,则Store指令中偏移量的取值范围是()。A-32768+32767B-32767+32768C-65536+65535D-65535+65536,注意下学期计算机体系结构相关内容,3,一.单项选择题,18.某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微程序,各指令对应的微程序平均由4条微指令组成,采用断定法(下址字段法)确定下条微指令的地址,则微指令中下址字段的位数至少是()。A 5B 6C 8D 919.某同步总线采用数据线和地址线复用方式。其中之地址线有(此处没有,而题目答案需要)根,总线时钟频率为66GHz,每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据)。该总线的最大数据传输率(总线带宽)是()。A 132GB/SB 264C 528D 105620.一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入数据,这种总线事务方式称为()。A 并行传输B 串行传输C 突发D 同步,微型计算机技术及应用P64,4,一.单项选择题,21.下列有关I/O接口的叙述中错误的是()。A 状态端口和控制端口可以合用同一寄存器B I/O接口中CPU可访问的寄存器,称为I/O端口C 采用独立编址方式时,I/O端口地址和主存地址可能相同D 采用统一编址方式时,CPU不能用访存指令访问I/O端口22.某设备中断请求的响应和处理时间为100ns,每400ns发出一次中断请求,中断响应所容许的最长延迟时间为50ns,则在该设备持续工作过程中CPU用于该设备的I/O时间占整个CPU时间百分比至少是()。A 12.5%B 25%C 37.5%D 50%,5,二.综合应用题,44.某程序中有如下循环代码段:P:for(i=0;iN;i+)sum+=Ai;假设编译时变量sum和i分别分配在寄存器R1和R2中,常量N在寄存器R6中,数组A的首地址在寄存器R3中,程序段P起始地址为08048100H,对应的汇编代码和机器代码如题44所示:,6,二.综合应用题,执行上述代码的计算机M采用32位定长指令字,其中分支指令Bne采用如下格式:,OP为操作码,Rs和Rd为寄存器编号,OFFSET为偏移量,用补码表示。请回答下列问题,并说明理由。(1)M的存储器编址单位是什么?(2)已知shl指令实现左移功能,数组A中每个元素占多少位?(3)题44表中bne指令的OFFSET字段的值是多少?已知bne指令采用相对寻址方式,当前PC内容为bne指令地址,通过分析题44表中指令地址和bne指令内容,推断出bne指令的转移目标地址计算公式。,7,二.综合应用题,(4)若M采用如下“按序发射、按序完成”的5级指令流水线:IF(取指)、ID(译码及取数)、EXE(执行)、MEM(访存)、WB(写回寄存器),且硬件不采取任何转发措施,分支指令的执行引起3个时钟周期阻塞,则P中哪些指令的执行会由于数据相关而发生流水线阻塞?哪条指令的执行会发生控制冒险?为什么指令1的执行不会因为与指令5的数据相关而发生阻塞?,8,二.综合应用题,45.假设对于44题中的计算机M和程序P的机器代码,M采用页式虚拟存储管理。P开始执行时,(R1)=(R2)=0,(R6)=1000,其机器代码已调入主存,但不在Cache中;数组A未调入主存,其所有数组元素在同一页,并存储在磁盘同一地区。请回答下列问题,并说明理由。(1)P执行结束时,R2的内容是什么?(2)M的指令Cache和数据Cache分离,若指令Cache共有16行,Cache和主存交换的块大小为32字节,则其数据区的容量是多少?若仅考虑程序段P的执行,则指令Cache的命中率为多少?(3)P在执行过程中,哪条指令的执行可能发生溢出异常?哪条指令的执行可能产生缺页异常?对于数字A的访问,需要读磁和TLB至少各多少次?,9,答案,一.单项选择题12.D13.C 14.A 15.A 16.D 17.A 18.C 19.20.C21.D 22.B二.综合应用题44.(1)通过指令地址的变化可以看出,M以字节为单位编址。(2)左移指令中移2位,即数组下标乘以4得到元素在数组中的偏移,故每个元素占32位,4个字节。(3)OFFSET的值是FFECH,即-20。目标地址为:(PC)+OFFSET=08048114H+(-20)=08048100H(4)见下页,10,答案,(4)如下图所示,指令2与1因为R4相关;3与2因R4相关;4与3因R5相关,6与5因R5相关。没有指令会引起控制冒险。因为程序中分支指令bne可能会引起控制冒险,但后面加了三个时钟阻塞,下条指令取指时已经有正确的PC值,因此不会产生控制冒险。循环中,因为bne后的三个时钟阻塞,指令1译码取数时,指令5已经完成了写回,因此不会发生数据相关。,11,答案,45.(1)1000(2)指令Cache与主存交换的数据块大小即为每行中数据区的容量,故指令Cache数据区大小为16*32=512字节。(假定按32位为单位取指)指令Cache开始是空的,因此,第一次循环取第一条指令时不命中,这时从第一条指令开始的32个字节都被取到Cache中,而程序P占的容量为24字节,因此剩下的取指都命中,命中率为:(1000*6-1)/(1000*6)=99.98%。(3)指令Add R1;R1,R5可能产生溢出异常,因为1000个数相加,和可能超过一个数组元素类型表示的范围。Load R5;0(R4)可能发生缺页异常。因为数组元素没有调入内存,因此访问数组中第一个元素时,会发生缺页异常。因为数组都在1页上,并放在磁盘同一地区,所以只需访问磁盘一次。每取一个数据元素,都需要给出虚拟地址,都需要访问TLB,因此共访问1000次。,