收藏 分销(赏)

计算机组成原理第三章习题答案教案资料.ppt

上传人:精*** 文档编号:10280922 上传时间:2025-05-14 格式:PPT 页数:30 大小:253.50KB 下载积分:12 金币
下载 相关 举报
计算机组成原理第三章习题答案教案资料.ppt_第1页
第1页 / 共30页
计算机组成原理第三章习题答案教案资料.ppt_第2页
第2页 / 共30页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2008.10,*,计算机组成原理,北京理工大学计算机科学技术学院,计算机组成原理,计算机组成原理第三章习题答案,习题讲评,16位,OP,A,1,A,2,4位,6位,6位,16位,OP,A,1,10位,6位,16位,OP,双操作数指令K,无操作数指令L,设单操作数指令X,2008.10,北京理工大学计算机科学技术学院,习题讲评,(2,4,-K)2,6,-,X,2,6,=L,留给单地址的扩展窗口,留给无地址的扩展窗口,(2,4,-K),(2,4,-K)2,6,-X,X=,(2,4,-K)2,6,-,L,2,6,上述三类指令各自允许的最大指令条数,为:,双操作数:,2,4,-1,单操作数:,152,6,-1,(假设双操作数指令仅1条,为无操作数指令留出1个扩展窗口)。,2008.10,北京理工大学计算机科学技术学院,习题讲评,无操作数:,(,152,6,-1)2,6,(假设双操作数指令仅1条,单操作数指令留出1个扩展窗口),这样实现比较简单。,如果单操作数指令也仅取1条,则无操作数指令的数目还可以增多,但实现比较麻烦。具体的条数:,2,16,2,12,2,6,其中2,12,为表示某条二地址指令占用的编码数,2,6,为表示某条单地址指令占用的编码数。,2008.10,北京理工大学计算机科学技术学院,习题讲评,3-4 设某机为定长指令字结构,,指令长度12位,,,每个地址码占3位,,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。,12位,OP,A,1,A,2,A,3,若操作码采用定长编码方法,最多只能表示8条三地址指令,显然不能满足要求。故应采用变长编码方法(扩展操作码法)。,2008.10,北京理工大学计算机科学技术学院,习题讲评,12位,OP,A,1,A,2,A,3,OP,100 000 XXX YYY,100 111 XXX YYY,8条二地址指令,OP,A,1,A,2,A,1,OP,101 000 000 XXX,111 110 011,XXX,180条一地址指令,4条三地址指令,000 XXX YYY ZZZ,011 XXX YYY ZZZ,为二、一地址指令留下了100111四个扩展窗口,为一地址指令留下了101111三个扩展窗口,2008.10,北京理工大学计算机科学技术学院,习题讲评,101111三个扩展窗口可以扩展出192条一地址指令。,64,3=192,现只需要180条一地址指令,故最后12个操作码编码为非法操作码。,最后一个操作码编码,111 111 111,12个非法操作码,-1 100,最后一个指令的操作码编码,111 110 011,2008.10,北京理工大学计算机科学技术学院,习题讲评,3-10 某机,字长为16位,,,主存容量为64K字,,指令格式为,单字长单地址,,共有,64条指令,。试说明:,(1)若只采用直接寻址方式,指令能访问多少主存单元?,(2)为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?指令直接寻址的范围为多少?,2008.10,北京理工大学计算机科学技术学院,习题讲评,(3)采用页面寻址方式,若只增加一位Z/C(零页/现行页)标志,指令寻址范围为多少?指令直接寻址范围为多少?,(4)采用b、c两种方式结合,指令的寻址范围为多少?指令直接寻址范围为多少?,2008.10,北京理工大学计算机科学技术学院,习题讲评,因机器共64条指令,操作码占6位,其余部分为地址码或标志位。,(1)若只采用直接寻址方式,地址码部分为10位,指令能访问的主存单元数为,2,10,=1K字,。,16位,OP,A,6位,10位,(2)若采用直接/间接寻址方式,将增加了一位直接/间接标志,地址码部分为9位,指令直接寻址的范围为,2,9,=0.5K字,,指令可寻址范围为整个主存空间,2,16,=64K字,。,2008.10,北京理工大学计算机科学技术学院,习题讲评,(3)若采用页面寻址方式,将增加一位Z/C(零页/现行页)标志,所以指令直接寻址范围仍为,2,9,=0.5K字,,指令寻址范围仍为,2,16,=64K字,。,16位,OP,A,6位,10位,Z/C,(4)采用b、c两种方式结合,将需要和Z/C两个标志位,所以指令直接寻址范围为,2,8,=0.25K字,,指令的可寻址范围仍为,2,16,=64K字,。,Z/C,2008.10,北京理工大学计算机科学技术学院,习题讲评,3-13 计算下列四条指令的,有效地址,(,指令长度为16位,)。,(1)000000Q (2)100000Q,(3)170710Q (4)012305Q,假定:上述四条指令均用八进制书写;指令的最左边是一位间址指示位。(=0,直接寻址;=1,间接寻址),且具有多重间访功能;指令的最右边两位为形式地址;主存容量2,15,单元,下表为有关主存单元的内容(八进制):,2008.10,北京理工大学计算机科学技术学院,习题讲评,(1)000000Q,因为指令的最高位为0,故为直接寻址,EA=A。,指令中的形式地址为00Q,因主存容量为2,15,个单元,主存地址共15位,所以EA=,00000Q,。,地址,内容,00000,00001,00002,00003,00004,00005,00006,00007,00010,100002,046710,054304,100000,102543,100001,063215,077710,100005,00000,2008.10,北京理工大学计算机科学技术学院,习题讲评,(2),100000Q,因为指令的最高位为1,故指令为间接寻址。,(00000)=100002,最高位仍为1,继续间接寻址。,(00002)=054304,其最高位为0,表示已找到有效地址,EA=,54304Q,。,地址,内容,00000,00001,00002,00003,00004,00005,00006,00007,00010,100002,046710,054304,100000,102543,100001,063215,077710,100005,00000,00002,1,00002,0,54304,0,54304,2008.10,北京理工大学计算机科学技术学院,习题讲评,(3),170710Q,因为指令的最高位为1,故指令为间接寻址。,(00010)=100005,最高位仍为1,继续间接寻址。,(00005)=100001,最高位仍为1,继续间接寻址。,(00001)=046710,其最高位为0,表示已找到有效地址,EA=,46710Q,。,地址,内容,00000,00001,00002,00003,00004,00005,00006,00007,00010,100002,046710,054304,100000,102543,100001,063215,077710,100005,00010,00005,00001,1,00005,1,00001,0,46710,0,46710,2008.10,北京理工大学计算机科学技术学院,习题讲评,(4),012305Q,因为指令的最高位为0,故为直接寻址,EA=A。,指令中的形式地址为05Q,因主存容量为,2,15,个,单元,,地址主存共15位,所以EA=,00005Q,。,地址,内容,00000,00001,00002,00003,00004,00005,00006,00007,00010,100002,046710,054304,100000,102543,100001,063215,077710,100005,00005,2008.10,北京理工大学计算机科学技术学院,习题讲评,3-14 假定某机的指令格式如下:,OP,I,1,I,2,Z/C,A,11,10,9,8,7,6,5,0,其中:,Bit8=1:变址寄存器I,1,寻址;,Bit7=1:变址寄存器I,2,寻址;,Bit6(零页/现行页寻址):,Z/C=0,表示0页面;,Z/C=1,表示现行页面,即指令所在页面,2008.10,北京理工大学计算机科学技术学院,习题讲评,若主存容量为2,12,个存储单元,分为2,6,个页面,每个页面有2,6,个字。,设有关寄存器的内容为:,(PC)=0340Q(I,1,)=1111Q(I,2,)=0256Q,试计算下列指令的有效地址。,(1)1046Q (2)2433Q,(3)3215Q (4)1111Q,2008.10,北京理工大学计算机科学技术学院,习题讲评,(1)1046Q,将用八进制书写的指令变换成二进制。,1 0 4 6,0,01,000,100 110,因为四个标志位均为0,故为直接寻址。,EA=A=100110B=46Q,因主存容量为2,12,个存储单元,主存地址共12位,所以EA=,0046,Q,2008.10,北京理工大学计算机科学技术学院,习题讲评,(2)2433Q,将用八进制书写的指令变换成二进制。,2 4 3 3,0,10,100,011 011,因为,Bit8,(,I,1,),=1,故为变址寄存器1寻址。,EA=(,I,1,)+A=1111Q+33Q=,1144,Q,001 001 001 001,+011 011,001 001 100 100,2008.10,北京理工大学计算机科学技术学院,习题讲评,(3)3215Q,将用八进制书写的指令变换成二进制。,3 2 1 5,0,11,010,001 101,因为,Bit7(I,2,),=1,故为变址寄存器2寻址。,EA=(,I,2,)+A=0256Q+15Q=,0273,Q,000 010 101 110,+001 101,000 010 111 011,2008.10,北京理工大学计算机科学技术学院,习题讲评,(4)1111Q,将用八进制书写的指令变换成二进制。,1 1 1 1,0,01,001,001 001,因为,Bit6(Z/C),=1,故为当前页寻址。,EA=(,PC,),H,A=03Q,11Q=,0311,Q,000 011,001 001,000 011 001 001,2008.10,北京理工大学计算机科学技术学院,习题讲评,3-17 设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取一个字节便自动完成(PC)+1PC的操作。试问当执行JMP*+8和JMP*-9指令(*为相对寻址特征)时,转移指令第二字节的内容各为多少?,2008.10,北京理工大学计算机科学技术学院,习题讲评,转移指令第一字节所在的地址为2000H,指令执行过程中自动完成(PC)+22000H+2=2002H。当执行JMP*+8时,转移指令第二字节的内容为,08H,,转移地址为,200AH。,当执行JMP*-9指令时,转移指令第二字节的内容为,F7H,,转移地址为,1FF9H。,2008.10,北京理工大学计算机科学技术学院,习题讲评,3-21 在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一个字单元,然后从第二个字单元开始执行子程序,回答下列问题:,(1)为这种方法设计一条从子程序转到主程序的返回指令。,(2)在这种情况下,怎么在主、子程序间进行参数的传递?,(3)上述方法是否可用于子程序的嵌套?,2008.10,北京理工大学计算机科学技术学院,习题讲评,(4)上述方法是否可用于子程序的递归(即某个子程序自己调用自己)?,(5)如果改用堆栈方法,是否可实现d所提出的问题?,2008.10,北京理工大学计算机科学技术学院,习题讲评,(1)返回指令通常为零地址指令。返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序的第一个单元中,故此时返回指令不能再是零地址指令了,而应当是一地址指令。如,间接寻址可找到返回地址,然后无条件转移到返回的位置。,子程序首地址,OP,2008.10,北京理工大学计算机科学技术学院,习题讲评,主程序,子程序,CALL A,K,K+1,A,K+1,JMP A,CALL A,JMP A,返回地址,2008.10,北京理工大学计算机科学技术学院,习题讲评,(2)在这种情况下,,可利用,寄存器,或,主存单元,进行,主、子程序间的,参数,传递,。,(3),可,以,用于子程序的嵌套,(多重转子)。因为每个返回地址都放在调用的子程序的第一个单元中。,(4),不,可,以,用于子程序的递归,,因为当,某个子程序自己调用自己,时,第一个单元的内容将被破坏。,(5)如果改用堆栈方法,可,以,实现子程序的递归,,因堆栈具有后进先出的功能。,2008.10,北京理工大学计算机科学技术学院,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服