青岛科技大学计算机组成与系统结构Chapter 4.ppt

青岛科技大学计算机组成与系统结构Chapter 4.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 指令系统 第4章 指令系统 Chapter 4 Instruction System 4.1 指令格式 4.2 指令的寻址方式 4.3 指令系统设计举例 4.4 CISC和RISC的基本概念 本章学习要求 指令的基本格式、定长和扩展操作码指令格式 各种寻址方式的寻址执行过程 定长操作码指令系统的设计示例 CISC和RISC指令系统的思想及特点 指令系统的设计:指令类型(规模)、指令长度、操作码长度、寻址方式 一台计算机所有指令的集合称为该计算机的指令系统,不同类型的计算机由于结构的差别具有不同的指令系统。计算机的性能与其所设置的指令系统有很大关系,而指令系统又与计算机硬件结构密切相关,因此计算机指令系统的设计是计算机组成结构设计中一个非常重要的环节。 本章主要介绍指令的格式、指令的寻址方式、CISC和RISC的指令系统 4.1 指令格式 指令(Instruction):指示计算机执行某种操作的命令,它由一串二进制数码组成 。每条指令可以完成一个独立的算术运算或逻辑运算操作。 指令系统(Instruction Set):是一台计算机全部指令的集合,是计算机所有功能的体现。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适应范围 。 指令系统的改进是围绕着缩小指令与高级语言的语义差异以及有利于操作系统的优化而进行的。 4.1 指令格式 4.1.1 指令格式 计算机通过执行指令来处理各种数据。为了指出数据的来源、操作结果的去向及所执行的操作 。 一条指令一般包含下列信息: (1)操作码,说明操作的性质及功能 (2)操作数的地址,说明参与运算的数据来源 (3)操作结果的存储地址,说明操作结果存放何处 (4)下一条指令的地址,当遇到非顺序执行指令时,给出转移地址 4.1 指令格式 4.1.1 指令格式 在计算机内部,每条指令都表示一串二进制位,称为指令字。指令字划分为若干个域,分别对应指令的构成部分,指令字的结构称为指令格式 计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系 指令格式的设置一般遵循以下规则: (1)包含尽量多的信息; (2)长度尽可能与机器字长相匹配; (3)指令中包含尽量少的冗余信息。 4.1 指令格式 4.1.1 指令格式 指令由操作码和地址码两部分组成,其基本格式如图4-1所示 : 4.1 指令格式 4.1.1 指令格式 指令字长度 :指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。指令长度可以等于机器字长,也可以与机器字长不等 。 固定字长指令结构:指令系统中所有指令的长度都是一样的。优点是控制简单,实现方便。但占用地址空间较大,不够灵活 变长指令字结构 :各种指令的长度随指令的不同而有所不同 。变长指令字结构字长不确定,指令执行周期与指令功能有关系,往往不能在相同的周期内完成。优点是节省存储空间,指令系统灵活,被广泛应用于现代计算系统的设计中 4.1 指令格式 4.1.1 指令格式 操作码(Operation Code) :用来表示指令所要完成的操作,如加法、减法、传送、移位、转移等 。 每条指令都有不同于其它指令的操作码编码。操作码占用的二进制位数一般取决于计算机指令系统的规模,实际上也就是与指令的条数有关。 一般来讲,如果操作码固定,占m位,则该机器最多包含2m条指令 操作码的长度可以是固定的,也可以是变化的。相应的指令格式可分为定长操作码指令格式和扩展操作码指令格式两类 4.1 指令格式 4.1.1 指令格式 地址码(Address Code) :用来指出该指令的源操作数地址、结果地址以及下一条指令的地址。这里的“地址”可以是主存地址,也可以是寄存器地址或者I/O设备的地址 。 不是所有的指令都必须包含地址码,也不是所有指令的地址码段数都相同。根据指令中包含的地址码的段数,可以将指令分为零地址指令、一地址指令、二地址指令、三地址指令…… 根据地址码部分给出的地址个数分类: 1. 零地址指令 指令中只有操作码,而没有操作数或没有操作数地址。这种指令有两种可能: (1) 无需任何操作数。如空操作指令、停机指令等 (2) 操作数按照某种约定隐含,如堆栈类指令 2. 一地址指令 指令中只给出一个地址。一种是单操作数运算,如加1,减1,移位,取反等,该地址既是操作数的地址,又是操作结果存储地址。对这一地址所指定的操作数执行相应的操作后,产生的结果又存回该地址中。另一种情况是双操作数,另一个操作数必须存放在事先约定的专门的寄存器中 3. 二地址指令 这是最常见的指令格式,两个

文档评论(0)

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

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

1亿VIP精品文档

相关文档