第二章指令优化.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  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文档。上传文档
查看更多
指令结构分类 寻址方式分类 寻址方式的使用频度 指令操作分类 控制流指令的使用频度 指令编码格式 数据结构与数据表示 -1 计算机常用的各种数据结构有串、堆栈、队列、向量、阵列、矩阵、链表、图等。实现这些数据结构的各种算法,几乎都立足于计算机系统结构只提供按地址访问的一维线形存储器以及最基本、最简单的数据表示。 数据结构与数据表示 -2 数据表示指的是能由硬件直接辨认的数据类型。这样,这些数据结构要经过软件映象,变换成按地址访问一维存储器内的各种数据表示。如何用最少的存储空间存储这些数据结构,以及用什么样的算法能最快、最简地存储则是数据结构的研究课题。 数据结构与数据表示 -3 计算机的基本数据类型有逻辑(布尔)数、定点数(整数)、浮点数(实数)、十进制数、字符串、数组等。对这些数据的运算可以设置专门指令,也可以仅设置最简单的算术逻辑运算指令。而通过编制程序执行实现之,但后者速度下降很多。在机器中若设置能直接对矩阵向量数据(数组)进行运算的指令及硬件,可以大大提高对向量、数组的处理速度,这一般在巨型机中才使用。 数据结构与数据表示 -4 目前计算机所用数据字长有8位、16位、32位等。在存储器中每个单元的容量为8位,即一个字节,故存储器单元地址按字节编址。计算机的指令系统可支持对字节(8位)、半字(16位)、字(32位)、双字(64位)的运算。 数据结构与数据表示 -5 计算机的数据表示如何确定,是一个复杂的问题。除了必不可少的基本数据表示之外,数据表示的确是一个软、硬件分配的问题。这是因为各种数据结构本来是能够实现于只有最简单、最基本数据表示的机器中,只是在有了更好的数据表示之后,实现的效率可以更高罢了。 数据结构与数据表示 -6 衡量某种数据表示是否合适的标准,首先要看这能使实行时间以及所需存储容量减少了多少。而衡量实行时间是否减少,一个重要的指标是看主存与处理机间所需传送的信息量是否减少。 数据结构与数据表示 -7 例如,有两个200×200元素(定点数)的阵列A与B进行相加运算,若用PL/1语言仅需一条语句,经优化编译形成6条机器指令的目标程序,其中有4条需循环执行40,000次。但若机器有阵列型数据表示,则只需一条机器指令就能执行两个阵列相加的运算,所以只需一次访问存储器操作,处理机与主存间取指操作减少了4×40000次,故实现时间大大减少。 数据结构与数据表示 -8 衡量某种数据表示的确是否合适的另一个标准,是看这个数据表示的通用性如何,利用率如何。对于基本的数据表示,其通用性和利用率当然不构成如何问题,而对于如上述阵列机的数据表示(指阵列数据表示),则其通用性、利用率就不理想了。而且,阵列数据表示还有能表达多大阵列的问题;阵列过大,硬件投资增加,机器性能价格比下降,利用率可能不高;阵列过小,阵列运算要拆成多块,分批进入阵列运算部件,使编译困难。所以,机器的数据表示的选择应该综合平衡上述的各种因素后才确定。 指令优化 指令系统是计算机所有指令的集合,程序员用各种语言编写的程序都要翻译成(编译或解释)以指令形式表示的机器语言后才能运行,所以它反映了计算机的基本功能,是硬件设计人员和程序员都能见到的机器的主要属性,早期计算机的指令系统很简单,一些比较复杂的操作由子程序实现,因此计算机的处理速度比较慢。 指令优化 随着硬件价格的下降,指令系统逐步扩充,指令的功能也逐步增强。指令系统的改进是围绕着缩小与高级语言的语义差异以及有利于操作系统的优化而进行的。 例如,高级语言中的实数计算是通过浮点运算进行的,对应在指令系统中设置浮点运算指令能明显地提高速度 指令优化 例如,在高级语言程序中经常用到IF语句、DO语句等,为此在指令系统中设置功能较强的“条件转移”指令是有益的。 例如,为了便于实现程序嵌套,设置了Call及Ret指令…… 上述这些措施都是针对高级语言的优化进行的,使生成的目标程序短而且运行速度快,同时也便于编译。 指令优化 例如,为操作系统的实现或优化而设置的特殊指令,除了各种控制系统状态的指令外,还有为多道程序公用数据管理和多处理机系统信息管理用的“测试与置定”、“比较与交换”等指令。 指令格式优化 指令由操作码和地址码两部分组成,上述各种寻址方式主要反映在指令的地址码部分。随着指令类型不同,对地址码的长度要求变化很大,例如操作数据在内部通用寄存器内比之在存储器内,其地址码长度要短得多。为缩小程序代码所占的存储容量,各类指令的长度可以不一致,例如在同一个计算机中可以有1字节、2字节、3字节、4字节等多种长度的指令。 指令格式优化 从压缩代码的观点出发,希望常用的指令的操作码短些,这样最后使程序的长度也短些。运用哈夫曼(Huffman)码制压缩的基本概念,可以达到操作码优化的目的。 指令

文档评论(0)

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

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

1亿VIP精品文档

相关文档