您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机组成原理课后答案(高教版)7
2019/12/1811.什么叫机器指令?什么叫指令系统?为什么说指令系统与机器的主要功能以及与硬件结构之间存在着密切的关系?答:机器指令:把每一条机器语言的语句叫机器指令。指令系统:将全部机器指令的集合叫做机器的指令系统•机器的指令系统集中反映了机器的功能计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路,芯片,设备来实现机器指令系统的功能,计算机的使用者则是依据机器提供的指令系统,使用汇编语言来编制各种程序。计算机使用者根据机器指令系统所描述的机器功能,能很清楚地了解计算机内部寄存器-存储器的结构。以及计算机能直接支持的各种数据类型。2019/12/1822.什么叫寻址方式?为什么要学习寻址方式?答:寻址方式实质确定本条指令的数据地址,以及下一条将要执行的指令地址的方法,他与硬件结构紧密相关,而且也直接影响指令格式和指令功能。2019/12/1833.什么是指令字长、机器字长和存储字长?答:指令字长即指机器指令中含二进制代码的总位数。存储字长即指存储单元中二进制代码的个数。机器字长即指CPU中寄存器的位数。三这位数可以相等,也可以不等。2019/12/1844.零地址指令的操作数来自哪里?一地址指令的另一个操作数地址通常可采取什么寻址方式获得?各举一例说明。答:零地址指令的操作数来自ACC,为隐含约定。在一地址指令中,另一个操作数的地址通常可采用ACC或者SP隐含寻址方式获得。2019/12/1855.对于二地址指令而言,操作数的物理地址可安排在什么地方?举例说明。答:对于二地址指令而言,操作数的物理地址可安排在寄存器内、指令中或内存单元内等。2019/12/1866.某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。解:三地址指令格式如下:4444OPA1A2A3解题思路:以三地址指令格式为该指令系统的基本格式。以此格式为基础,采用扩展操作码技术,设计出题意所要求的地址码结构的指令。指令操作码分配方案如下:2019/12/1874位OP0000,……,A1,A2,A3;8条三地址指令0111,1000,0000,……,……,A2,A3;16条二地址指令1000,1111,1001,0000,0000,……,……,……,A3;100条一地址指令1001,0110,0011,1001,0110,0100,……,……,……,冗余编码1001,1111,1111,可用来扩充一、零地址指令条数1010,……,冗余编码1111,可用来扩充三、二、一、零地址指令条数指令操作码分配方案2019/12/1887.设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令?解:二地址指令格式如下:466OPA1A2设二地址指令格式为该指令系统的基本格式,4位操作码共有16种编码,其中13种用来定义二地址指令,还剩3种可用作扩展标志。如不考虑零地址指令,该指令系统最多还能安排:一地址指令条数=3×26=192条2019/12/1898.某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?解:1)若采用定长操作码时,二地址指令格式如下:设二地址指令有K种,则:K=24-M-N,当M=1,N=1时,二地址指令最多有:Kmax=16-1-1=14种2)若采用变长操作码时,二地址指令格式仍如上图所示,但操作码长度可随地址码的个数而变。此时,K=24-(N/26+M/212),(N/26+M/212向上取整),当(N/26+M/212)=1时,K最大,则二地址指令最多有:Kmax=16-1=15种(只留一种编码作扩展标志用)。2019/12/18109.试比较间接寻址和寄存器间接寻址。•间接寻址和寄存器间址都可扩大寻址范围,他们形成有效地址的方式类似:间址需通过访存(若是多次间址还需多次访存)得到有效地址;寄存器间址需通过访问存储器得到有效地址,因有效地址放于寄存器中,故比间接寻址少一次访存。2019/12/181110.试比较基址寻址和变址寻址。解:比较如下:1)都可有效地扩大指令寻址范围。2)基址寻址时,基准地址由基址寄存器给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器给出。3)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。4)基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理,适用场合不同。2019/12/181211.画出先变址再间址及先间址再变址的寻址过程示意图。解:1)先变址再间址寻址过程简单示意如下:EA=[(IX)+A],(IX)+1IXIXOPMA+1ALUIREA操作数主存IX:变址寄存器,既可是专用寄存器,也可是通用寄存器之一。设一重间接2019/12/18132)先间址再变址寻址过程简单示意如下:EA=(IX)+(A),(IX)+1IXIXOPMA+1ALUIREA操作数主存IX:变址寄存器,既可是专用寄存器,也可是通用寄存器之一。设一重间接2019/12/181412.画出“SUB@R1”指令对操作数的寻址及减法过程的流程图。设被减数和结果存于ACC中,@表示间接寻址,R1寄存器的内容为2074H。解:SUB@R1指令寻址及减法过程的流程图:取指令(省)寻址操作:寄存器间址EA=(R1)=2074HEAMAR,读M(EA)MDR(ACC)-(MDR)ACCAA(公操作)注:在没有指定数据通路的情况下,此流程只是一个粗略的示意。2019/12/181513.画出执行“ADD*-5”指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果存于ACC中,并假设(PC)=4000H。解:由于本题未指定数据通路结构,因此只能大概地排一下信息流程图,并且流程图中突出寻址过程的实现。ADD*-5指令信息流程图如下:取指令(省)寻址计算:EA=(PC)-5=4000H+FFFBH=3FFBHEAMAR,读M(EA)MDR(ACC)+(MDR)ACCAA(公操作)2019/12/181614.设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1的操作。试问当执行JMP*+8和JMP*-9指令时,转移指令第二字节的内容各为多少?解:据题意,相对寻址的转移指令格式如下:当执行JMP指令时,指令第二字节的内容不变,PC的内容变为2002H。此时转移指令第二字节内容各为:A1=+8=00001000=08HA2=-9=11110111=F7H其有效地址各为:EA1=(PC)+8=2002H+0008H=200AHEA2=(PC)–9=2002H+FFF7H=1FF9HOPA2000H2001H2002H2019/12/181715.一相对寻址的转移指令占3个字节,第一个字节是操作码,第二、三字节是相对位移量,而数据在存储器中以高字节地址为字地址的存储方式。假设当前PC值是4000H。试问当结果为0,执行JZ*+35和JZ*-17指令时,该指令第二、三字节的机器代码各为多少?解:据题意,相对寻址的转移指令格式如下:当执行JZ指令时,指令第二三字节的内容不变,PC的内容变为4003H。此时转移指令第二三字节内容各为:A1=+35=100011=23HA2=-17=-10001=11101111=EFH其有效地址各为:EA1=(PC)+35=4003H+0023H=4026HEA2=(PC)–17=4003H+FFEFH=3FF2HOP0023H4000H4001H4002H4003HOPFFHEFH4000H4001H4002H4003H2019/12/181816.某机主存容量为4M×16位,且存储字长等于指令字长,若该机指令系统能完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式。试回答:(1)画出一地址指令格式并指出各字段的作用;(2)该指令直接寻址的最大范围;(3)一次间址和多次间址的寻址范围;(4)立即数的范围(十进制表示);(5)相对寻址的位移量(十进制表示);(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?(7)如何修改指令格式,使指令的寻址范围可扩大到4M?(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。解:(1)单字长一地址指令格式:OP——操作码字段,提供至少108种指令操作码;M——寻址方式码字段,指出6种寻址方式;A——形式地址字段,给出寻址所需的形式地址。2019/12/1819(2)A为6位,该指令直接寻址的最大范围为26=64字;(3)一次间址的寻址范围为216=64K字;多次间址的寻址范围为215=32K字;(4)立即数的范围:若采用补码表示为1FH~20H;十进制表示为+31~-32;无符号数为0~63;(5)相对寻址的位移量范围在采用补码表示时同立即数范围,为+31~-32;(6)立即寻址指令执行时间最短,因为此时不需寻址;间接寻址指令执行时间最长,因为寻址操作需访存一次到多次;相对寻址便于程序浮动,因为此时操作数位置可随程序存储区的变动而改变,总是相对于程序一段距离;变址寻址最适合处理数组问题,因为此时变址值可自动修改而不需要修改程序。2019/12/1820(7)为使指令寻址范围可扩大到4M,需要有效地址22位,此时可将单字长一地址指令的格式改为双字长,形式地址A扩展到第2个字。这样,直接寻址时,EA=A=16+6=22位正好可访问4M地址空间。由于A的扩展,变址、基址、相对、立即数等寻址方式也扩展到22位。(8)如使一条转移指令能转移到主存的任一位置,可采用上述双字长一地址指令,通过选用合适的寻址方式完成。(如选用直接寻址就可转移到主存任一位置,但选用相对寻址则只能在±2M范围内转移。)除此之外,后两题也可通过段寻址方式达到扩大寻址空间的目的(此时不需修改指令格式)。总之,不论采取何种方式,最终得到的实际地址应是22位。2019/12/182117.举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的执行阶段只需访问一次存储器?完成什么样的指令,包括取指令在内共访问4次存储器?解:举例如下:1)一地址指令在执行阶段不访存的寻址方式有:寄存器寻址、立即寻址。2)一地址指令在执行阶段只访存一次的寻址方式有:寄存器间接寻址、直接寻址、基址寻址、变址寻址、相对寻址、页面寻址。3)包括取指在内共访存四次的指令有:二重间址的一地址指令;一重间址的二地址指令,当另一操作数采用直接、基址、变址、相对、页面、寄存器间接寻址时。2019/12/182218.某机器共能完成78种操作,若指令字长为16位,试问一地址格式的指令地址码可取几位?若想指令寻址范围扩大到216,可采取什么方法?举出三种不同的例子加以说明。解:•6478128,所以操作码最少要取7位,则地址码最多取9位。•若想寻址范围扩大到216,则可以采取双字长指令、间接选址、寄存器间接寻址等方法。2019/12/182319.某CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等于机器字长,试回答:(1)如果主存可直接或间接寻址,采用“寄存器—存储器”型指令,能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。(2)满足(1)前提下,采用通用寄存器作基址寄存器,则上述“寄存器—存储器”型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?解:(1)如采用RS型指
本文标题:计算机组成原理课后答案(高教版)7
链接地址:https://www.777doc.com/doc-2101181 .html