第三章指令系統.docxVIP

  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文档。上传文档
查看更多
第三章指令系統

第三章 指令系统指令和指令系统是计算机中最基本的概念。指令是指示计算机执行某些操作的命令,一台计算机的所有指令的集合构成该机的指令系统,也称指令集。指令系统是计算机的主要属性,位于硬件和软件的交界面上。本章将讨论一般计算机的指令系统所涉及的基本问题。3.1.1 机器指令的基本格式一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。指令的基本格式如下: 操作码:指明操作的性质及功能地址码:指明操作数的地址,特殊情况下也可能直接给出操作数本身。指令的长度是指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。指令长度应:(1)尽可能短(2)等于字节的整数倍指令长度可以等于机器字长,也可以大于或小于机器字长。在一个指令系统中,若所有指令的长度都是相等的,称为定长指令字结构;若各种指令的长度随指令功能而异,称为变长指令字结构3.1.2 地址码结构一条双操作数指令的除操作码之外,还应包含以下信息:第一操作数地址,用A1表示;第二操作数地址,用A2表示;操作结果存放地址,用A3表示;下条将要执行指令的地址,用A4表示。这些信息可以在指令中明显的给出,称为显地址;也可以依照某种事先的约定,用隐含的方式给出,称为隐地址。下面以双操作数指令为例讨论地址码结构1.四地址指令OPA1A2A3A4(A1)OP(A2)→A3A4=下条将要执行指令的地址2.三地址指令(A1)OP(A2)→A3(PC)+1=下条将要执行指令的地址,执行一条三地址指令需4次访问主存。3.二地址指令(A1)OP(A2) A1(PC)+1=下条将要执行指令的地址,A1中原存内容在指令执行后被破坏。4.一地址指令(ACC)OP(A1) ACC(PC)+1=下条将要执行指令的地址, 执行一条一地址指令需2次访问主存5.零地址指令操作数地址是隐含的。参加运算的操作数放在堆栈中,运算结果也放在堆栈中。有关堆栈的概念将在稍后讨论。指令中地址个数的选取要考虑诸多的因素。从缩短程序长度,用户使用方便,增加操作并行度等方面来看,选用三地址指令格式较好;从缩短指令长度,减少访存次数,简化硬件设计等方面来看,一地址指令格式较好。对于同一个问题,用三地址指令编写的程序最短,但指令长度最长,而用二、一、零地址指令来编写程序,程序的长度一个比一个长,但指令的长度一个比一个短。3.1.3 指令的操作码指令系统中的每一条指令都有一个唯一确定的操作码,指令不同,其操作码的编码也不同。为了能表示整个指令系统中的全部指令,指令的操作码字段应当具有足够的位数。指令操作码的编码可以分为规整型和非规整型两类:规整型(定长编码)非规整型(变长编码) 1.规整型操作码字段的位数和位置是固定的。假定:指令系统共有m条指令,指令中操作码字段的位数为N位,则有如下关系式: N≥log2 mIBM 370机(字长32位)的指令可分为三种不同的长度形式:半字长指令、单字长指令和一个半字长指令。不论指令的长度为多少位,其中操作码字段一律都是8位,8位操作码字段允许容纳256条指令,实际上在IBM 370机中仅有183条指令。定长编码对于简化硬件设计,减少指令译码的时间是非常有利的,但存在着信息冗余。 2.非规整型操作码字段的位数不固定,且分散地放在指令字的不同位置上。PDP-11机(字长16位)的指令分为单字长、两字长、三字长三种,操作码字段占4~16位不等,可遍及整个指令长度。操作码字段的位数和位置不固定将增加指令译码和分析的难度,使控制器的设计复杂化。 最常用的非规整型编码方式是扩展操作码法:让操作数地址个数多的指令(如三地址指令)的操作码字段短些,操作数地址个数少的指令(如一或零地址指令)的操作码字段长些。例如:设某机的指令长度为16位,操作码字段为4位,有三个4位的地址码字段,其格式为:如果按照定长编码的方法,4位操作码字段最多只能表示16条不同的三地址指令寻址,指的是寻找操作数的地址或下一条将要执行的指令地址。寻址技术包括编址方式和寻址方式。3.2.1 编址方式1. 编址通常,指令中的地址码字段将指出操作数的来源和去向,而操作数则存放在相应的存储设备中。在计算机中需要编址的设备主要有CPU中的通用寄存器、主存储器和输入输出设备等3种。2. 编址单位(1)字编址编址单位=访问单位,每个编址单位所包含的信息量(二进制位数)与读或写一次寄存器、主存所获得的信息量是相同的。早期的大多数机器都采用这种编址方式。(2)字节编址字节编址是为了适应非数值计算的需要。字节编址方式使编址单位与信息的基本单位(一个字节)相一致,这是它的最大优点。然而,如果主存的访问单位也是一个字节的话,那么主存的频带就太窄了。编址单位<访问单位通常主存的访问单位是编址单位的若干倍。(3)位编址也有部分计算机系统

文档评论(0)

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

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

1亿VIP精品文档

相关文档