第3章-指令系统1.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 比如要求计算机做传送操作或运算操作(加减乘除),或做输入输出操作,或做转移操作, * 比如要求计算机做传送操作或运算操作(加减乘除),或做输入输出操作,或做转移操作, 操作码表示计算机执行什么操作,操作数指明参与操作的对象,或规定操作对象的地址(即操作对象的存放位置)。 如何寻找操作数(即操作对象),这就是指令的寻址方式,它是由指令编码格式指出的。 * 在一条机器指令中,通常操作码就是一个,比如加、减、与、或、传送、输入输出或者转移等,用相应的操作码来表明要完成哪一类操作,而地址码可能有一个或者几个,也可能没有地址码,使能这个操作给出多少个地址,这是由地址码来提供的,操作码和地址码都是由若干个二进制代码组成的,这样就涉及到一条指令到底安排多少位就是包含多少位二进制代码合适,当这条指令的字长确定之后,操作码和地址码有怎么来分配他们的位数? * * 定长指令格式:在一个指令系统中,所有指令的位数都相同,比如某一个机器他的指令系统有十几条指令,有些简单的传送,有些比较复杂,所有的指令都是16位,定长指令格式的位数相同控制起来比较方便。从存储器空间取出16位的话就是一条指令,就可以对他进行译码等就可以获得相应的控制命令,这样控制起来就比较简单,但是简单的指令没有多少信息也要占用16位的话,对于空间就是资源浪费, 变长指令格式:在指令系统中,复杂指令的位数安排的比较多,而简单指令的位数就可以少些,;这样对存储空间的利用就比较合理,就不用让简单指令占据多余的空间, 但是变长指令格式一般用一个字节作为一个基本的指令字长,简单指令安排一个字节就可以,复杂指令安排多个字节,这样对控制就比较复杂,因为要说明这个指令到底是多长?从存储器取多少个字节才是一个完整的指令,所以控制起来要复杂一些, 现代计算机多采用变长指令格式,主要是合理的利用存储空间, 但指令格式确定之后,不管是定长指令格式还是变长指令格式,就要考虑如何组织指令包含的两个基本的信息就是操作码和地址码,下面讨论操作码的格式 * * 优点:这种格式的主要优点是直观,下条指令的地址明显。但是缺点是指令的长度太长,如果每个地址为16位,整个地址码字段就要长达64位,所以这种格式是不切实际的。 * * * * * 拥有较好的工作条件,能满足规模培养硕士研究生、博士研究生及博士后进站人员的学习、研究之需 * 操作码结构 固定长度操作码:操作码长度(占二进制位数)固定不变。 硬件设计简单 指令译码时间开销较小 指令空间效率较低 可变长度操作码:操作码长度随指令地址数目的不同而不同。 硬件设计相对复杂 指令译码时间开销教大 指令空间利用率较高 * 3.1.2 地址码结构 计算机执行一条指令所需要的全部信息都必须包含在指令中,对于一般的双操作数运算类指令,除去操作码(Operation Code)之外,还应包含以下信息: 第一操作数地址,用A1表示; 第二操作数地址,用A2表示; 操作结果存放地址,用A3表示; 下条将要执行指令的地址,用A4表示。 这些信息可以在指令中明显的给出,称为显地址;也可以依照某种事先的约定,用隐含的方式给出,称为隐地址。 * 1.四地址结构指令 功能:(A1)OP(A2)→A3 A4表示下条将要执行指令的地址 其中: Ai表示地址,(Ai)表示存放于该地址中的内容。 OP A1 A2 A3 A4 操作数地址 结果地址 下条指令地址 OP (operation code)在计算机组成原理中代表“操作码”。 优点:直观,下一条指令的地址明显。 缺点:指令的长度太长,如果每个地址16位,整个地址码字段 就要长达64位。 * 2.三地址指令 功能: (A1)OP(A2)→A3 (PC)+1→PC(隐含) 指令中给出三个地址,其中两个指明参与操作的源操作数,另一个表示操作结果的存放地址。 执行一条三地址的双操作数运算指令需要访问4次主存。第一次取指令本身,第二次取第一操作数,第三次取第二次操作数,第四次保存运算结果。 OP A1 A2 A3 操作数地址 结果地址 下条指令地址 转移时,用转移 地址修改PC内容。 * 3.二地址指令 功能:(A1)OP(A2)→A1 (PC)+1→PC(隐含) 其中:A1为目的操作数地址,A2为源操作数地址。 指令中给出两个地址,分别指出参与操作的两个源操作数,而其中有一个又表示操作结果的存放地址。 执行一条二地址的双操作数运算指令同样需要访问4次主存。 OP A1 A2 目的 源 如ADD、XOR等指令 * 4.一地址指令 功能:执行一条一地

文档评论(0)

yyons2019 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档