网站大量收购独家精品文档,联系QQ:2885784924

第七章指令系统.docVIP

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

第七章 指令系统 本章主要介绍机器指令系统的分类、常见的寻址方式、指令格式以及设计指令系统时应考虑的各种因素。此外对RISC技术也作了简要的介绍。希望读者进一步体会指令系统与机器主要功能以及与硬件结构之间存在的密切关系。 7.1 机器指令 由第一章所知,计算机能解题是由于机器本身存在一种语言,它既能理解人的意图,又能被机器自身识别。机器语言是由一条条语句构成的,每一条语句又能准确表达某种语义。例如它可命令机器做某种操作,指出参与操作的数或其它信息在什么地方等等。计算机就是连续执行每一条机器语句而实现全自动工作的。人们习惯把每一条机器语言的语句叫机器指令,而又将全部机器指令的集合叫做机器的指令系统。因此机器的指令系统集中反映了机器的功能。 计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路、芯片、设备来实现机器指令系统的功能。计算机的使用者则是依据机器提供的指令系统,使用汇编语言来编制各种程序。计算机使用者根据机器指令系统所描述的机器功能,能很清楚地了解计算机内部寄存器-存储器的结构,以及计算机能直接支持的各种数据类型。 7.1.1 指令的一般格式 指令是由操作码和地址码两部分组成的,其基本格式如图7.1所示。 图7.1 指令的一般格式 1.操作码 操作码是用来指明该指令所要完成的操作,如加法、减法、传送、移位、转移等等。通常,其位数反映了机器的操作种类,也即机器允许的指令条数,如操作码占七位,则该机器最多包含27=128条指令。 操作码的长度可以是固定的,也可以是变化的。前者将操作码集中放在指令字的一个字段内,如图7.1所示。这种格式便于硬件设计,指令译码时间短,广泛用于字长较长的、大中型计算机和超级小型计算机以及RISC(Reduced Instruction Set Computer)中。如IBM370和VAX-11系列机,操作码长度均为8位。 操作码长度不固定的指令,其操作码分散在指令字的不同字段中。这种格式可有效地压缩操作码的平均长度,在字长较短的微机中被广泛采用。如PDP?11,Intel8086/80386等,操作码的长度是可变的。 操作码长度不固定会增加指令译码和分析的难度,使控制器的设计复杂。通常采用扩展操作码技术,使操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。图7.2是一种扩展操作码的安排示意。 图7.2 一种扩展操作码的安排示意 图中指令字长为16位,其中4位为基本操作码字段OP,另有三个4位长的地址字段为A1、A2、A3。4位基本操作码若全部用于三地址指令,则有16条。图中所示是三地址指令15条,二地址指令15条,一地址指令15条,零地址指令16条,共61条。 除了这种安排以外,还有其它多种扩展方法,如形成15条三地址指令,12条二地址指令,31条一地址指令和16条零地址指令,共74条指令,读者可自行安排。 在设计操作码不固定的指令系统时,应尽量考虑安排指令使用频度(即指令在程序中出现的概率)高的指令占用短的操作码,对使用频度低的指令可占用较长的操作码,这样可以缩短经常使用的指令的译码时间。当然,考虑操作码长度时也应考虑地址码的要求。 2.地址码 地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。这里的“地址”可以是主存的地址,也可以是寄存器的地址,甚至可以是I/O设备的地址。 下面以主存地址为例,分析指令的地址码字段。 (1)四地址指令 这种指令的地址字段有四个,其格式为: OP A1 A2 A3 A4 其中,OP为操作码; A1 为第一操作数地址; A2 为第二操作数地址; A3 为结果地址; A4 为下一条指令的地址。 该指令完成 (A1) OP (A2) → A3的操作。这种指令直观易懂,后续指令地址可以任意填写,可直接寻址的地址范围与地址字段的位数有关。如果指令字长为32位,操作码占8位,4个地址字段各占6位,则指令的直接寻址范围为 26 = 64。如果地址字段均指示主存的地址,则完成一条四地址指令,共需访问四次存储器(取指令一次,取两个操作数两次,存放结果一次)。 因为程序中大多数指令是按顺序执行的,而程序计数器PC既能存放当前欲执行指令的地址,又有计数功能,因此它能自动形成下一条指令的地址。这样,指令字中的第四地址字段A4便可省去,即得三地址指令格式。 (2)三地址指令 三地址指令中只有三个地址,其格式为: OP A1 A2 A3 它可完成 (A1) OP (A2) → A3的操作,后续指令的地址隐含在程序计数器PC之中。如果指令字长不变,设OP仍为8位,则三个地址字段各占8位,故三地址指令直接寻址范围可达28

文档评论(0)

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

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

1亿VIP精品文档

相关文档