《计算机组成原理18-计算机组成原理答案-第七章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理18-计算机组成原理答案-第七章.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.某机指令字长某机指令字长16位,每个操作数的地址码为位,每个操作数的地址码为6位,设操作码长度固定,位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,种,一地址指令有一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?则二地址指令最多允许有几种?解:解:1)若采用定长操作码时,二地址指令格式如下:)若采用定长操作码时,二地址指令格式如下:4 6 6 OP OP A A1 1 A A2 2此时,无论指令中有几个地址,此时,无论
2、指令中有几个地址,此时,无论指令中有几个地址,此时,无论指令中有几个地址,指令格式都不变指令格式都不变指令格式都不变指令格式都不变。设二地址指令有设二地址指令有K种,则:种,则:K=24 M N 当当M=1(最小值),(最小值),N=1(最小值)时,二地址指令最多有:(最小值)时,二地址指令最多有:Kmax=16-1-1=14种种2)若采用变长操作码时,二地址指令格式仍如)若采用变长操作码时,二地址指令格式仍如1)所示,但操作码)所示,但操作码长度可随地址码的个数而变。长度可随地址码的个数而变。Kmax=16-1=15种种(只留一种编码作扩展标志用。)(只留一种编码作扩展标志用。)10.试比较
3、基址寻址和变址寻址。试比较基址寻址和变址寻址。解:比较如下:解:比较如下:1)都可有效地)都可有效地扩大扩大指令寻址范围。指令寻址范围。2)基址寻址时,基准地址由基址寄存器给出,地址的)基址寻址时,基准地址由基址寄存器给出,地址的改变改变反映在反映在位移量位移量A的取值上;的取值上;变址寻址时,基准地址由变址寻址时,基准地址由A给出,地址的改变反映在给出,地址的改变反映在变址值的自动修改变址值的自动修改上,变上,变址值由变址寄存器给出。址值由变址寄存器给出。3)基址寄存器内容通常由)基址寄存器内容通常由系统程序系统程序设定,变址寄存器内容通常由设定,变址寄存器内容通常由用户用户设设定。定。4)
4、基址寻址适用于程序的)基址寻址适用于程序的动态重定位动态重定位,变址寻址适用于,变址寻址适用于数组或字符串处数组或字符串处理理,适用场合,适用场合不同不同。11.画出先变址再间址及先间址再变址的寻址过程示意图。画出先变址再间址及先间址再变址的寻址过程示意图。解:解:1)设形式地址为)设形式地址为A,变址寄存器为,变址寄存器为IX,则,则先变址再间址先变址再间址寻址过程寻址过程示意如下:示意如下:(一重间址一重间址)EA=(IX)+A (IX)+1IXOP M AOP M AIRIRIXIXEAEA操作数操作数操作数操作数+1ALUALUMMMM 2)先间址再变址先间址再变址寻址过程示意:寻址过
5、程示意:EA=(IX)+(A)(IX)+1IXOP M AOP M AIRIRIXIX操作数操作数操作数操作数+1ALUALUMMMMEAEA 12.画出画出SUB R1指令对操作数的寻址及减法过程的流程图。设被减指令对操作数的寻址及减法过程的流程图。设被减数和结果存于数和结果存于ACC中,中,表示间接寻址,表示间接寻址,R1寄存器的内容为寄存器的内容为2074H。解:解:SUB R1指令寻址及减法过程的流程图:指令寻址及减法过程的流程图:取指令(可省)取指令(可省)取指令(可省)取指令(可省)寻址操作:寻址操作:寻址操作:寻址操作:寄存器间址寄存器间址寄存器间址寄存器间址EA=(R1)=20
6、74HEA=(R1)=2074HEA EA MARMAR,读,读,读,读 M(EA)M(EA)MDRMDR(ACC)-(MDR)(ACC)-(MDR)ACCACC A A A A (公操作)(公操作)(公操作)(公操作)13.画出执行画出执行ADD *-5指令(指令(*为相对寻址特征)的信息流程图。设另为相对寻址特征)的信息流程图。设另一个操作数和结果存于一个操作数和结果存于ACC中,并假设(中,并假设(PC)=4000H。解:由于本题未指定数据通路结构,因此只能大概地排一下信息流程解:由于本题未指定数据通路结构,因此只能大概地排一下信息流程图,并且流程图中突出图,并且流程图中突出寻址过程寻址
7、过程的实现。的实现。ADD *-5指令信息流程图如下:指令信息流程图如下:取指令(可省)取指令(可省)取指令(可省)取指令(可省)寻址计算:寻址计算:寻址计算:寻址计算:EA=(PC)-5EA=(PC)-5=4000H+FFFBH=4000H+FFFBH=3FFBH=3FFBHEA EA MARMAR,读,读,读,读 M(EA)M(EA)MDRMDR(ACC)+(MDR)(ACC)+(MDR)ACCACC A A A A (公操作)(公操作)(公操作)(公操作)14.设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对
8、位移量,用补码表示。假设当前转移指令第一字节所在的地址为节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且,且CPU每取出一个字节便自动完成(每取出一个字节便自动完成(PC)+1PC的操作。试问当执的操作。试问当执行行JMP *+8和和JMP *-9指令时,操作数的地址是什么?指令时,操作数的地址是什么?解:据题意,相对寻址的转移指令格式如下:解:据题意,相对寻址的转移指令格式如下:OPOPA A2000H2000H2001H2001H2002H2002H 当执行当执行JMP指令时,指令时,指令第二字节的内容不变指令第二字节的内容不变,PC的内容变为的内容变为200
9、2H。此时转移指令第二字节内容各为:。此时转移指令第二字节内容各为:A1=+8=0000 1000=08H A2=-9 =1111 0111=F7H 其有效地址各为:其有效地址各为:EA1=(PC)+8=2002H+0008H=200AH EA2=(PC)9=2002H+FFF7H =1FF9H 16.某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字长,若该机指令系统位,且存储字长等于指令字长,若该机指令系统可完成可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:立即等六
10、种寻址方式,试回答:(1)画出一地址指令格式并指出各字段的作用;)画出一地址指令格式并指出各字段的作用;解:解:(1)单字长一地址指令)单字长一地址指令格式格式:7 3 6 OP M A OP M A 各字段的作用:各字段的作用:各字段的作用:各字段的作用:OP OP操作码操作码操作码操作码字段,提供至少字段,提供至少字段,提供至少字段,提供至少108108种指令操作码;种指令操作码;种指令操作码;种指令操作码;M M寻址方式码寻址方式码寻址方式码寻址方式码字段,指出字段,指出字段,指出字段,指出6 6种寻址方式;种寻址方式;种寻址方式;种寻址方式;A A形式地址形式地址形式地址形式地址字段,
11、给出寻址所需的形式地址。字段,给出寻址所需的形式地址。字段,给出寻址所需的形式地址。字段,给出寻址所需的形式地址。16.某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字长,若该机指令系统位,且存储字长等于指令字长,若该机指令系统可完成可完成108种操作,操作码位数固定,且具有直接间接、变址、基址、相对、立种操作,操作码位数固定,且具有直接间接、变址、基址、相对、立即等六种寻址方式,试回答:即等六种寻址方式,试回答:(2)该指令直接寻址的最大范围;)该指令直接寻址的最大范围;(3)一次间址和多次间址的寻址范围;)一次间址和多次间址的寻址范围;(4)立即数的范围(十进制表示);)立即
12、数的范围(十进制表示);(5)相对寻址的位移量(十进制表示);)相对寻址的位移量(十进制表示);解:解:(2)A为为6位,该指令直接寻址的最大范围为位,该指令直接寻址的最大范围为26=64字;字;(3)一次间址的寻址范围为)一次间址的寻址范围为216=64K字;字;多次间址的寻址范围为多次间址的寻址范围为215=32K字;字;(多次间址寻址时:首位为(多次间址寻址时:首位为1:继续访问寻址,首位:继续访问寻址,首位0:寻址结束。):寻址结束。)(4)立即数的范围:若采用补码表示为)立即数的范围:若采用补码表示为1FH20H;十进制表示为十进制表示为31-32;无符号数为;无符号数为063;(5
13、)相对寻址的位移量范围在采用补码表示时同立即数范围。相对寻址的位移量范围在采用补码表示时同立即数范围。OP 7 M 3 A 6 OP 7 M 3 A 6 16.某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字长,若该机指令系统位,且存储字长等于指令字长,若该机指令系统可完成可完成108种操作,操作码位数固定,且具有直接间接、变址、基址、相对、立种操作,操作码位数固定,且具有直接间接、变址、基址、相对、立即等六种寻址方式,试回答:即等六种寻址方式,试回答:(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一
14、种便于程序浮动?哪一种最适合处理数组问题?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?(7)如何修改指令格式,使指令的寻址范围可扩大到)如何修改指令格式,使指令的寻址范围可扩大到4M?(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。简要说明之。解:解:(6)六种寻址方式中,立即寻址指令执行时间最短,因为此时不)六种寻址方式中,立即寻址指令执行时间最短,因为此时不需寻址;间接寻址指令执行时间最长,因为寻址操作需访存一次需寻址;间接寻址指令执行时间最长,因为寻址操作需访存一次到多次;到多次;相对寻址便于程
15、序浮动,因为此时操作数位置可随程序存储相对寻址便于程序浮动,因为此时操作数位置可随程序存储区的变动而改变,总是相对于程序一段距离;区的变动而改变,总是相对于程序一段距离;变址寻址最适合处理数组问题,因为此时变址值可自动修改变址寻址最适合处理数组问题,因为此时变址值可自动修改而不需要修改程序。而不需要修改程序。16.某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字长,若该机指令系统位,且存储字长等于指令字长,若该机指令系统可完成可完成108种操作,操作码位数固定,且具有直接间接、变址、基址、相对、立种操作,操作码位数固定,且具有直接间接、变址、基址、相对、立即等六种寻址方式,试回答
16、:即等六种寻址方式,试回答:(7)如何修改指令格式,使指令的寻址范围可扩大到)如何修改指令格式,使指令的寻址范围可扩大到4M?(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。简要说明之。解:(解:(7)为使指令寻址范围可扩大到)为使指令寻址范围可扩大到4M,需要有效地址,需要有效地址22位,此时可位,此时可 将单字长一地址指令的格式改为双字长,如下图示:将单字长一地址指令的格式改为双字长,如下图示:OP 7 M 3 A 6 OP 7 M 3 A 6A 16A 16 图中,指令的第一字图中,指令的第一字图中,指令
17、的第一字图中,指令的第一字保持保持保持保持原来格式不变,形式地址原来格式不变,形式地址原来格式不变,形式地址原来格式不变,形式地址A A扩展扩展扩展扩展到第到第到第到第2 2个字。这样,个字。这样,个字。这样,个字。这样,直接寻址时,直接寻址时,直接寻址时,直接寻址时,EA=A=16+6=EA=A=16+6=2222位位位位,正好可访问,正好可访问,正好可访问,正好可访问4M4M地址空间。由于地址空间。由于地址空间。由于地址空间。由于A A的扩展,的扩展,的扩展,的扩展,变址、基址、相对、立即数等寻址方式也扩展到变址、基址、相对、立即数等寻址方式也扩展到变址、基址、相对、立即数等寻址方式也扩展
18、到变址、基址、相对、立即数等寻址方式也扩展到2222位。位。位。位。(8)如使一条转移指令能转移到主存的任一位置,可采用上述双字长一地址如使一条转移指令能转移到主存的任一位置,可采用上述双字长一地址 指令,通过选用合适的寻址方式完成。(如选用直接寻址就可转移到主指令,通过选用合适的寻址方式完成。(如选用直接寻址就可转移到主 存任一位置,但选用相对寻址则只能在存任一位置,但选用相对寻址则只能在2M范围内转移。)范围内转移。)除此之外,(除此之外,(7)、()、(8)两题也可通过段寻址方式达到扩大寻址空间的)两题也可通过段寻址方式达到扩大寻址空间的 目的。总之,不论采取何种方式,最终得到的实际地址
19、应是目的。总之,不论采取何种方式,最终得到的实际地址应是22位。位。17.举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的执行阶段只需访问一次存储器?完成什么样的指令,包括址方式在指令的执行阶段只需访问一次存储器?完成什么样的指令,包括取指令在内共访问四次存储器?取指令在内共访问四次存储器?解:举例如下:解:举例如下:1)一地址指令在执行阶段不访存的寻址方式有:)一地址指令在执行阶段不访存的寻址方式有:寄存器寻址寄存器寻址、立即寻址。立即寻址。2)一地址指令在执行阶段只访存一次的寻址方式有:)一地址指令在执行阶段只访存一次的寻址方式有:寄存器间接寻址寄存器间接寻址、直接寻址、基址寻址、变址寻址、相对寻址直接寻址、基址寻址、变址寻址、相对寻址。3)包括取指在内共访存四次的指令有:)包括取指在内共访存四次的指令有:二重间址的一地址指令二重间址的一地址指令;一重间址的二地址指令一重间址的二地址指令,当另一操作数采用直接、基址、变址、,当另一操作数采用直接、基址、变址、相对、寄存器间接寻址时。相对、寄存器间接寻址时。
限制150内