计算机结构原理(答案)123.doc_第1页
计算机结构原理(答案)123.doc_第2页
计算机结构原理(答案)123.doc_第3页
计算机结构原理(答案)123.doc_第4页
计算机结构原理(答案)123.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第一章 计算机系统概论例题精析1. C 2. D3. 解答:计算机系统包括硬件和软件。从计算机层次结构来看,它通常有五个以上的层次,在每一层次(级)上都能进行程序设计。由下至上排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行。此外,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。4. 解答:由主存容量为64K32位,可得共需要数据线32根,存储字长为32位;由于MDR的位数与存储字长相等,故MDR为32位;由于MAR的位数对应存储单元的个数,且216=64K,故MAR为16位,地址线16根。因指令字长=机器字长=存储字长(32位),则IR、ACC、MQ、X均为32位。试题精选单项选择题1.B 2.B 3.D 4.C 5.D 6.D 7.C 8.D 9.D 10.C 11.A 12.C 13.C 14.C 15.D综合应用题1. 解答:CPI即执行一条指令所需的时钟周期(时钟频率f的倒数)数。本处理器共包括四种指令,那么CPI就是这四种指令的数学期望。即CPI=160%+218%+412%+810%=2.24MIPS即Million Instructions Per Second(每秒执行百万条指令数)。已知处理器时钟频率为40MHz,即每秒包含40M个时钟周期,故MIPS=40CPI=402.24=17.9程序的执行时间T=CPIT_ICI=CPI(1/f)I=5.610-8I(s)。2. 解答:1)A机的CPU主频为8MHz,所有A机的CPU时钟周期=18MHz=0.125ms。2)A机的平均指令周期=10.4MIPS=2.5ms。3)A机平均每条指令的时钟周期数=2.5ms0.125ms=20.因微机A和B片内逻辑电路完全相同,所以B机平均每条指令的时钟周期数也为20.由于B机的CPU主频为12MHz,所以B机的CPU时钟周期=112MHz=1/12ms。B机的平均指令周期=20(1/12)ms=5/3ms。B机的平均指令执行速度=1(5/3)ms=0.6MIPS。另解:B机的平均执行速度=A机的平均指令执行速度(12/8)=0.4MIPS(12/8)=0.6MIPS。第二章 数据的表示和运算例题精析1.C 2.B 3.C 4.C 5.D 6.B 7.B 8.C 9.D 10. 组间并行;16;4.11. 327D=1 0100 0111B12.解答:奇校验码:11001110,偶校验码:11001111. 奇校验码:10001100,偶校验码:10001101.奇校验码:10101101,偶校验码:10101100.13.解答:(1100)的循环校验码为M(x)x3+R(X)=1100000+010=1100010(模2加)。14.解答:浮点数的格式如下:阶符2阶码3数符2尾数9X=-5/256=(-101)2/28=2-101(-0.101000000)2Y=+59/1024=(111011)2/210=2-100(0.111011000)2X补=11011,11.011000000Y补=11100,00.111011000 求阶差:E补=11011+00100=11111,知E=-1。 对阶:X补=11100,11.101100000. 尾数求差:11.101100000 +11.000101000 10.110001000X-Y补=11100,10.110001000. 结果右规一次:X-Y补=11101,11.011000100. 正常阶码,无溢出,结果真值为2-3(-0.1001111)2.试题精选单项选择题1.C 2.A 3.B 4.B 5.D 6.B 7.B 8.A 9.C 10.B 11.C 12.B 13.C 14.C 15.C 16.C 17.C 18.D 19.B 20.C 21.C 22.C 23.B 24.C 综合应用题1. 解答:1)表示一个补码整数:最高位为符号位,其他31位为数值位。其对应的真值二进制数表示为-111 0000 0001 0000 0100 0000 0000 0000其十进制值为-(230+229+228+220+214)。2)表示一个无符号整数:全部32位均为数值位,其十进制值为231+227+226+225+224+223+222+221+219+218+217+216+215+2143)表示一个IEEE754标准的单精度浮点数:其阶码为00011111,对应十进制数为31.IEEE754标准中的阶码用移码表示,单精度浮点数的偏置值为127,所以阶码的十进制真值为31-127=-96.其尾数为1.110 1111 1100 0000 0000 0000(第一位为符号位)。IEEE754标准中的尾数用原码表示,且采用隐含尾数最高数位“1”的方法,隐含的“1”是一位整数(即位权为20)。所以尾数真值为-(20+2-1+2-2+2-4+2-5+2-6+2-7+2-8+2-9)单精度浮点数的真值为-(20+2-1+2-2+2-4+2-5+2-6+2-7+2-8+2-9)2-962. 解答:为判断溢出采用双符号位。1)-y补=0.10101x+y补=x补+y补=00.11011+11.01011=00.00110无溢出,结果正确。x-y补=x补+-y补=00.11011+00.10101=01.10000两个符号位相反,出现溢出。双符号位为01表示发生正溢出,结果不正确。2)-y补=0.11100x+y补=x补+y补=11.01010+11.00100=10.01110两个符号位相反,出现溢出。双符号位为10表示发生负溢出,结果不正确。x-y补=x补+-y补=11.01010+00.11100=00.00110无溢出,结果正确。3. 解答:xy补=1.10011101,即xy=-0.01100011.4. 解答:1)(3.8125)10=11.1101=1.1110121表示为IEEE754标准短实数时,阶码加7FH,即01H+7FH=80H;数符为0,尾数部分隐藏第一位1,即得机器数形式为0,1000 0000;1110 1000 0000 0000 0000 000表示为IEEE754标准长实数时,阶码加3FFH,即01H+3FFH=4000H;数符为0,尾数部分隐藏第一位1,即得机器数形式为0,100 0000 0000;1110 1000 000000(44个0)表示为IEEE754标准临时实数时,阶码加3FFFH,即01H+3FFFH=4000H;数符为0 ,没有隐藏位,即得机器数形式为0,100 0000 0000 0000;1111 0100 00000000(56个0)2)机器数为1100 0010 1111 1011 1101 0000 0000 0000,即1,1000 0101;1111 0111 1010 0000 0000 000,可知阶码为133-127=6;数符为1表示负数,尾数加上隐藏位后的二进制形式为1.1111 0111 1010 0000 0000 000,可知真值的二进制形式为-1111101.11101,即十进制数为-125.90625.5. 解答:1)串行进位方式:C1=G1+P1C0 其中:G1=A1B1,P1=A1B1C2=G2+P2C1 G2=A2B2,P2=A2B2C3=G3+P3C2 G3=A3B3,P3=A3B3C4=G4+P4C3 G4=A4B4,P4=A4B42)并行进位方式:C1=G1+P1C0C2=G2+P2G1+ P2 P1 C0C3=G3+P3G2+ P3 P2 G1 +P3 P2 P1C0C4=G4+P4G3+ P4 P3G2 + P4 P3 P2G1 + P4P3 P2 P1C0其中,G1- G4、P1- P4表达式与串行进位方式相同。第3章 存储器系统的层次结构例题精析1.A 2.B 3.D 4.D 5.D 6.A 7.D 8.C 9.D 10.D 11. 解答:因为ta=tc/e,所以tc=tae=60ns0.85=51ns(Cache存取周期),tm=tcr=51ns4=204ns(主存存取周期)。因为e=tc/htc+(1-h)tm,所以h=0.94.12. 解答:1)主存容量=162562=8 192B,Cache容量=1682=256B,主存字地址=8+4=12位,Cache字地址=3+4=7位,如图3-17a所示。Cache 块号 块内地址 主存块号 块内地址Cache地址3位48位4主存地址 第0块第1块第7块Cache第0块第1块第255块主存a) Cache 块号 块内地址 主存块号 块内地址 3位 4位 8位 4位Cache地址5H8H33H8H 第0块第1块第5块第7块Cache第0块第1块第33H块第FFH块主存b)图3-172)如图3-17 b)所示,由于每块16字,所以该主存字所在的主存块号为33H,由于是全相联映射,原先已经装入Cache的5个块依次在04号块,因此主存的第33H的块将装入Cache的第5块。对应Cache的字地址为1011000B,其中101为块号,1000为块内地址。3)如图3-18所示,由于表中地址为1的行中标记着36H的主存块号标志,则当CPU送来主存的字地址为368H时,其主存块号为36H,所以命中。此时的Cache字地址为58H。图3-1813. 解答:1)数据Cache有8个Cache行,每个Cache行大小为64B,若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为864B=512B。2)数据Cache容量为512B,Cache地址为9位,有8个Cache行,块地址为3位,块的大小为64B,块内地址为6位,主存容量为256MB,按字节编址,256MB=228B,主存地址为28位,块标记为19位,采用直接映射方式,主存和Cache的地址格式分别为:27 9 8 6 5 0块标记块号块内偏移8 6 5 0块号块内偏移数组按行优先方式存放,首地址为320,数组元素占4个字节,可知a031的地址为320+314=444=1 1011 1100,可知其所在的主存块对应的Cache行号为110=6.a11的地址为320+(256+1)4=1348=101 0100 0100,可知其所在的主存块对应的Cache行号为101=5.3)数组a存放的数据量为2562564B=218B,占用218/64=212个内存块,按行优先方式存放。程序A逐行访问数组a,未命中次数为212,于是程序A的数据访问命中率为(216-212)/216100%=93.75%程序B逐行访问数组a,由于数组a一行的数据量为1KB64B,所以访问第0列每个元素时都不命中。由于数组有256列,数据Cache仅有8行,故访问数组后续列元素时仍然不命中,于是程序B的数据访问命中率为0%。由于从Cache读数据比从内存读数据块很多,所以程序A的执行过程更短。试题精选单项选择题1.A 2.C 3.B 4.B 5.A 6.D 7.B 8.B 9.C 10.C 11.A 12.B 13.A 14.C 15.A 16.C 17.B 18.B 19.D 20.C 21.C 22.D 23.B 24.C 25.D 26.D 27.D填空题1. 写操作占总访存次数的_%。Cache命中率为_%。每块_个字。当Cache发生块替换时,有_%块需要写回主存,其余的因未被修改过而不必写回主存。2. WT法:写主存次数占总访存次数的_%.WB法:(1-99%)30%4=1.2%。综合应用题1. 解答:假设存储器和交叉存储器连续读出m=4个字的信息总量都是q=64位4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是t2=mT=4200ns=800ns=810-7st1=T+(m-1)t=200ns+350ns=350ns=3.510-7s顺序存储器带宽:W2=q/t2=256bit/(810-7)s=32107bit/s交叉存储器带宽:W1= q/t1=256bit/(3.510-7)s=73107bit/s2. 解答:1)命中率H=Nc/(Nc+Nm)=1900/(1900+100)=0.95主存访问时间是Cache的倍率:r=tm/tc=250ns/50ns=5访问效率:e=1/r+(1-r)H=1/5+(1-5)0.95=83.3%2)平均访问时间:ta=tc/e=50ns/0.833=60ns3. 解答:1)主存容量为2MB,按字节编址,所以主存地址为21位。每个块有8个字,每个字有32位,得出主存地址字段中字块内地址字段为5位。根据Cache容量为16KB=214B,字块大小为25B,得出Cache共有29块,故c=9.根据4路组相联映射2r=4,得r=2,则q=c-r=7.主存字块标记位数为21-7-5=9.其地址格式如下:主存字块标记(9位)组地址(7位)字块内地址(5位)2)由于每个字块有8个字,所以CPU的0,1,100字单元分别在字块0至字块11和字块12中,采用4路组相联映射将分别映射到第0至第12组中,但高速缓存起始为空,所以第一次读时每一块中的第一个单元每命中,但后面10次每个单元均可以命中。所以命中率=(11101-13)/(11101)=98.8%。3)设高速缓存的存储周期为T,则主存的存储周期为5T。有高速缓存的访问时间=98.8%T+(1-98.8%)5T=1.048T。无高速缓存的访问时间=5T。所以提高倍数=(5/1.048)-1=3.77倍。4. 解答:1)存储器的总容量为16K16位,RAM芯片为1K4位,故所需芯片总数为(16K16位)/(1K4位)=64片。2)由于存储单元数为16K,故地址长度为14位(设A13A0)。芯片单元数为1K,则占用地址长度为10位(A9A0).每一组16位(4片),共16组,组与组间译码采用4:16译码器。组成框图如图3-21所示。图3-21 存储体的组成框图3)采用异步刷新方式,在2ms时间内分散地把芯片64行刷新一遍,故刷新信号的时间间隔为2ms/64=31.25ms,即可取刷新信号周期为30ms。5.1)将十六进制地址范围写成二进制地址码,并确定其总容量,如图3-22所示。图3-22 二进制地址码2)根据地址范围的容量以及该范围在计算机系统中的作用,选择存储芯片。由6000H67FFH为系统程序区的范围,应选1片2K8位的ROM芯片。由6800H6BFFH为用户程序区的范围,应选2片1K4位的RAM芯片。3)存储芯片的片选逻辑图如图3-23所示。图3-23 存储芯片的片选逻辑图6. 解答:1)用虚拟地址1的页号15作为快表检索项,查得页号为15的页在主存中的起始地址为80000,故将80000与虚拟地址中的页内地址码0324相加,求得主存实地址码为80324.2)主存实地址码=96000+0128=96128.3)虚拟地址3的页号为48,当用48作检索项在快表中检索时,没有检索到页号为48的页面,此时操作系统暂停用户作业程序的执行,转去执行查页表程序。如该页面在主存中,则将该页号及该页在主存中的起始地址写入快表;如该页面不存在,则操作系统要将该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。7. 解答:根据图3-20已知,ROM1的地址空间为0000H3FFFH,ROM2的地址空间为4000H7FFFH,RAM1的地址空间为C000HDFFFH,RAM2的地址空间为E000HFFFFH。对应上述空间,地址码最高4位A15A12的状态如下:00000011 ROM101000111 ROM211001101 RAM111101111 RAM22:4译码器对A15、A14两位进行译码,产生4路输出,其中,Y0=00对应ROM1,Y1=01对应ROM2,Y3=11对应RAM1和RAM2,然后用A13区分是RAM1(A13=0)还是RAM2(A13=1)。由此,两组端子的连接方法如下:15, 26, 37, 812,1114, 913。8. 解答:加速比SP=tM/tE,又tE=tch+(1-h)tM,本题中h=90%,tM=10tc,故可由上式解得SP=tM/tc+(1-h)tM=1/(0.10.9+1-0.9)=1/0.19=5.269. 解答:1)依据Cache的块容量和访问的块地址流序列可以画出图3-25.访问顺序12345678块地址序列1418141884810块分配情况1414141414141414-18181818181818-8888-444-10-操作状态:调进调进命中命中调进调进命中调进图 3-25 Cache的地址分配(1)2)如图 3-26所示。访问顺序12345678块地址序列615613111087块分配情况66666101010-151515151588-131313137-11111111操作状态:调进调进命中调进调进替换替换替换图 3-26 Cache的地址分配(2)由于是全相联映射,且当访问从第6个地址开始时,Cache已经装不下,因此,按照先进先出的原则依次替换出第0块、第1块和第2块。10. 解答:1)主存有512K16=512102416=32768个块;有512K8K=64个区。2)Cache中有819216=512块;8192=213,Cache的字地址为13位;512=29,16=24,即块号和块内地址分别为9位和4位。3)主存有32768块16B/字块=219B,即字地址为19位。主存储器的字地址分为三段:区号、区内块号、块内字地址。区号的长度为19-13=6位,块号为9位,块内字地址为4位。4)主存中的第i块映射到Cache中第i mod 29个块中。5)根据j=i mod29,Cache块号=513 mod 29=1,即第1号块。根据k=i/29,区号=513/29=1,即区号标志为000001.6)16位主存字地址为04011H=000 0100 0000 0001 0001,按此主存的块号为地址读出的主存区号标志000010000001(当前主存区号),故不命中。第4章 指令系统例题解析1.A 2.C 3.A 4. 解答:1)根据操作数地址码为6位,则二地址指令中操作码的位数为16-6-6=4,这4位操作码可有16种操作。由于操作码固定,则除了零地址指令有M种,一地址指令有N种,剩下二地址指令最多有16-M-N种。2)采用扩展操作码技术,操作码位数可随地址数的减少而增加。对于二地址指令,指令字长16位减去两个地址码共12位,剩下4位操作码,共16种编码,去掉一种编码(如1111)用于一地址指令扩展,二地址指令最多可有15种操作。3)采用扩展操作码技术,操作码位数可变,则二地址、一地址和零地址的操作码长度分别为4位、10位和16位。这样二地址指令操作码每减少一个,就可以多构成26条一地址指令操作码;一地址指令操作码每减少一个,就可以多构成26条零地址指令操作码。设一地址指令有R条,则一地址指令最多有(24-P)26条,零地址指令最多有(24-P)26-R26条。根据题中给出零地址指令为Q条,即Q=(24-P)26-R26则R=(24-P)26-Q2-65. 解答:此题的指令编码格式如图4-11所示2位7位7位 011)OP地址码1地址码2操作码总共3条105位4位7位1100 02)OP寄存器索引操作数操作码总共6条1110 18位4位4位1111 0000OP寄存器索引1寄存器索引2操作码总共8条1111 01119位7位1111 1000 04)OP地址码操作码总共12条111 1101 1 1位11111110000000005)OP操作码总共32条1111111000011111图 4-116. 解答:1)算术逻辑指令格式为“寄存器寄存器”型,取单字长为16位,格式如下:6244OPMRiRj其中,OP为操作码,6位,可实现64种操作;M为寻址特征,2位,可反映寄存器寻址、直接寻址、相对寻址;Ri和Rj各取4位,指出源操作数和目的操作数的寄存器编号。2)取数/存数指令格式为“寄存器存储器”型,取双字长为32位,格式如下:6244OPMRiA1A2其中,OP为操作码,6位不变;M为寻址特征,2位不变;Ri为4位,为源操作数地址(存数指令)或目的操作数地址(取数指令);A1和A2共20位,为存储器地址,可直接访问按字节编址的1MB存储器。3)相对转移指令为一地址格式,取单字长为16位,格式如下:628OPMA其中,OP为操作码,6位不变;M为寻址特征,2位不变;A为位移量,8位,对应-128+127.7. 解答:1)根据IR和MDR均为16位,且采用单字长指令,得出指令字长为16位。根据105种操作,取操作码为7位。因允许直接寻址和间接寻址,且有变址寄存器和基址寄存器,因此取2位寻址特征,能反映4种寻址方式。最后得指令格式如下:727OPMAD其中,OP为操作码,可完成105种操作;M为寻址特征,可反映4种寻址方式;AD为形式地址。这种格式指令可直接寻址的范围为27=128,一次间址的寻址范围为216=65536.2)双字长指令格式如下:727OPMAD1AD2其中,OP、M的含义同上;AD1/AD2为23位形式地址。这种格式指令可直接寻址的范围为223=8M。3)容量为8MB的存储器,MDR为16位,即对应4M16位的存储器。可采用双字长指令,直接访问4M存储空间,此时MAR取22位;也可采用单字长指令,但Rx和RB取22位,用变址或基址寻址方式访问4M存储空间。8. 解答:因为OP字段长为5位,所以指令能定义25=32种指令。各种寻址方式的有效地址EA的计算公式、寻址范围见表4-5.寻址方式有效地址EA的计算公式寻址范围立即寻址EA=(PC)1个字,即指令自身直接寻址EA=A256B间接寻址EA=(A)64KB变址寻址EA=(Rx)+A64KB相对寻址EA=(PC)+A256B(PC附近256B)9. 解答:指令操作码占4位,则该指令系统最多可以有24=16条指令;指令操作数占6位,寻址方式占3位,于是寄存器编号占3位,该计算机最多可以有23=8个通用寄存器;主存容量为128KB,按字编址,计算机字长为16位,划分为128KB/2B=216个存储单元,故MDR和MAR至少各需16位。2)PC和Rn可表示的地址范围均为0216-1,而主存地址空间为216,故转移指令的目标地址范围为0216-1。3)汇编语句add(R4),(R5)+对应的机器码为0010 0011 0001 0101B=2315H;该指令执行后,累加器ACC、寄存器R5、地址为1234H的存储单元的内容会改变,改变后的内容分别为(ACC)=(R4)+(R5)=5678H+1234H=68ACH(A5)=(R5)+1=5678H+2H=567AH(1234H)=(ACC)=68ACH试题精选1.A 2.D 3.B 4.A 5.D 6.C 7.A 8.C 9.C 10.B 11.A 12.D 13.C 14.D 15.A,D 16.A 17.C 18.B 19.B 20.C 21.B 22.A 23.A综合应用题1. 解答:指令中一般有三种字段:操作码字段、寻址特征字段和地址码字段。操作码字段指出机器完成何种操作,其位数取决于指令系统的操作种类。寻址特征字段指出该指令以何种方式寻找操作数的有效地址,其位数取决于寻址方式的种类。地址码字段和寻址特征字段共同指出操作数或指令的有效地址,其位数与寻址范围有关。2. 解答:变址寻址是操作数地址为变址寄存器中的内容与位移量A之和,即EA=(R)变址+A。基址寻址是指令中给出一个形式地址(作为修改量),并给出基址寄存器号,基址寄存器内容(作为基址)与形式地址相加得到操作数有效地址,即EA=(R)变址+A。两者的区别见表4-7.基址寻址变址寻址有效地址等于形式地址加上基址寄存器内容有效地址等于形式地址加上变址寄存器内容可扩大寻址范围可扩大寻址范围基址寄存器的内容由操作系统给定,而且在程序的执行过程中不可变变址寄存器的内容由用户给定,且在程序的执行过程中可变支持多道程序技术的应用用于处理数组程序表 4-7 基址寻址与变址寻址的区别3. 解答:由于指令总长度为16位,操作数地址为4位,则:对于三地址指令,操作码长度为16-43=4位。对于二地址指令,操作码长度为16-42=8位,可扩展位为8-4=4位。对于一地址指令,操作码长度为16-4=12位,可扩展位为12-8=4位。由于三地址指令有M条,而三地址指令最多有24条,所以留有24-M个编码用于扩展到两地址指令。二地址指令有N条,而二地址指令最多有(24-M)24条,所以留有(24-M)24-N个编码用于扩展到一地址指令。根据以上分析,一地址指令条数=(24-M)24-N24.4. 解答:1)该指令能定义16种操作。2)立即寻址操作数的范围为-128+127.3)直接寻址EA=A基址寻址EA=(RB)+A变址寻址EA=(Rx)+A相对寻址EA=(PC)+A4)非变址直接基址寻址时EA=(RB)+A,RB为14位,故可寻址的范围为214.5)间接寻址时,如果不考虑多次间址,寻址范围为64KB,因为从存储器中读出的16位数为有效地址。如果考虑多次间址,则需用最高一位作为多次间址标志(“1”为多次间址),此时寻址范围为32KB。5. 解答:1)由于机器字长为16位,指令为单字长指令,所以指令长度也为16位。现在有50种不同的操作码,需要操作码字段6位(26=645032=25);寻址方式有3种,寻址方式字段不少于2位;剩下的8位为地址码字段(16-6-2=8).指令格式如下:15 10 9 8 7 0OPMA2)现采用页面寻址,需将存储器划分成若干页面。主存容量共64KB,需要地址16位。已知指令中的地址字段(页内地址)为8位,则页面地址也为8位(16-8=8),故存储器能划分为256个页面,每一页面有256个单元。3)在1)中确定的指令格式情况下,还可以再增加一种寻址方式。因为寻址方式字段有2位,允许出现4种不同的寻址方式。6. 解答:该机器指令可完成50种操作,则操作码字段位数为6,26=64.有8种寻址操作,则每个寻址方式字段都需要3位,3个寻址字段共需要9位。要保证各种寻址方式下均可在1KB主存范围内取得操作数,则两个操作数地址码位数均为10,共需要20位。要保证运算结果可存放在1KB主存区域,则结果地址码位数也为10.因此机器指令字长为6+9+30=45位,指令格式如下:OP(6位)(3位)D1(10位)(3)位D2(10位)(3位)D3(10位)44 39 38 36 35 26 25 23 22 13 12 10 9 0间接寻址需要两次访问主存,则获得两个操作数最多需要4次访存,存放结果最多需要2次访存,加上取指令的1次访存,执行一条指令最多需要访问7次主存。7. 解答:1)根据题意,机器码41FCH为一个字长,取指后,PC为2004H。2)操作码41H为8位,偏移量FCH也为8位,符号位扩展后的16位偏移量是FFFCH。3)转移的具体地址计算为PC=PC+16位偏移量=2004H+FFFCH=2000H,进到最高位的1自动丢失。所以相对转移的具体地址为2000H。8. 解答:1)第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中,S采用基址寻址或变址寻址,R由源寄存器决定;第三种指令也是双字长二地址指令,RS型,其中,R由目标寄存器决定,S由20位地址(直接寻址)决定。2)处理器完成第一种指令所花的时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花的时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也要时间。第二种指令的执行时间不会等于第三种指令的执行时间,因为第三种指令虽也访问存储器,但节省了求有效地址运算的时间开销。3)根据已知条件:MOV (OP)=001010,STA (OP)=011011,LDA (OP)=111100,将指令的十六进制格式转换成二进制代码且比较后可知: (F0F1) H (3CD2) H指令代表LDA指令,编码正确,其含义是把主存 (13CD2) H地址单元的内容取至15号寄存器。 (2856) H代表MOV 指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。 (6FD6) H是单字长指令,一定是MOV指令,但编码错误,可改正为 (28D6) H。 (1C2) H是编码错误,可改正为(28C2) H,代表MOV指令。9. 解答: X=00,D=20H,有效地址EA=20H; X=10,D=44H,有效地址EA=1122H+44H=1166H; X=11,D=22H,有效地址EA=1234H+22H=1256H; X=01,D=21H,有效地址EA=0037H+21H=0058H; X=11,D=23H,有效地址EA=1234H+23H=1257H;10.1)直接寻址时,有效地址是指指令中的地址码部分500,装入ACC的是800.2)立即寻址时,指令的地址码部分是操作数而不是地址,所以将500装入ACC。3)间接寻址时,操作数的有效地址存储在地址为500的单元中,由此得到有效地址为800,操作数是300.4)相对寻址时,有效地址EA=(PC)+A=202+500=702,所以操作数是325。这是因为指令是双字长,在该指令的执行阶段,PC的内容已经加2,更新为下一条指令的地址202。5)变址寻址时,有效地址EA=(XR)+A=100+500=600,所以操作数是900。6)寄存器寻址时,R1的内容400装入ACC。7)寄存器间接寻址时,有效地址是R1的内容400,装入ACC的操作数是700。第5章 中央处理器(CPU)例题精析1.B 2.D 3.C 4.A 5.A 6.B 7.C 8.D 9.A 10.A 11解答:1)主频为200MHz,所以主频周期=1/200MHz=0.005ms。每个指令周期平均为2.5CPU周期,每个CPU周期平均包括2个主频周期,所以一条指令的执行时间=22.50.005ms=0.025ms。该机平均指令执行速度=1/0.025=20MIPS。2)每条指令平均包括5个CPU周期,每个CPU周期又包含4个主频周期,所以一条指令的执行时间=450.005ms=0.1ms。该机平均指令执行速度=1/0.1=10MIPS3)由此可见:指令的复杂程度会影响指令的平均执行速度。12. 解答:1)主机中各寄存器的位数为:ACCMQALUXIRMDRPCMAR32323232323216162)微操作命令及节拍安排如下:T0 PCMAR,1RT1 M (MAR) MDR,(PC)+1PCT2 MAR IR,OP (IR) IDT0 Ad (IR) MAR,1 WT1 ACC MDRT2 MDR M (MAR)3)若采用微程序控制,还需增加下列微操作:取指:Ad (CMDR)CMAROP (IR) CMAR执行:Ad (CMDR)CMAR13解答:水平型微指令由操作控制字段、判别测试字段和下地址字段三部分构成。因为微指令采用直接控制(编码)方式,所以其操作控制字段的位数等于微命令数,为22位。又由于后继微指令地址由下地址字段给出,故其下地址字段的位数可根据控制存储器的容量(12832位)定为7位。当微程序出现分支时,后继微指令地址的形成取决于状态条件,5个互斥的可判定外部条件,可以编码成3位状态位;非分支时的后继微指令地址由微指令的下地址字段直接给出。微指令的格式如下:操作控制(22)判断(3)下地址(7)14. 解答:1)根据指令周期包括IF、ID、EX、WR四个子过程,画出指令周期流程图,如图5-13所示。图 5-13 指令周期流程图2)假设一个时间单位为一个时钟周期,则每隔4个时钟周期才有一个输出结果。图5-14所示为非流水线时空图。图 5-14 非流水线时空图3)第一条指令出结果需要4个指令周期。当流水线满载时,以后每一个时钟周期可以出一个结果,即执行完一条指令。图5-15所示为流水线时空图。图 5-15 流水线时空图4)执行10条指令所需时间=(4+9)100ns=1300ns。流水线的实际吞吐率=10/1300ns0.77107条指令/秒。5)采用流水线处理需要4+(10-1)=13个时钟周期,不采用流水线需要410=40个时钟周期,故流水线的加速比为40133.08.15. 解答一:见表 5-2表 5-2 指令执行阶段每个节拍的功能和有效控制信号(1)时钟功能有效控制信号C5MAR(R1)R1out,MARinC6MDRM(MAR)A(R0)MemR,MDRinE,R0out,AinC7ACC(MDR)+(A)MDRout,Add,ACCinC8MDR(ACC)ACCout,MDRinC9M(MAR)(MDR)MDRoutE,MemW“A(R0)”也可在C7:“ACC(MDR)+(A)”之前单列的一个时钟周期内执行。解答二: 见表5-3:表 5-3 指令执行阶段每个节拍的功能和有效控制信号(2)时钟功能有效控制信号C5MAR(R1)R1out,MARinC6MDRM(MAR)MemR,MDRinEC7A(MDR)MDRout, AinC8ACC(A)+(R0)R0out,Add,ACCin C9MDR(ACC)ACCout,MDRin C10M(MAR)(MDR)MDRoutE,MemW试题精选单项选择题1.C 2.D 3.A 4.C 5.D 6.B 7.A 8.D 9.C 10.B 11.C 12.A 13.B 14.A 15.A 16.D 17.A 18.B 19.C 20.C 21.C 22.D 23.D 24.C 25.C 26.C 27.B 28.B 29.B 30.B综合应用题1. 解答:一个完整的指令周期包括取指周期、间址周期、执行周期和中断周期。其中,取指和执行周期是每条指令都有的;间址周期只有间址寻址(存储器间接寻址)的指令才有;中断周期只有在条件满足时才有。2. 解答:因为机器主频为240MHz,所以节拍周期=(1/240)ms。1) 因为每个CPU周期平均包含4个节拍周期,所以CPU周期=节拍周期4=4/240MHz=1/(60) ms若访存不需要插入等待周期,则执行一条指令平均需要3个CPU周期,所以指令周期=3CPU周期=3(1/60) ms=(1/20) ms=0.05ms机器平均速度=1/0.05ms=20MIPS2) 平均执行一条指令需要两次访问内存,每次访问内存需要插入2个等待周期,所以指令周期=0.05ms +22(1/240) ms =(1/20) ms + (1/60) ms=(1/15) ms机器的平均速度=15/115MIPS3. 解答:1)这4个寄存器中,a为存储器数据寄存器MDR,b为指令寄存器IR,c为存储器地址寄存器MAR,d为程序计数器PC。2)取指令的数据通路:PCMARMMMDRIR。3)指令LDA X的数据通路:XMARMMMDRALUACC。4) 指令ADD Y的数据通路:YMARMMMDR,(MDR)+(ACC)ALUACC。5) 指令STA Z的数据通路:ZMAR,ACC MDR MM。4. 解答:流程如下:步骤 执行步骤功能1PCAR,PC+1PC,Read送指令地址2DBUSDR,DRIR取指到指令寄存器3Offs(IR地址码字段) Y将偏移量送到Y4R1+YZ将偏移量与基址相加5ZAR,Read新地址送地址寄存器6DBUSDR,DRY读源操作数7R0+YZ两数相加8ZR0结果送R0 5. 解答:1)立即寻址的加法指令执行周期的微操作命令及

温馨提示

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

评论

0/150

提交评论