- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 指令系统;本章将解决的主要问题 ;5.1指令概述;一条指令应包含如下信息:;5.2 指令格式;
固定长度操作码是指操作码所占的二进制位数固定不变,而且集中放在指令字的一个字段中。
这种格式有利于简化硬件设计,减少指令译码时间,广泛用于字长较长的大、中型计算机和超级小型计算机中。
例如IBM370和VAX﹣11系列机中, 操作码的长度都是8位,可表示256条指令。
(2)可变长度操作码
可变长度操作码是操作码扩展技术的应用,即操作码的长度是可变的,且分散地放在指令的不同字段中。这种格式有利于压缩程序中操作码的平均长度,在字长较短的微型机中被广泛应用。如:PDP-11,INTEL 8086/80386等,其操作码的长度均是可变的。; 下图是一种扩展操作码的安排示意。;① 15条三地址指令的操作码由4位基本操作码0000~1110所给定,
剩下一个1111则用于把操作码扩展到X地址码字段,即由4位
扩展到8位;?;② 14条二地址指令的操作码由8位操作码的1111,0000~1111,1101 给定,剩下 的1111,1110和1111,1111又可用于把操作码扩充到 Y地址字段,即从8位又 扩充到12位; ;; 由此类堆,还可以把剩下的1111,1111,1111扩充到Z地址码字段而形成的16位操作码,这时还可由1111,1111,1111,0000~1111,1111,1111,1111给出16条零地址指令。 ; 上述方法是在不增加指令长度的情况下,采用对地址少的指令使用较长的操作码,对地址数多的指令使用较短的操作码。其实质是增加了指令的数量,丰富了指令的功能。
在可变长操作码的指令系统设计中,究竟使用何种扩展方法为好,指令的使用频度(即在程序中出现的概率)是非常重要的依据。即频度高的指令应分配短的操作码,频度低的指令则分配较长的操作码。这样,既可有效地缩短操作码在程序中的平均长度,节省存储空间,又可缩短常用指令的译码时间以提高程序的运行速度。
其缺点是译码系统比固定操作码复杂,增加了设计控制器的难度,需要更多的硬件作支持。;;;; 指令中的地址码用来指出该指令的源操作数地址(一个或两个)、 结果地址及下一条指令的地址。
这里的地址可以是主存地址,也可以是寄存器地址,甚至可
以是I/O设备的地址。; OP : 操作码;
? A1:第一地址码,存放第一操作数;
A2:第二地址码,存放第二操作数;
A3:第三地址码,存放操作结果;
A4:第四地址码,存放下条要执行指令的地址。
操作:(A1)OP(A2)→ A3;? 这种指令直观易懂,后续指令的地址可任意填写。
? 可直接寻址的地址范围与地址字段的位数有关。
例如:指令字长32位,操作码占8位,4个地址段各占6位,
则指令的直接寻址范围为: 26 = 64
? 如果地址字段均指示主存的地址,则完成一条四地址指令, 共需访问四次存储器(取指令一次,取两个操作数两次,存结果一次)。
? 因为程序中大部分指令都是顺序执行的,当采用指令计数器后,A4地址可以省去。;(2) 三地址指令; OP:操作码;
A1:既作第一操作数地址,又作目的地址;
A2:第二操作数地址。
操作:(A1) OP(A2) → A1;? 使用二地址指令编写的程序,其指令在内存中也要依次存放,才能用程序计数器自动增量使之顺序执行。若程序发生转向时,也必须用转移指令改变程序的执行顺序。
? 当二地址指令执行之后,A1中的内容被修改了。
有的机器规定A2为目的地址,这时则是A2的内容被修改了。
? 若地址字段均为主存地址,则完成一条二地址指令也需四次访问存储器。;? 指令中只给出一个操作数地址,另一个操作数地址和目的地址则是隐含的。这个隐含的地址就是运算器的累加寄存器AC。;? 采用一地址指令编写的程序,其指令在内存中也要顺序存放,由程序计数器自动增量控制其顺序执行。程序转向时,也用转移指令改变程序的执行方向。
? 在程序执行前,必须用一条“取数指令”把其中一个操作数放到累加寄存器中。程序结束后,累加寄存器的内容已被修改。若要将累加寄存器中的结果送回内存,则必须使用“存数指令”。;3.指令字长度与机器字长度的关系; 指令字的长度取决于操作码的长度、操作数地址的长度和操作数地址的个数
文档评论(0)