ch5.寻址技术和指令系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch5.寻址技术和指令系统

基本概念 程序:由一系列有序的指令构成; 指令:执行某种基本操作的命令,它是由一组二进制代码表示,指示计算机硬件完成指定的基本操作; 指令系统:一台计算机的所有指令的集合; 指令系统是软件和硬件的主要界面 程序员所能看到的机器的主要属性; 表明计算机具有哪些最基本的硬件功能; 5.1 指令 指令的基本格式: 操作码字段 操作数地址字段 操作码OP用于说明该指令操作的性质及功能。 地址码Addr用来描述该指令的操作对象,由它给出操作数地址或给出操作数,及操作结果存放地址。 5.1 指令 指令格式设计的准则: 在满足操作种类、寻址范围和寻址方式的前提下,指令尽可能短。这是指令功能完备性与有效性的统一。 指令长度应为字节的整数倍。这样可以充分利用存储空间,并增加访问内存的有效性,这是指令格式设计中规整性的体现。 指令系统的兼容。兼容性的概念就是指老型号机器上所有可以运行的软件都可以不加任何修改的在新机器上运行。 5.1 指令 指令长度=操作码的长度+操作数地址的长度 操作码长度n位与操作种类N种之间的关系 N≤2n 操作码长度越长,操作种类就越多,指令的条数也越多 地址码长度越长,寻址空间越大,操作数寻址方式越多 显然在固定指令长度的计算机里,这两者是一个矛盾。 5.1.1 指令中的地址码格式 地址码字段的内容 操作数的地址,用以指明操作数的存放处; 操作结果的地址,用以运算结果的存放。 后继指令的地址,从完备性的角度来考虑,指令中应当有一个地址字段指出下一条指令地址,以便程序能够连续运行。由于程序大多是顺序执行的 ,因此我们可以硬件上设定一个程序计数器PC(Program Counter)专门存放当前要执行的指令地址,每取出一条指令后,PC自增以指明后继指令地址。当需要改变程序执行顺序时,可由转移类指令实现。 5.1.1 指令中的地址码格式 指令格式按地址码个数分类 三地址指令格式 OP表示操作码,A1、A2、A3分别表示操作数1的地址和操作数2的地址以及结果存放地址,A1、A2和A3可以是主存单元地址或者寄存器地址。 指令意义:(A1)OP(A2)→(A3) 其中(Ai)是表示AI中的内容,符号“→”表示“做为”。 即该指令的意义是讲以A1、A2为地址的两个操作数——(A1)和(A2)进行由OP所指定的操作,并将操作的结果做为A3的内容(或存入地址A3中)。 5.1.1 指令中的地址码格式 二地址指令格式 指令意义:(A1)OP(A2)→(A1) 即该指令的意义是讲以A1、A2为地址的两个操作数——(A1)和(A2)进行由OP所指定的操作,并将操作的结果做为A1的内容(或存入地址A1中)。因此,常称A1为目的操作数地址Ad,称A2为源操作数地址As。 5.1.1 指令中的地址码格式 一地址指令格式 指令中只给出一个操作数地址A,对于需要有两个操作数的指令,另一个操作数采用“隐含”方式。也就是说指令中看不出,实际操作时确实存在,其目的是减少指令的长度。这个隐含的操作单元每次操作都是必然的操作对象,同时也是存放运算结果的必然场所,称为累加器AC(Acumulator)。 指令意义:(AC)OP(A)→(AC) 也有可能只有一个操作数,比如求补,求反等操作。 指令意义:OP(A)→(A) 5.1.1 指令中的地址码格式 零地址指令 指令中只有操作码,不含操作数。对于需要有操作对象的指令所需要操作数采用隐含指定。例如堆栈指令PUSH,POP 5.1.2 指令中的操作码格式 操作码是用来指示机器执行什么样的操作。 操作码的编码方式: 定长操作码,变长指令码 操作码的长度固定,且集中放在指令字的第一个字段中,指令的其余部分全部用于地址码。由于操作码不同所涉及的操作数的个数是不同的,使得指令的长度随操作码而变化。 特点:这种方式的操作码字段规整,有利于简化操作码译码器的设计,广泛用于指令字长较长的计算机中。 5.1.2 指令中的操作码格式 变长操作码,定长指令码 这是操作码长度不固定,但指令码长度固定的一种设计。由于不同指令需要的操作数个数不同,为了有效地利用每一个二进制位,采用扩展操作码的方式,即操作码和地址码位数不固定,操作码位数随地址码数的减少而增加,对地址数少的指令允许操作码长些,对地址数多的指令则操作码就短些。 使用操作码扩展技术的另一种考虑是霍夫曼原理,即根据使用频度(指在程序中出现的概率)分配操作码。使用频度高的指令应分配短的操作码;使用

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档