资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机组成原理第7章作业答案,3.,指令字长:,7.1.2,节,(P304),机器字长:,1.3.1,节,(P17),存储字长:,P13,4.,解:,零地址指令的操作数的地址隐含在堆栈指针,SP,中,(P303),一地址格式的另一个操作数通常可采用隐含寻址。举例参照,P312.,5.,解:二地址指令操作数的物理地址用地址码给出,可以是主存的地址,也可以是寄存器的地址,甚至可以是,I/O,设备的地址。(,P302,),6.,某指令系统字长为,16,位,,地址码取,4,位,,试提出一种方案,使该指令系统有,8,条,三地址指令、,16,条,二地址指令、,100,条一地址指令。解:,三地址指令格式,如下:,4 4 4 4,OP A,1,A,2,A,3,解题思路:以三地址指令格式为该指令系统的基本格式。以此格式为基础,采用,扩展操作码,技术,设计出题意所要求的地址码结构的指令。,指令操作码分配方案,如下:,4,位,OP,0000,,,,,A,1,,,A,2,,,A,3,;,8,条,三地址指令,0111,,,1000,,,0000,,,,,,,A,2,,,A,3,;,16,条,二地址指令,1000,,,1111,,,1001,,,0000,,,0000,,,,,,,,,A3,;,100,条,一地址指令,1001,,,0110,,,0011,,,1001,,,0110,,,0100,,,,,,,,,冗余编码,1001,,,1111,,,1111,,,可用来扩充一、零地址指令条数,1010,,,,,冗余编码,1111,,,可用来扩充三、二、一、零地址指令条数,指令操作码分配方案,7.,设指令字长为,16,位,,采用扩展操作码技术,每个操作数的地址为,6,位,。如果定义了,13,条,二地址指令,试问还可安排多少条一地址指令?解:,二地址指令格式,如下:,4 6 6,OP A,1,A,2,设二地址指令格式为该指令系统的基本格式,,4,位,操作码共有,16,种,编码,其中,13,种,用来定义二地址指令,还剩,3,种,可用作,扩展标志,。如不考虑零地址指令,该指令系统最多还能安排:,一地址指令条数,=3,2,6,=,192,条,8.,某机指令字长,16,位,,每个操作数的地址码为,6,位,设操作码长度,固定,,指令分为零地址、一地址和二地址,三种,格式。若零地址指令有,M,种,,一地址指令有,N,种,,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?解:,1,)若采用定长操作码时,二地址指令格式如下:,4 6 6,OP,A,1,A,2,此时,无论指令中有几个地址,,指令格式都不变,。,设二地址指令有,K,种,则:,K=2,4,-M-N,当,M=1,(最小值),,N=1,(最小值)时,二地址指令最多有:,K,max,=16-1-1=14,种,2,)若采用变长操作码时,二地址指令格式仍如,1,)所示,但操作码长度可随地址码的个数而变。此时,,K=2,4,-,(,N/2,6,+M/2,12,),;(,N/2,6,+M/2,12,向上取整)当,(,N/2,6,+M/2,12,),1,时,,K,最大,则二地址指令最多有:,K,max,=16-1=15,种,(只留一种编码作扩展标志用。),讨论:,此时,一地址指令条数为:,N=,(,2,4,-K,),2,6,-M/2,6,;,(,M/2,6,向上取整)。零地址指令条数为:,M=2,16,-2,12,K-2,6,N,;,当,K,最大时(,K=15,),一地址指令最多有:,N,max,=64-1=63,种;,零地址指令最多有:,M,max,=64,种,注意:,应首先根据题意画出指令基本格式。,13.,画出执行“,ADD *-5,”,指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果存于,ACC,中,并假设,(,PC,),=4000H,。解:由于本题未指定数据通路结构,因此只能大概地排一下信息流程图,并且流程图中突出,寻址过程,的实现。,ADD *-5,指令信息流程图如下:,取指令(省),寻址计算:,EA=(PC)-5,=4000H+FFFBH,=3FFBH,EA,MAR,,读,M(EA),MDR,(ACC)+(MDR),ACC,A,A,(公操作),14.,设,相对寻址,的转移指令占,两个,字节,第一个字节是操作码,第二个字节是,相对位移量,,用,补码,表示。假设当前转移指令第一字节所在的地址为,2000H,,且,CPU,每取出一个字节便,自动完成(,PC,),+1,PC,的操作。试问当执行“,JMP *+8,”,和“,JMP *-9,”,指令时,转移指令第二字节的内容各为多少?解:据题意,相对寻址的转移指令格式如下:,OP,A,2000H,2001H,2002H,当取出,JMP,指令时,,PC,的内容变为,2002H,。此时转移指令第二字节内容各为:,A1=0000 0110=,06H,(,6,),A2=1111 0101=,F5H,(,-11,),执行,JMP,后,PC,各为:,EA1=,200AH,EA2=,1FF7H,请参考课件上的例子。,15.,解:,+35-3=,20H,-17-3=,ECH,当取出,JZ,指令时,,PC,的内容变为,4003H,。由于数据在存储器中采用以高字节地址为字地址的存放方式故此时转移指令第二、三字节内容各为:,00H 20H,FFH ECH,16.,某机主存容量为,4M,16,位,,且存储字长,等于,指令字长,若该机指令系统可完成,108,种,操作,操作码位数,固定,,且具有直接、间接、变址、基址、相对、立即等,六种寻址方式,,试回答以下问题。(,1,)画出,一地址指令格式,并指出各字段的作用。(,2,)该指令,直接寻址,的最大范围。(,3,),一次,间接寻址和,多次,间接寻址的寻址范围。(,4,),立即数,的范围(十进制表示)。,(,5,)相对寻址的,位移量,(十进制表示)。(,6,)上述六种寻址方式的指令中哪一种执行时间,最短,,哪一种,最长,,为什么?哪一种便于,程序浮动,,哪一种最适合处理,数组,问题?(,7,)如何修改指令格式,使指令的寻址范围可扩大到,4M,?(,8,)为使一条转移指令能转移到主存的,任一位置,,可采取什么措施?简要说明之。,解:(,1,)单字长一地址指令,格式,:,7 3 6,OP M A,各字段的作用:,OP,操作码,字段,提供至少,108,种指令操作码;,M,寻址方式码,字段,指出,6,种寻址方式;,A,形式地址,字段,给出寻址所需的形式地址。,(,2,),A,为,6,位,该指令直接寻址的最大范围为,2,6,=,64,字,;,(,3,)一次间址的寻址范围为,2,16,=,64K,字,;多次间址的寻址范围为,2,15,=,32K,字;,(,4,)立即数的范围:若采用补码表示为,1FH20H,;十进制表示为,-,32+31,;无符号数为,063,;(,5,),相对寻址的位移量范围在采用补码表示时同立即数范围,为,-,32+31,;,(,6,)六种寻址方式中,,立即寻址,指令执行时间最短,因为此时不需寻址;,间接寻址,指令执行时间最长,因为寻址操作需访存一次到多次;,相对寻址,便于程序浮动,因为此时操作数位置可随程序存储区的变动而改变,总是相对于程序一段距离;,变址寻址,最适合处理数组问题,因为此时变址值可,自动修改而不需要修改程序。,(,7,)为使指令寻址范围可扩大到,4M,,需要有效地址,22,位,此时可将单字长一地址指令的格式改为,双字长,,如下图示:,7 3 6,OP M A,A,16,图中,指令的第一字,保持,原来格式不变,形式地址,A,扩展,到第,2,个字。这样,直接寻址时,,EA=A=16+6=,22,位,,正好可访问,4M,地址空间。由于,A,的扩展,变址、基址、相对、立即数等寻址方式也扩展到,22,位。,(,8,),如使一条转移指令能转移到主存的,任一位置,,可采用上述双字长一地址指令,通过,选用合适的,寻址方式完成。,(如选用直接寻址就可转移到主存,任一位置,,但选用相对寻址则只能在,2M,范围内转移。),除此之外,(,7,)、(,8,)两题也可通过,段寻址方式,达到扩大寻址空间的目的(,此时不需修改指令格式,)。总之,不论采取何种方式,最终得到的,实际地址,应是,22,位,。,方案二:(,7,)如果仍采用单字长指令(,16,位)格式,,为使指令寻址范围扩大到,4M,,可通过,段寻址,方案实现。安排如下:硬件设,段寄存器,DS,(,16,位),用来存放,段地址,。在完成指令寻址方式所规定的寻址操作后,得有效地址,EA,(,16,位),再由硬件,自动,完成段寻址,最后得,22,位物理地址,。,物理地址,=,(,DS,),2,6,+EA,注:,段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、,EA,产生之后由硬件自动完成,对用户是透明的。,方案三:(,7,)在采用单字长指令(,16,位)格式时,还,可通过,页面寻址,方案使指令寻址范围扩大到,4M,。安排如下:硬件设,页面寄存器,PR,(,16,位),用来存放,页面地址,。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到,4M,时,编程选择,页面寻址,方式,则:,EA,=,(,PR,),A,(有效地址,=,页面地址“拼接”,6,位形式地址),这样得到,22,位有效地址。,20.,RISC,的产生:,P326,其特点:,P330,21.,RISC,和,CISC,的比较:,P333,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,
展开阅读全文