下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 指令系统-7

指令系统-7.ppt

指令系统-7

187*****053@sina.cn
2014-01-06 0人阅读 举报 0 0 暂无简介

简介:本文档为《指令系统-7ppt》,可适用于IT/计算机领域

指令系统指令系统第七章某指令系统字长为位地址码取位试提出一种方案使该指令系统有条三地址指令、条二地址指令、条一地址指令。解:三地址指令格式如下:某指令系统字长为位地址码取位试提出一种方案使该指令系统有条三地址指令、条二地址指令、条一地址指令。解:三地址指令格式如下:解题思路:以三地址指令格式为该指令系统的基本格式。以此格式为基础采用扩展操作码技术设计出题意所要求的地址码结构的指令。指令操作码分配方案如下:位OP……AAA条三地址指令…………AA条二地址指令………………A条一地址指令………………冗余编码可用来扩充一、零地址指令条数……冗余编码可用来扩充三、二、一、零地址指令条数位OP……AAA条三地址指令…………AA条二地址指令………………A条一地址指令………………冗余编码可用来扩充一、零地址指令条数……冗余编码可用来扩充三、二、一、零地址指令条数指令操作码分配方案设指令字长为位采用扩展操作码技术每个操作数的地址为位。如果定义了条二地址指令试问还可安排多少条一地址指令?解:二地址指令格式如下:设指令字长为位采用扩展操作码技术每个操作数的地址为位。如果定义了条二地址指令试问还可安排多少条一地址指令?解:二地址指令格式如下:设二地址指令格式为该指令系统的基本格式位操作码共有种编码其中种用来定义二地址指令还剩种可用作扩展标志。如不考虑零地址指令该指令系统最多还能安排:一地址指令条数=×=条某机指令字长位每个操作数的地址码为位设操作码长度固定指令分为零地址、一地址和二地址三种格式。若零地址指令有M种一地址指令有N种则二地址指令最多有几种?若操作码位数可变则二地址指令最多允许有几种?解:)若采用定长操作码时二地址指令格式如下:某机指令字长位每个操作数的地址码为位设操作码长度固定指令分为零地址、一地址和二地址三种格式。若零地址指令有M种一地址指令有N种则二地址指令最多有几种?若操作码位数可变则二地址指令最多允许有几种?解:)若采用定长操作码时二地址指令格式如下:此时无论指令中有几个地址指令格式都不变。设二地址指令有K种则:K=MN当M=(最小值)N=(最小值)时二地址指令最多有:Kmax==种)若采用变长操作码时二地址指令格式仍如)所示但操作码长度可随地址码的个数而变。此时K=(NM)(NM向上取整)当(NM)时K最大则二地址指令最多有:Kmax==种(只留一种编码作扩展标志用。)设二地址指令有K种则:K=MN当M=(最小值)N=(最小值)时二地址指令最多有:Kmax==种)若采用变长操作码时二地址指令格式仍如)所示但操作码长度可随地址码的个数而变。此时K=(NM)(NM向上取整)当(NM)时K最大则二地址指令最多有:Kmax==种(只留一种编码作扩展标志用。)讨论:此时一地址指令条数为:N=(K)×M(M向上取整)。零地址指令条数为:M=KN当K最大时(K=)一地址指令最多有:Nmax==种零地址指令最多有:Mmax=种注意:应首先根据题意画出指令基本格式。讨论:此时一地址指令条数为:N=(K)×M(M向上取整)。零地址指令条数为:M=KN当K最大时(K=)一地址指令最多有:Nmax==种零地址指令最多有:Mmax=种注意:应首先根据题意画出指令基本格式。试比较基址寻址和变址寻址。解:比较如下:)都可有效地扩大指令寻址范围。)基址寻址时基准地址由基址寄存器给出地址的改变反映在位移量A的取值上变址寻址时基准地址由A给出地址的改变反映在变址值的自动修改上变址值由变址寄存器给出。)基址寄存器内容通常由系统程序设定变址寄存器内容通常由用户设定。)基址寻址适用于程序的动态重定位变址寻址适用于数组或字符串处理适用场合不同。试比较基址寻址和变址寻址。解:比较如下:)都可有效地扩大指令寻址范围。)基址寻址时基准地址由基址寄存器给出地址的改变反映在位移量A的取值上变址寻址时基准地址由A给出地址的改变反映在变址值的自动修改上变址值由变址寄存器给出。)基址寄存器内容通常由系统程序设定变址寄存器内容通常由用户设定。)基址寻址适用于程序的动态重定位变址寻址适用于数组或字符串处理适用场合不同。画出先变址再间址及先间址再变址的寻址过程示意图。解:)先变址再间址寻址过程简单示意如下:EA=(IX)A(IX)IX画出先变址再间址及先间址再变址的寻址过程示意图。解:)先变址再间址寻址过程简单示意如下:EA=(IX)A(IX)IXIXIR主存IX:变址寄存器既可是专用寄存器也可是通用寄存器之一。设一重间接)先间址再变址寻址过程简单示意如下:EA=(IX)(A)(IX)IX)先间址再变址寻址过程简单示意如下:EA=(IX)(A)(IX)IXIXIREA操作数主存IX:变址寄存器既可是专用寄存器也可是通用寄存器之一。设一重间接注意:)英文缩写EA表示有效地址不能乱用。)示意图中应标明EA(有效地址)的位置。注意:)英文缩写EA表示有效地址不能乱用。)示意图中应标明EA(有效地址)的位置。画出“SUBR”指令对操作数的寻址及减法过程的流程图。设被减数和结果存于ACC中表示间接寻址R寄存器的内容为H。解:SUBR指令寻址及减法过程的流程图:画出“SUBR”指令对操作数的寻址及减法过程的流程图。设被减数和结果存于ACC中表示间接寻址R寄存器的内容为H。解:SUBR指令寻址及减法过程的流程图:取指令(省)寻址操作:寄存器间址EA=(R)=HEAMAR读M(EA)MDR(ACC)(MDR)ACCAA(公操作)注:在没有指定数据通路的情况下此流程只是一个粗略的示意。画出执行“ADD*”指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果存于ACC中并假设(PC)=H。解:由于本题未指定数据通路结构因此只能大概地排一下信息流程图并且流程图中突出寻址过程的实现。ADD*指令信息流程图如下:画出执行“ADD*”指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果存于ACC中并假设(PC)=H。解:由于本题未指定数据通路结构因此只能大概地排一下信息流程图并且流程图中突出寻址过程的实现。ADD*指令信息流程图如下:取指令(省)寻址计算:EA=(PC)=HFFFBH=FFBHEAMAR读M(EA)MDR(ACC)(MDR)ACCAA(公操作)设相对寻址的转移指令占两个字节第一个字节是操作码第二个字节是相对位移量用补码表示。假设当前转移指令第一字节所在的地址为H且CPU每取出一个字节便自动完成(PC)PC的操作。试问当执行“JMP*”和“JMP*”指令时转移指令第二字节的内容各为多少?解:据题意相对寻址的转移指令格式如下:设相对寻址的转移指令占两个字节第一个字节是操作码第二个字节是相对位移量用补码表示。假设当前转移指令第一字节所在的地址为H且CPU每取出一个字节便自动完成(PC)PC的操作。试问当执行“JMP*”和“JMP*”指令时转移指令第二字节的内容各为多少?解:据题意相对寻址的转移指令格式如下:HHH当执行JMP指令时指令第二字节的内容不变PC的内容变为H。此时转移指令第二字节内容各为:A===HA===FH其有效地址各为:EA=(PC)=HH=AHEA=(PC)–=HFFFH=FFH当执行JMP指令时指令第二字节的内容不变PC的内容变为H。此时转移指令第二字节内容各为:A===HA===FH其有效地址各为:EA=(PC)=HH=AHEA=(PC)–=HFFFH=FFH某机主存容量为M位且存储字长等于指令字长若该机指令系统可完成种操作操作码位数固定且具有直接、间接、变址、基址、相对、立即等六种寻址方式试回答以下问题。()画出一地址指令格式并指出各字段的作用。()该指令直接寻址的最大范围。()一次间接寻址和多次间接寻址的寻址范围。()立即数的范围(十进制表示)。某机主存容量为M位且存储字长等于指令字长若该机指令系统可完成种操作操作码位数固定且具有直接、间接、变址、基址、相对、立即等六种寻址方式试回答以下问题。()画出一地址指令格式并指出各字段的作用。()该指令直接寻址的最大范围。()一次间接寻址和多次间接寻址的寻址范围。()立即数的范围(十进制表示)。()相对寻址的位移量(十进制表示)。()上述六种寻址方式的指令中哪一种执行时间最短哪一种最长为什么?哪一种便于程序浮动哪一种最适合处理数组问题?()如何修改指令格式使指令的寻址范围可扩大到M?()为使一条转移指令能转移到主存的任一位置可采取什么措施?简要说明之。()相对寻址的位移量(十进制表示)。()上述六种寻址方式的指令中哪一种执行时间最短哪一种最长为什么?哪一种便于程序浮动哪一种最适合处理数组问题?()如何修改指令格式使指令的寻址范围可扩大到M?()为使一条转移指令能转移到主存的任一位置可采取什么措施?简要说明之。解:()单字长一地址指令格式:解:()单字长一地址指令格式:OPMA各字段的作用:OP操作码字段提供至少种指令操作码M寻址方式码字段指出种寻址方式A形式地址字段给出寻址所需的形式地址。()A为位该指令直接寻址的最大范围为=字()一次间址的寻址范围为=K字多次间址的寻址范围为=K字()立即数的范围:若采用补码表示为FH~H十进制表示为~无符号数为~()相对寻址的位移量范围在采用补码表示时同立即数范围为~()A为位该指令直接寻址的最大范围为=字()一次间址的寻址范围为=K字多次间址的寻址范围为=K字()立即数的范围:若采用补码表示为FH~H十进制表示为~无符号数为~()相对寻址的位移量范围在采用补码表示时同立即数范围为~()六种寻址方式中立即寻址指令执行时间最短因为此时不需寻址间接寻址指令执行时间最长因为寻址操作需访存一次到多次相对寻址便于程序浮动因为此时操作数位置可随程序存储区的变动而改变总是相对于程序一段距离变址寻址最适合处理数组问题因为此时变址值可自动修改而不需要修改程序。()六种寻址方式中立即寻址指令执行时间最短因为此时不需寻址间接寻址指令执行时间最长因为寻址操作需访存一次到多次相对寻址便于程序浮动因为此时操作数位置可随程序存储区的变动而改变总是相对于程序一段距离变址寻址最适合处理数组问题因为此时变址值可自动修改而不需要修改程序。()为使指令寻址范围可扩大到M需要有效地址位此时可将单字长一地址指令的格式改为双字长如下图示:()为使指令寻址范围可扩大到M需要有效地址位此时可将单字长一地址指令的格式改为双字长如下图示:OPMAA图中指令的第一字保持原来格式不变形式地址A扩展到第个字。这样直接寻址时EA=A==位正好可访问M地址空间。由于A的扩展变址、基址、相对、立即数等寻址方式也扩展到位。()如使一条转移指令能转移到主存的任一位置可采用上述双字长一地址指令通过选用合适的寻址方式完成。(如选用直接寻址就可转移到主存任一位置但选用相对寻址则只能在±M范围内转移。)除此之外()、()两题也可通过段寻址方式达到扩大寻址空间的目的(此时不需修改指令格式)。总之不论采取何种方式最终得到的实际地址应是位。()如使一条转移指令能转移到主存的任一位置可采用上述双字长一地址指令通过选用合适的寻址方式完成。(如选用直接寻址就可转移到主存任一位置但选用相对寻址则只能在±M范围内转移。)除此之外()、()两题也可通过段寻址方式达到扩大寻址空间的目的(此时不需修改指令格式)。总之不论采取何种方式最终得到的实际地址应是位。方案二:()如果仍采用单字长指令(位)格式为使指令寻址范围扩大到M可通过段寻址方案实现。安排如下:硬件设段寄存器DS(位)用来存放段地址。在完成指令寻址方式所规定的寻址操作后得有效地址EA(位)再由硬件自动完成段寻址最后得位物理地址。物理地址=(DS)EA注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、EA产生之后由硬件自动完成对用户是透明的。方案二:()如果仍采用单字长指令(位)格式为使指令寻址范围扩大到M可通过段寻址方案实现。安排如下:硬件设段寄存器DS(位)用来存放段地址。在完成指令寻址方式所规定的寻址操作后得有效地址EA(位)再由硬件自动完成段寻址最后得位物理地址。物理地址=(DS)EA注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、EA产生之后由硬件自动完成对用户是透明的。方案三:()在采用单字长指令(位)格式时还可通过页面寻址方案使指令寻址范围扩大到M。安排如下:硬件设页面寄存器PR(位)用来存放页面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到M时编程选择页面寻址方式则:EA=(PR)‖A(有效地址=页面地址“拼接”位形式地址)这样得到位有效地址。方案三:()在采用单字长指令(位)格式时还可通过页面寻址方案使指令寻址范围扩大到M。安排如下:硬件设页面寄存器PR(位)用来存放页面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到M时编程选择页面寻址方式则:EA=(PR)‖A(有效地址=页面地址“拼接”位形式地址)这样得到位有效地址。通过基址寻址与段寻址获得实际地址的区别:)基址寻址的基地址一般比较长(存储器地址位数)位移量比较短(=形式地址位数)相加后得到的有效地址长度=基地址长度。此时主存不分段。实际地址=有效地址=基地址位移量段寻址是基址寻址的一种变种当基地址短于存储地址时基址寻址就变成了段寻址基地址就叫做段地址此时主存分段。实际地址=段地址偏移量段内位移量(有效地址)通过基址寻址与段寻址获得实际地址的区别:)基址寻址的基地址一般比较长(存储器地址位数)位移量比较短(=形式地址位数)相加后得到的有效地址长度=基地址长度。此时主存不分段。实际地址=有效地址=基地址位移量段寻址是基址寻址的一种变种当基地址短于存储地址时基址寻址就变成了段寻址基地址就叫做段地址此时主存分段。实际地址=段地址偏移量段内位移量(有效地址))基址寻址一般在机器字长存储地址长度的机器中可直接通过寻址计算获得实际地址。在机器字长存储地址长度的机器中由于CPU内部数据通路的限制编程指定的任何一种寻址计算得到的有效地址长度都等于机器字长为获得更长的地址字硬件自动通过段寻址计算出存储器实际地址。此时除ALU之外硬件还要增设专用的地址加法器。相关问题:*一般:机器字长=存储字长*CPU中所有寄存器(包括基址寄存器)的位数=机器字长)基址寻址一般在机器字长存储地址长度的机器中可直接通过寻址计算获得实际地址。在机器字长存储地址长度的机器中由于CPU内部数据通路的限制编程指定的任何一种寻址计算得到的有效地址长度都等于机器字长为获得更长的地址字硬件自动通过段寻址计算出存储器实际地址。此时除ALU之外硬件还要增设专用的地址加法器。相关问题:*一般:机器字长=存储字长*CPU中所有寄存器(包括基址寄存器)的位数=机器字长*通常:指令字长不一定等于机器字长。早期的小型机由于字长较短指令常以机器字长为单位变化(几字长指令如PDP机)目前以字节长为单位变化(几字节指令)的较多。习题中指令字长=机器字长的假设只是为简单起见*当设指令字长=存储字长(=机器字长)时如用立即寻址由于立即数由形式地址直接给出而形式地址的位数肯定不足一个字长因此立即寻址非常适用于编程给出短常数的场合。提示:寻址方式的正确选择与编程技巧有关。*通常:指令字长不一定等于机器字长。早期的小型机由于字长较短指令常以机器字长为单位变化(几字长指令如PDP机)目前以字节长为单位变化(几字节指令)的较多。习题中指令字长=机器字长的假设只是为简单起见*当设指令字长=存储字长(=机器字长)时如用立即寻址由于立即数由形式地址直接给出而形式地址的位数肯定不足一个字长因此立即寻址非常适用于编程给出短常数的场合。提示:寻址方式的正确选择与编程技巧有关。举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的执行阶段只需访问一次存储器?完成什么样的指令包括取指令在内共访问存储器次?解:举例如下:)一地址指令在执行阶段不访存的寻址方式有:寄存器寻址、立即寻址。)一地址指令在执行阶段只访存一次的寻址方式有:寄存器间接寻址、直接寻址、基址寻址、变址寻址、相对寻址、页面寻址。举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的执行阶段只需访问一次存储器?完成什么样的指令包括取指令在内共访问存储器次?解:举例如下:)一地址指令在执行阶段不访存的寻址方式有:寄存器寻址、立即寻址。)一地址指令在执行阶段只访存一次的寻址方式有:寄存器间接寻址、直接寻址、基址寻址、变址寻址、相对寻址、页面寻址。)包括取指在内共访存四次的指令有:二重间址的一地址指令一重间址的二地址指令当另一操作数采用直接、基址、变址、相对、页面、寄存器间接寻址时。)包括取指在内共访存四次的指令有:二重间址的一地址指令一重间址的二地址指令当另一操作数采用直接、基址、变址、相对、页面、寄存器间接寻址时。CPU内有个位的通用寄存器设计一种能容纳种操作的指令系统。假设指令字长等于机器字长试回答以下问题。()如果主存可直接或间接寻址采用“寄存器存储器”型指令能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。()在满足()的前提下如果采用通用寄存器作基址寄存器则上述“寄存器存储器”型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?CPU内有个位的通用寄存器设计一种能容纳种操作的指令系统。假设指令字长等于机器字长试回答以下问题。()如果主存可直接或间接寻址采用“寄存器存储器”型指令能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。()在满足()的前提下如果采用通用寄存器作基址寄存器则上述“寄存器存储器”型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?解:()如采用RS型指令则此指令一定是二地址以上的地址格式指令格式如下:解:()如采用RS型指令则此指令一定是二地址以上的地址格式指令格式如下:OPRiIA操作码寄存器号间接形式地址标志直接寻址的最大空间==M字此指令格式的设计有较大的发挥余地为简化设计在此采用紧贴题意的答题方式即只按题意要求的因素设计不考虑扩展因素。()如采用基址寻址则指令格式中应给出基址寄存器号以指定哪一个通用寄存器用作基址寄存器。指令格式变为:()如采用基址寻址则指令格式中应给出基址寄存器号以指定哪一个通用寄存器用作基址寄存器。指令格式变为:OPRiIBBRiA其中:B可省(B为基址寻址标志)BRi为基址寄存器号。基址寻址时:寻址的最大空间==G字其寻址范围仅与基址位数有关与形式地址位数无关。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/32

指令系统-7

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利