2009-2013年计算机组成考研原试题与答案.docx_第1页
2009-2013年计算机组成考研原试题与答案.docx_第2页
2009-2013年计算机组成考研原试题与答案.docx_第3页
2009-2013年计算机组成考研原试题与答案.docx_第4页
2009-2013年计算机组成考研原试题与答案.docx_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2009年全国硕士研究生计算机学科入学统一考试计算机组成原理试题分析一、选择题(每个题2分)11冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是A指令操作码的译码结果 B指令和数据的寻址方式C指令周期的不同阶段 D指令和数据所在的存储单元答案 C解析 1、指令执行步骤,在取指期间取来的是指令,读数据期间读来的是数据;2、指令和数据性质上的区别,虽然二者都用二进制表示,但属于完全不同性质的信息,数据是计算机加工处理的“原材料”,指令是告知计算机运行功能和执行步骤的命令类信息。12一个C语言程序在一台32位机器上运行。程序中定义了三个变量x、y和z,其中x和z为int型,y为short型。当x = 127,y = -9时,执行赋值语句z = x+y后,x、y和z的值分别是 Ax = 0000007FH,y = FFF9H,z = 00000076HBx = 0000007FH,y = FFF9H,z = FFFF0076HCx = 0000007FH,y = FFF7H,z = FFFF0076HDx = 0000007FH,y = FFF7H,z = 00000076H答案 D解析 1、十进制整数到二进制的转换,数据的补码表示;2、补码加法运算,2两个不同位数的补码数相加时需要进行符号扩展; X=127,X补=0000007FH(32位整数),运算后其值不变Y=9,Y补=FFF7H (16位整数),运算后其值不变Z补 = X补+Y补=0000007FH+FFFFFFF7H=00000076H3、解题技巧,也可先求出127+(9)=118,再变成补码后去与可供选择的答案对比。13浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X = 2729/32,Y = 255/8,则用浮点加法计算X+Y的最终结果是 A00111 1100010B00111 0100010C01000 0010001 D发生溢出答案 D解析 1、十进制小数到二进制的转换,小数与整数的补码表示;2、浮点数的阶码(整数)、尾数(尾数)的表示,规格化的概念;3、浮点数的加法运算与结果溢出检查; X浮=00111 0011101,Y浮=00101 0010100=00111 0000101X和Y的尾数相加的0100010,应规格化,成为0010001,阶码要加1,将变成8,但阶码的数值位用3位补码表示,不能表示正8,表明运算结果是溢出了。4、解题技巧A) 也可先把255/8变成275/8/4=275/32,再计算29/32+5/32=34/32=217/32, 表明需要阶码加1,将变成8,已经不能表示,是溢出。B) 千万不要变分数为小数之后再转换成二进制,分母是2的整数幂时只需转换其分子部分,这对于解这个题实在是太重要了。14某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是A0B2C4D6答案 C解析 1、Cache与主存之间的地址映射关系;2、三种Cache的组织方式(其实本题未测试这一点,是直接映射还是两路组相联与答案不相关);129 MOD 32 = 4 余1,所以答案为C,注意Cache的组号从0开始编码。3、注:本题设映射关系为:i=j mod v (其中i为cache 的组号,j为主存的块号),m=vk(m为cache中的块数,v为cache中的组数,k为每组包含的块数)。则答案为C。假如设映射关系为:i=j/2tmod 2g , (其中i为cache 的组号, j为主存的块号, 2t为组内的块数,2g为cache分的组数 )。则答案为B。15某计算机主存容量为64 KB,其中ROM区为4 KB,其余为RAM区,按字节编址。现要用2 K8位的ROM芯片和4 K4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是 A1、15B2、15C1、30D2、30答案 D解析 1、一个字节Byte由8个二进制位bit组成;2、存储器的字位扩展技术,选用已有芯片构建存储器;计算: 4KB的ROM要用2K8位的器件2片;60KB的RAM要用4K4位的芯片数量是(60K8)/(4K4)=30;16某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是 A2006HB2007HC2008HD2009H答案 C解析 1、指令的寻址方式,相对寻址的执行过程2、指令的执行步骤与每一步的操作功能;计算机按字节寻址,相对转移指令在2000H单元,则取出这条指令后PC的值应为2002H,因为取指的同时将执行PC增量操作(此处增量值为2,而不是1),相对位移量的值是6,故转移目标地址应为2008H。17下列关于RISC的叙述中,错误的是 ARISC普遍采用微程序控制器BRISC大多数指令在一个时钟周期内完成 CRISC的内部通用寄存器数量相对CISC多DRISC的指令数、寻址方式和指令格式种类相对CISC少答案 A解析 1、相对于CISC计算机,RISC计算机的特点表现在哪些方面;2、组合逻辑控制器和微程序控制器的组成与性能的同异之处;18某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90 ns、80 ns、70 ns和60 ns,则该计算机的CPU时钟周期至少是A90 nsB80 nsC70 nsD60 ns答案 A解析 1、如何确定每个流水步的时间长度,时钟周期应以最长的执行时间为准,否则用时长的流水段的功能将不能正确完成。19相对于微程序控制器,硬布线控制器的特点是A指令执行速度慢,指令功能的修改和扩展容易B指令执行速度慢,指令功能的修改和扩展难C指令执行速度快,指令功能的修改和扩展容易 D指令执行速度快,指令功能的修改和扩展难答案 D解析 1、组合逻辑控制器和微程序控制器的组成与性能的同异之处。20假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10 MHz,则总线带宽是A10 MB/s B20 MB/s C40 MB/s D80 MB/s 答案 B。解析 1、总线的带宽等于总线周期的频率每个总线周期传送的信息数量。按题意,(10106 /2)4 = 20106 (MB/s)。21假设某计算机的存储系统由Cache和主存组成。某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是A5%B9.5%C50%D95%答案 D解析 1、Cache与主存之间的地址映射关系。2、三种Cache的组织方式(其实本题未测试这一点,是直接映射还是两路组相联与答案不相关);3、Cache的命中率。计算:命中率为 (100050) / 1000 = 95%22下列选项中,能引起外部中断的事件是A键盘输入B除数为0C浮点运算下溢D访存缺页 答案 A解析 1、中断的分类。能引起外部中断的只能是输入设备键盘。二 综合应用题43(8分)某计算机的CPU主频为500 MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5 MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。(1) 在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(2)当该外设的数据传输率达到5 MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000 B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)答案 (1)中断方式下,CPU每次用于数据传送的时钟周期数:518 +52 = 100 为达到外设0.5 MB/s的数据传输率,外设每秒申请的中断次数:0.5 MB /4 B = 125 000 1秒钟内用于中断的开销:100 125 000 = 12500 000 = 12.5 M个时钟周期 CPU用于外设I/O的时间占整个CPU时间的百分比:12.5 M/500 M = 2.5% (2)外设数据传输率提高到5 MB/s时,1秒钟内需产生的DMA次数:5 MB/5 000 B = 1000CPU用于DMA处理的总开销:1000 500 = 500 000 = 0.5 M个时钟周期 CPU用于外设I/O的时间占整个CPU时间的百分比:0.5 M /500 M = 0.1%解析 在答案中已加入分析。44(13分)某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示(见下页),图中所有控制信号为1时表示有效、为0时表示无效,例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD (R1),R0”的功能为(R0)+(R1)(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。时钟功能有效控制信号C1MAR(PC)PCout,MARinC2MDRM(MAR)PC(PC)+1MemR,MDRinEPC+1C3IR(MDR)MDRout,IRinC4指令译码无答案 参考答案一:时钟功能有效控制信号C5MAR(R1)R1out,MARinC6MDRM(MAR)A(R0)MemR,MDRinER0out,AinC7AC(MDR)+(A)MDRout,Add,ACinC8MDR(AC)ACout,MDRinC9M(MAR)(MDR)MDRoutE,MemW“A(R0)”也可在C7:“AC(MDR)+(A)”之前单列的一个时钟周期内执行。参考答案二:时钟功能有效控制信号C5MAR(R1)R1out,MARinC6MDRM(MAR)MemR,MDRinEC7A(MDR)MDRout,AinC8AC(A)+ (R0)R0out,Add,ACinC9MDR(AC)ACout,MDRinC10M(MAR)(MDR)MDRoutE,MemW解析 一条指令的执行过程通常由取指、译码和执行3个步骤完成,本题中取指用3个节拍、译码用1个节拍,执行加法运算并把结果写入主存如何完成呢?包括划分执行步骤、确定完成的功能、要提供的控制信号,这是本题的要测试的内容。为回答这个问题,首先需要看清图中给出的部件组成情况和信息传送的路径。要完成的功能是 (R0) + ((R1))(R1),从图中看到:(1) R0、R1都有送自己内容到内总线的路径,控制信号分别是R0in和R1in;(2) ALU加运算,2个数据由工作寄存器A和内总线提供,控制信号是Add;累加器AC只接收内总线的内容,控制信号是Ain;结果需存AC,控制信号是ACin;AC的内容可送内总线,控制信号是ACout;(3) PC可接收内总线的内容,还可增1,控制信号是PCin和PC+1,PC的内容可送内总线,控制信号是PCout;(4) 指令寄存器IR可接收内总线的内容,控制信号是IRin;(5) 读写存储器时,地址由MAR经AB提供,MAR只接收内总线上的信息,控制信号是MARin;(6) 读存储器,提供读命令MemR,并通过DB送入MDR,控制信号是MDRinE;MDR的内容可送内总线,控制信号是MDRout;(7)写存储器,提供写命令MemW,数据由MDR通过DB送到存储器的数据引脚,控制信号是MDRoutE;然后是划分执行步骤、确定每一步完成的功能、需要提供的控制信号。这是由指令应完成的功能和计算机硬件的实际组成情况和信息传送的可用路径共同决定的。基本原则是步骤越少越好,硬件电路要能支持,可以有多种方案,解题时应参照已给出的答题格式,即取指和译码执行过程的那张表的内容,但不必把表已有的内容再抄一遍。划分指令执行步骤,确定每一步完成的功能、给出需要提供的控制信号:请注意,(R0)+(R1)表示:R0寄存器的内容与R1作地址从主存中读出来的数据完成加法运算;而 (R1)表示把R1的内容作为主存储器的地址完成写主存操作。为防止出现误解,题中还特地对此作了文字说明。这条指令的功能是先到主存储器取一个数,之后运算,再将结果写回主存储器。(1) 执行相加运算,需把存储器中的数据读出,为此首先送地址,即R1的内容送MAR,控制信号是R1out,MARin。(2) 启动读主存操作,读出的内容送入MDR,控制信号是MemR,MDRinE,还可同时把R0的内容经内总线送入A,用到的控制信号是R0out,Ain。(3) 执行加法运算,即A的内容与MDR的内容相加,结果保存到AC,控制信号是MDRout,Add,ACin。(4) 要把AC的内容写入主存,由于R1的内容已经在MAR中,地址已经有了,但需要把写入的数据(已经在AC)中)经内总线送入MDR;控制信号是ACout, MDRin。(5) 给出写主存的命令,把MDR的内容经DB送存储器的数据线引脚,执行写操作,控制信号是MDRoutE, MemW。这几个步骤是有先后次序的,前面的完成了,下一步才可以执行,也保证了不会产生硬件线路的冲突。请注意,使用最为频繁的是内总线,它在任何时刻只能接收一个输入数据,并且向内总线发送信息的电路只能以三态门器件连接到内总线,5个向内总线发送信息的控制信号(ACout,PCout,R0out,R1out,MDRout)最多只能有一个为1,其它4个必须全为0,或者5个全为0。仔细看一下,发现可以把第2个步骤的操作划分到两个步骤中完成,一个步骤中安排MDR接收从存储器中读出的内容,到另外一个步骤实现R0的内容送入A,这多用了一个操作步骤,指令的执行速度会变慢。有些解题者在写存储器之前,还会再执行一次把R1的内容送MAR,尽管无此必要,但不属于原理上的错误。当然还可以有其它的设计结果。解题时这些叙述内容不必写出来(我们写出这些内容是希望帮助大家领会本题要测试的知识点和指令的执行过程),直接按照已经给出的表格的形式、按照提供的填写办法把设计的表格及其内容填写好就可以了。请注意,题目表格内容(告诉你答题的格式和答题内容的表达方式)与你答题的表格内融合在一起才是这条指令完整的执行过程,千万不要产生任何错觉。2010年全国硕士研究生计算机学科入学统一考试计算机组成原理试题分析一、选择题(每个题2分)12下列选项中,能缩短程序执行时间的措施是I提高CPU时钟频率II优化数据通路结构III对程序进行编译优化A仅I和IIB仅I和IIIC仅II和IIIDI、II和III答案 D解析 提高CPU时钟频率会使机器执行指令的运行速度更快,对程序进行编译优化可以有效地减少指令条数,优化数据通路结构可以改进某些指令的运行效率,3者都有利于缩短程序的执行时间。13假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,r4=F8H。若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是Ar1r2Br2r3Cr1r4Dr2r4答案 B解析8位寄存器能保存的补码整数的范围是-128+127,r1中的数值是-2,r2中的数值是-14,r3中的数值是-112,r4中的数值是-8,则4个运算会发生溢出的是r2r3。 14假定变量i、f和d的数据类型分别为int、float和double(int用补码表示,float和double分别用IEEE 754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是Ii = (int) (float) iIIf = (float) (int) fIIIf = (float) (double) fIV(d+f) - d = fA仅I和IIB仅I和IIIC仅II和IIID仅III和IV答案 B解析 (II)运算会丢掉浮点数的小数部分,(IV)运算过程中可能有误差使其不相等,(I)和(III)则不存在问题。15假定用若干个2 K4位的芯片组成一个8 K8位的存储器,则地址0B1FH所在芯片的最小地址是A0000HB0600HC0700HD0800H答案 D解析 一个8 k8位的存储器可以由8片2k4位的存储器芯片组成,则每2k存储空间的起始地址为0000H、0800H、1000H、1800H,因此0B1FH所在芯片的最小地址是0800H。16下列有关RAM和ROM的叙述中,正确的是IRAM是易失性存储器,ROM是非易失性存储器IIRAM和ROM都采用随机存取方式进行信息访问IIIRAM和ROM都可用作CacheIVRAM和ROM都需要进行刷新A仅I和IIB仅II和IIIC仅I、II和IVD仅II、III和IV答案 A解析因为ROM不能用作cache,也不需要刷新操作,此2个选项是错的。17下列命中组合情况中,一次访存过程中不可能发生的是ATLB未命中、Cache未命中、Page未命中BTLB未命中、Cache命中、Page命中CTLB命中、Cache未命中、Page命中DTLB命中、Cache命中、Page未命中答案 D解析TLB中保存的是当前用到的最活跃的Page项内容,若TLB命中,就不会出现Page不命中的情况。18下列寄存器中,汇编语言程序员可见的是A存储器地址寄存器(MAR)B程序计数器(PC)C存储器数据寄存器(MDR)D指令寄存器(IR)答案 B解析 其他3个寄存器程序员不能访问,但有的机器会选用一个通用寄存器作为PC,相对寻址是选用运算后PC中的内容作为指令转移的目标地址。19下列选项中,不会引起指令流水线阻塞的是A数据旁路(转发)B数据相关C条件转移D资源冲突答案 A 解析 数据旁路技术就是用于解决指令流水中的数据相关,换句话说,在遇到数据相关时,在可能的情况下可以通过数据旁路技术加以克服,其他3个选项都是指令流水线阻塞的基本原因。20下列选项中的英文缩写均为总线标准的是APCI、CRT、USB、EISABISA、CPI、VESA、EISACISA、SCSI、RAM、MIPSDISA、EISA、PCI、PCI-Express答案 D 解析 CRT、CPI、RAM、MIPS都与总线标准无关。21单级中断系统中,中断服务程序内的执行顺序是I保护现场II开中断III关中断IV保存断点V中断事件处理VI恢复现场VII中断返回AIVVIIIVIIBIIIIVVIICIIIIVVVIVIIDIVIVVIVII答案 A 解析 在单级中断系统中,一旦响应了一个中断,可以不必使用关中断的措施来防止再来一个新的中断干扰已经开始的中断保存现场和恢复现场的工作。响应与处理中断的几项操作是有严格顺序关系的,不能颠倒。22假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为16001200,颜色深度为24位,帧频为85 Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为A245 MbpsB979 MbpsC1 958 MbpsD7 834 Mbps答案 D解析 显存每秒需要提供屏幕刷新的信息量:1.61031.21032485=3916.8106 ,用到的总线带宽为23916.8106bps,可以取其整数值,选择7834Mbps。二、综合应用题43(11分)某计算机字长为16位,主存地址空间大小为128 KB,按字编址。采用单字长指令格式,指令各字段定义如下:15 1211650OPMsRsMdRd源操作数目的操作数转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下:Ms / Md寻址方式助记符含义000B寄存器直接Rn操作数=(Rn)001B寄存器间接(Rn)操作数=(Rn)010B寄存器间接、自增(Rn)+操作数=(Rn), (Rn)+1Rn011B相对D(Rn)转移目标地址=(PC)+(Rn)注:(x)表示存储器地址x或寄存器x的内容。请回答下列问题:(1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?(2)转移指令的目标地址范围是多少?(3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add (R4), (R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?答案 (1)指令系统最多支持16条指令;支持8个通用寄存器;MAR至少为16位;MDR至少为16位。(2)转移指令的目标地址范围为0000HFFFFH。(3)汇编语句“add (R4), (R5)+”,对应的机器码为:2315H。 “add (R4), (R5)+”指令执行后,R5和存储单元5678H的内容会改变。执行后,R5的内容为5679H。内存5678H单元的内容为68ACH。解析 (1)该指令系统最多支持24=16条指令;支持23=8个通用寄存器;因为地址空间大小为128 KB,按字编址,故共有64 K个存储单元,地址位数为16位,所以MAR至少为16位;因为字长为16位,所以MDR至少为16位。(2)转移指令的目标地址范围为0000HFFFFH。(3)对于汇编语句“add (R4), (R5)+”,对应的机器码为:0010 001 100 010 101B,用十六进制表示为2315H。该指令的功能是:把内存1234H单元中的数据与内存5678H单元中的数据进行相加,结果写回到5678H单元,而且R5的内容用作内存地址之后,还要执行R5的内容加1的操作,所以“add (R4), (R5)+”指令执行后,R5和存储单元5678H的内容会改变。执行后,R5的内容从5678H变为5679H。内存5678H单元的内容将变为该加法指令计算得到的和:5678H+1234H=68ACH。44.(12分)某计算机的主存地址空间大小为256 MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:程序A:int a256256;int sum_array1 ( )int i, j, sum = 0;for ( i = 0; i 256; i+) for (j = 0; j 256; j+) sum += ai j;return sum;程序B:int a256256;int sum_array2 ( )int i, j, sum = 0;for ( j = 0; j 256; j+) for ( i = 0; i b,则a-b无进位/借位,也不为0。故CF=0且ZF=0。18下列给出的指令系统特点中,有利于实现指令流水线的是. 指令格式规整且长度一致 指令和数据按边界对齐存放只有Load/Store指令才能对操作数进行存储访问A仅、 B仅、 C仅、 D、参考答案:D。【解析】:以上三个RISC特征都能够有效降低取指令或执行指令的复杂度,从而有利于流水线操作。19假定不采用Cache和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是A每个指令周期中CPU都至少访问内存一次B每个指令周期一定大于或等于一个CPU时钟周期C空操作指令的指令周期中任何寄存器的内容都不会被改变D当前程序在每条指令执行结束时都可能被外部中断打断参考答案:C。【解析】: 空操作指令执行时PC会加1。20在系统总线的数据线上,不可能传输的是A指令 B操作数C握手(应答)信号 D中断类型号参考答案:C。【解析】: 一般而言,系统总线采用同步方式传输,握手信号属于控制信号,不在数据总线上传输。21某计算机有五级中断L4L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0i4)表示对Li级中断进行屏蔽。若中断响应优先级从高到低的顺序是L4L0L2L1L3 ,则L1的中断处理程序中设置的中断屏蔽字是A11110 B01101 C00011 D01010参考答案:D。【解析】: 屏蔽同级和更低级中断源。22某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是A0.02% B0.05% C0.20% D0.50%参考答案:C。【解析】:每秒用于查询的时间至少为:20050010 0000个周期,所需时间为10 000050M1/500(秒),故占整个CPU时间的百分比至少是0.20%。二、综合应用题:4344小题,共23分。请将答案写在答题纸指定位置上。43 ( 11 分)假定在一个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位寄存器 R1 R8 分别分配给变量 x、y、m、n、z1 、z2 、k1 和 k2 。请回答下列问题(提示:带符号整数用补码表示)(1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?(用十六进制表示)(2)执行上述程序段后,变量 m和 k1 的值分别是多少?(用十进制表示)(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种能否利用同一个加法器及辅助电路实现?简述理由。(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?解答:本题考查无符号数和带符号数的溢出概念,以及C语言中强制类型转换操作对数据的处理方式。注意:1. 无符号数没有溢出的概念,超出最大值的进位将被丢弃。2. C语言规定在无符号整数和带符号整数之间进行强制类型转换时,机器码并不改变,改变的是对机器码的解释方式。(1) 各寄存器和变量的对应关系如下表所示。寄存器R1R2R3R4R5R6R7R8变量xymnz1z2K1k2性质无符号无符号带符号补码带符号补码无符号无符号带符号补码带符号补码R1=x=134=10000110b=86hY=246=11110110bR5=z1=x-y=134-246=10000110b-11110110b=10000110b+00001010b=10010000b=90hR6=z2=x+y=134+246=10000110b+11110110b=(1)01111100b=7ch(2)m补=x=10000110b,m= -1111010b= -7ah= -122n补=y=11110110b, n= -0001010b= -10k1补=m补-n补=10000110b-11110110b=10000110b+00001010b=10010000b,k1= -1110000b= -70h= -112(3)无符号数和带符号数在机器中都是以二进制数的形式存储的,不同之处在于带符号数是将二进制值看作补码形式,将其转换为真值时最高位看作符号位。补码运算时,符号位可以和数值位等同看待,故无符号数加减运算与带符号数加减运算完全可以用同一套电路实现。因为x补减y补可以转化为x补加(-y)补的运算,故补码形式的运算中,加减法可以用同一套电路实现,只需增加从y补求(-y)补的电路即可。无符号数可以看作正数参加运算,也可以用同一套电路实现。只是不进行溢出判断。故四种运算可以利用同一个加法器及辅助电路实现。(4)带符号整数加/减运算的溢出判断方法有两种:1. 如果最高位的进位和符号位的进位不同,则溢出;2. 双符号位法:在补码的单符号位之外再增加一个符号位,从而将数据的可表示范围扩大一倍,当运算结果的高符号位与低符号位不相同时,说明最高位的进位修改了低符号位,可判断为溢出因k2= m+n=10000110b+11110110b=(1)01111100(溢出),故语句“int k2 = m+n”的执行结果溢出。44 ( 12 分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB;Cache采用直接映射方式,共8行;主存与 Cache之间交换的块大小为 32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44 -a图、题44 -b图所示,图中页框号及标记字段的内容为十六进形式。行号有效位标记01020102101D31105410645114D607127A 题44 -b图 Cache的部分内容虚页号有效位页框号010611042115310240512B607132题44 -a图 页表的部分内容请回答下列问题。(1)虚拟地址共有几位,哪几位表示页号?物理地址共有几位,哪几位表示页框号(物理页号)?(2)使用物理地址访问Cache时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。(3)虚拟地址001C60H所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否 Cache 命中?要求说明理由。(4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44-c图所示,则此时虚拟地址024BACH所在的页面是否在主存中?要求说明理由。题 44 -c图 TLB的部分内容解答:(1)页面大小为4KB=212B,故页内地址12位。虚拟地址空间大小为16MB=224B,故虚地址共24位,低12位为页内地址,高241212位为虚页号。主存地址空间大小为1MB=220B,故实地址共20位,低12位为页内地址,高20128位为页框号(物理页号)。(2)主存与 Cache之间交换的块大小为32B=25B,故cache行(块)内地址5位。 Cache共8行=23行,故Cache大小为328256B=28B。Cache地址3位Cache行号+5位行内地址。主存物理地址区数1MB/256B=220/28=212=4096。故物理地址分三个字段:高12位为标记tag,中间3位为Cache行号,最低5位为行内地址。(3)虚拟地址001C60H的低12位C60H为页内地址,高12位001H为虚页号。查页表可知,虚页001H对应的有效位为1,故该页已调入主存,主存页号为04H,故主存地址为04C60H。主存地址04C60H=000001001100 011 00000b的低5位00000b为行内地址,中间3位011b为Cache行号,查Cache标记可知,第3行的有效位为1,但标记为105H,故该地址Cache不命中。(4)4路组相联的TLB,共可存放8个页表项,故TLB共2组,每组4可存放4个页表项。虚存地址高12位为虚页号,故慢表的表项数为2124096,慢表地址12位。TLB共2组,故慢表12位地址中的最低1位选择TLB的组,也即慢表的4096个表项中,偶地址的表项可以映射到TLB的第0组中的四个表项中的任意一个,奇地址的表项可以映射到TLB的第1组中的四个表项中的任意一个。慢表12位地址中的高11位为访问TLB的标记。虚拟地址024BACH的高12位024H=000000100100b为虚地址,其中最低1位0选择TLB第0组,高11位00000010010b=012H。查TLB表可知,第0组最后一项标记为012H,其有效位为1,说明该虚页已调入主存,其页框号为1FH,故其实地址为1FBACH。2012年全国硕士研究生入学统一考试计算机组成原理试题与解析一、单项选择:每小题2分,共22分。下列每小题给出的四个选项中,只有一项符合题目要求的。请在答题卡上将所选项的字母涂黑。12. 假设基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是( )。A. 55秒 B.60秒 C.65秒 D.70秒D。根据阿达姆尔定律,改进后的基准程序执行时间=90秒/1.5 + (100-90)秒=70秒。13. 假设编译器规定int和short类型长度分别为32位和16位,若有下列C语言语句: unsigned short x = 65530; unsigned int y = x;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论