计算机组成原理课后习题及答案唐朔飞7-8

上传人:宝路 文档编号:47210433 上传时间:2018-06-30 格式:PPTX 页数:60 大小:204.65KB
返回 下载 相关 举报
计算机组成原理课后习题及答案唐朔飞7-8_第1页
第1页 / 共60页
计算机组成原理课后习题及答案唐朔飞7-8_第2页
第2页 / 共60页
计算机组成原理课后习题及答案唐朔飞7-8_第3页
第3页 / 共60页
计算机组成原理课后习题及答案唐朔飞7-8_第4页
第4页 / 共60页
计算机组成原理课后习题及答案唐朔飞7-8_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《计算机组成原理课后习题及答案唐朔飞7-8》由会员分享,可在线阅读,更多相关《计算机组成原理课后习题及答案唐朔飞7-8(60页珍藏版)》请在金锄头文库上搜索。

1、指 令 系 统第第 七七 章章6. 某指令系统字长为16位,地 址码取4位,试提出一种方案,使该 指令系统有8条三地址指令、16条二 地址指令、100条一地址指令。解:三地址指令格式如下 :4 4 4 4OP A OP A1 1A A2 2A A3 3解题思路:以三地址指令格式为解题思路:以三地址指令格式为 该指令系统的基本格式。以此格式为该指令系统的基本格式。以此格式为 基础,采用基础,采用扩展操作码扩展操作码技术,设计出技术,设计出 题意所要求的地址码结构的指令。题意所要求的地址码结构的指令。指令操作码分配方案指令操作码分配方案如下:如下:4位OP 0000, , A1,A2,A3;8条三

2、地址指令 0111, 1000,0000, , A2,A3;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 6OP A OP A

3、1 1A A2 2设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的 基本格式,基本格式,4 4位位操作码共有操作码共有1616种种编码,编码, 其中其中1313种种用来定义二地址指令,还剩用来定义二地址指令,还剩3 3 种种可用作可用作扩展标志扩展标志。如不考虑零地址指。如不考虑零地址指 令,该指令系统最多还能安排:令,该指令系统最多还能安排:一地址指令条数一地址指令条数 =3=3226 6 = =192192条条8. 某机指令字长16位,每个操作 数的地址码为6位,设操作码长度固 定,指令分为零地址、一地址和二地 址三种格式。若零地址指令有M种, 一地址指令有N种,则二地址指令最

4、 多有几种?若操作码位数可变,则二 地址指令最多允许有几种?解:1)若采用定长操作码 时,二地址指令格式如下:4 6 6OP OP A A1 1A A2 2此时,无论指令中有几个地址,此时,无论指令中有几个地址, 指令格式都不变指令格式都不变。设二地址指令有K种,则:K=24-M-N当M=1(最小值),N=1(最小值 )时,二地址指令最多有:Kmax=16-1-1=14种2)若采用变长操作码时,二 地址指令格式仍如1)所示,但操作码 长度可随地址码的个数而变。此时,K= 24 -(N/26 + M/212 ); (N/26 + M/212 向上取 整)当(N/26 + M/212 ) 1时,K

5、 最大, 则二地址指令最多有:Kmax=16-1=15种(只留一种编 码作扩展标志用。)讨论:此时,一地址指令条数为 :N=(24 - K)26 - M/26;( M/26向上取整)。零地址指令条数为:M = 216 - 212K - 26N;当K最大时(K=15),一地 址指令最多有:Nmax=64 - 1=63种;零地址指令最多有:Mmax=64种注意:应首先根据题意画出 指令基本格式。10. 试比较基址寻址和变址寻址。解:比较如下:1)都可有效地扩大指令寻址 范围。2)基址寻址时,基准地址由 基址寄存器给出,地址的改变反映在位 移量A的取值上;变址寻址时,基准地 址由A给出,地址的改变反

6、映在变址值 的自动修改上,变址值由变址寄存器给 出。3)基址寄存器内容通常由系 统程序设定,变址寄存器内容通常由用 户设定。4)基址寻址适用于程序的动 态重定位,变址寻址适用于数组或字符 串处理,适用场合不同。11. 画出先变址再间址及先间址再变址的寻址过 程示意图。解:1)先变址再间址寻址过程简单示意如 下:EA=(IX)+A, (IX)+1IXIXOP M A+1+1ALUIRIREA操作数主存主存IX:变址寄存器, 既可是专用寄存器, 也可是通用寄存器之一。设一重间接2)先间址再变址寻址过程简单示意如下:EA=(IX)+(A), (IX)+1IXIXIXOP M AOP M A+1+1A

7、LUALUIRIREAEA操作数操作数主存主存IXIX:变址寄存器,:变址寄存器, 既可是专用寄存器,既可是专用寄存器, 也可是通用寄存器之一。也可是通用寄存器之一。设一重间接注意:1)英文缩写EA表示有效地址, 不能乱用。 2)示意图中应标明EA(有效地 址)的位置。12. 画出“SUB R1”指令对操作数的寻址及减 法过程的流程图。设被减数和结果存于ACC中,表 示间接寻址,R1寄存器的内容为2074H。解: SUB R1指令寻址及减法过程的流程 图: 取指令(省)取指令(省)寻址操作:寻址操作: 寄存器间址寄存器间址 EA=(R1) =2074HEA=(R1) =2074HEA EA M

8、ARMAR,读,读 M(EA) M(EA) MDRMDR(ACC)-(MDR) (ACC)-(MDR) ACCACC A A A A (公操作)(公操作)注:注:在没有指定数据通在没有指定数据通 路的情况下,此流程只是一路的情况下,此流程只是一 个粗略的示意。个粗略的示意。13. 画出执行“ADD *-5”指令(*为相对寻址特 征)的信息流程图。设另一个操作数和结果存于ACC 中,并假设(PC)=4000H。解:由于本题未指定数据通路结构,因此 只能大概地排一下信息流程图,并且流程图中突出 寻址过程的实现。ADD *-5指令信息流程图如下: 取指令(省)取指令(省)寻址计算:寻址计算: EA=

9、(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. 设相对寻址的转移指令占两个 字节,第一个字节是操作码,第二个 字节是相对位移量,用补码表示。假 设当前转移指令第一字节所在的地址 为2000H,且CPU每取出一个字节便自 动完成(PC)+1PC的操作。试问当 执行“JMP *+8”和“JMP *-9”指令时 ,转移指令第二字节的内容各为多少 ?解:据题意,相对寻址的

10、转 移指令格式如下:OPOPA A2000H2000H 2001H2001H 2002H2002H当执行JMP指令时,指令第二字 节的内容不变,PC的内容变为2002H 。此时转移指令第二字节内容各为:A1= +8 = 0000 1000 = 08HA2= -9 = 1111 0111 = F7H其有效地址各为:EA1= (PC) +8 = 2002H+0008H= 200AHEA2= (PC) 9 =2002H+FFF7H= 1FF9H16. 某机主存容量为4M16位,且 存储字长等于指令字长,若该机指令 系统可完成108种操作,操作码位数固 定,且具有直接、间接、变址、基 址、相对、立即等

11、六种寻址方式,试 回答以下问题。(1)画出一地址指令格式并 指出各字段的作用。(2)该指令直接寻址的最大 范围。(3)一次间接寻址和多次间 接寻址的寻址范围。(4)立即数的范围(十进制 表示)。(5)相对寻址的位移量(十进 制表示)。(6)上述六种寻址方式的 指令中哪一种执行时间最短,哪一种 最长,为什么?哪一种便于程序浮动 ,哪一种最适合处理数组问题?(7)如何修改指令格式, 使指令的寻址范围可扩大到4M?(8)为使一条转移指令能 转移到主存的任一位置,可采取什么 措施?简要说明之。解:(1)单字长一地址指令格 式:7 3 6OP M A OP M A 各字段的作用:各字段的作用:OPOP操

12、作码操作码字段,提供至少字段,提供至少108108 种指令操作码;种指令操作码;MM寻址方式码寻址方式码字段,指出字段,指出6 6种种 寻址方式;寻址方式;AA形式地址形式地址字段,给出寻址所字段,给出寻址所 需的形式地址。需的形式地址。(2)A为6位,该指令直接寻址的 最大范围为26=64字;(3)一次间址的寻址范围为 216=64K字;多次间址的寻址范围为 215=32K字; (4)立即数的范围:若采用 补码表示为1FH20H;十进制表示为 31 -32;无符号数为063;(5)相对寻址的位移量范围 在采用补码表示时同立即数范围,为 31 -32;(6)六种寻址方式中,立即寻 址指令执行时

13、间最短,因为此时不需 寻址;间接寻址指令执行时间最长 ,因为寻址操作需访存一次到多次;相对寻址便于程序浮动,因 为此时操作数位置可随程序存储区的 变动而改变,总是相对于程序一段距 离;变址寻址最适合处理数组问 题,因为此时变址值可自动修改而不 需要修改程序。(7)为使指令寻址范围可扩大 到4M,需要有效地址22位,此时可 将单字长一地址指令的格式改为双字 长,如下图示:7 3 6OP M A OP M AA A16 16图中,指令的第一字图中,指令的第一字保持保持原来格原来格 式不变,形式地址式不变,形式地址A A扩展扩展到第到第2 2个字。个字。 这样,直接寻址时,这样,直接寻址时,EA=A

14、=16+6=EA=A=16+6=2222 位位,正好可访问,正好可访问4M4M地址空间。由于地址空间。由于A A 的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数 等寻址方式也扩展到等寻址方式也扩展到2222位。位。(8)如使一条转移指令能转移 到主存的任一位置,可采用上述双字 长一地址指令,通过选用合适的寻址 方式完成。(如选用直接寻址就可转 移到主存任一位置,但选用相对寻址 则只能在2M范围内转移。)除此之外,(7)、(8)两 题也可通过段寻址方式达到扩大寻址 空间的目的(此时不需修改指令格式 )。总之,不论采取何种方式,最终 得到的实际地址应是22位。方案二:(7)如果仍采用单字长指令 (16位)格式,为使指令寻址范围扩 大到4M,可通过段寻址方案实现。安 排如下:硬件设段寄存器DS(16位) ,用来存放段地址。在完成指令寻址 方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号