计算机组成原理电子教案马辉 第5章.ppt

计算机组成原理电子教案马辉 第5章.ppt

  1. 1、本文档共160页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 指令系统 本章导读 指令是计算机软硬件的接口,对机器的性能及硬件结构影响非常大。本章首先介绍指令的基本格式,讨论操作码的定长与扩展两种设计方法;然后介绍并举例说明计算机中一般需设置的指令类型与操作数类型。 本章导读 接着对常见的寻址方式进行介绍,内容包括指令寻址与数据寻址两大部分。最后从指令系统的发展情况引入介绍CISC与RISC的技术特点,并通过具体的例子,说明指令设计时需考虑的一些因素和CISC机器与RISC机器的指令系统格式特点。 本章要点 指令的基本格式 定长操作码指令格式 扩展操作码指令格式 有效地址的概念 数据寻址和指令寻址 常见寻址方式 CISC与RISC的基本概念 5.1 指令格式 5.1.1 指令的基本格式 5.1.2 定长操作码与扩展操作码 5.1.3 指令字长 指令是指挥计算机工作的命令,是计算机软件与硬件的接口。计算机的性能好坏与它所设置的指令系统有很大关系,而指令系统的设置又与机器的硬件结构密切相关。通常性能较好的计算机都设置有功能齐全、通用性强、类型丰富的指令系统,但这需要复杂的硬件结构来支持。 计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路、芯片、设备来实现机器指令系统的功能。计算机的使用者则是根据机器提供的指令系统,使用各种语言来编制各种程序。并能根据机器指令系统所描述的机器功能,可以清楚地了解计算机内部寄存器-存储器结构,以及计算机能直接支持的各种数据类型。 5.1.1 指令的基本格式 计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令通常包括下列基本信息: (1)操作码,具体说明了操作的性质及功能。每一条指令都有一个相应的唯一操作码。 (2)操作数的地址。机器通过该地址就可以找到所需的操作数。 (3)操作结果的存储地址。机器把对操作数的处理所产生的结果保存在该地址中,以便再次使用。 (4)下一条指令的地址。一般来说,当程序顺序执行时,下条指令的地址由程序计数器(PC)递增给出;仅当改变程序的运行顺序(如转移、调用子程序)时,需要由指令指明目的地址。 从上述分析可知,一条指令实际上包括两种基本信息,即操作码(operation code)和地址码(address)。其基本格式如图5-1所示。 地址码字段用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。这里的“地址”可以是主存的地址,也可以是寄存器的地址,甚至可以是I/O设备的地址。根据地址码部分所给出地址的个数,指令格式可分为如下几种。 (1)零地址指令 格式: 指令中只有操作码,而没有操作数或没有操作数地址。这种指令有两种可能:一是指令无需任何操作数。如空操作指令。一是所需的操作数是默认的。如堆栈结构计算机的运算指令,所需的操作数默认在堆栈中,由堆栈指针SP隐含指出,操作结果仍放回堆栈中。 (2)一地址指令 格式: A——操作数的存储器地址或寄存器名。 指令中只给出一个地址,该地址既是操作数的地址,又是操作结果的存储地址。如加1,减1和移位等操作均采用这种格式。它也可完成(ACC)OP(A)→ACC的操作,用累加器ACC既存放参加运算的操作数,又存放运算的结果。 (3)二地址指令 格式: 这是最常见的指令格式,它可完成(A1)OP(A2)→A1的操作,即A1字段既代表源操作数的地址,又代表存放本次运算结果的地址。有些机器也可表示(A1)OP(A2)→A2的操作。 在该格式中,根据操作数的物理位置,又可分为3类:RR型、RS型和SS型。 RR型:机器在执行这类指令时,需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器中。由于这类指令不需访问内存,所以执行速度很快。 RS型:执行这类指令时,既要访问内存单元,又要访问寄存器。 SS型:这种指令操作时存取数据都涉及到内存单元,即参与操作的数都放在内存中,因此这类指令需要多次访问内存,速度较慢。 (4)三地址指令 格式: 它可完成(A1)OP(A2)→A3的操作。 (5)多地址指令 这类指令较为少见,它可用于处理成批数据,如字符串处理指令,向量、矩阵运算指令等。为了描述一批数据,指令中需要多个地址来指出数据存放的首地址、长度和下标等信息。 在计算机中,指令和数据一样,都是以二进制编码的形式存储的,从表面来看,两者没有什么差别。但是,指令的地址是由程序计数器(PC)规定的,而数据的地址是由指令规定的,在CPU控制下访存操作绝对不会将指令和数据混淆。为了程序能重复执行,一般要求程序在运行前后所有的指令都保持不变,因此在程序执行过程中,要避免修改指令。 5.1.2 定长操作码与扩展操作码 操作码用来指明该指令所要完成的操作,如加法、减法、传送、移位等等。通常,其位数反映了机器

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档