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

第2章指令系统.ppt

  1. 1、本文档共124页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 指令系统 2.1 指令格式的优化 2.2 CISC 2.3 RISC 2.4 后RISC 2.1 指令格式的优化 指令由操作码和地址码两部分组成。指令格式的优化指的是如何用最短的位数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短。因此指令格式的优化包括操作码的优化和地址码的优化两部分。 2.1.1 操作码的优化表示 操作码的表示方法通常有三种,等长操作码,Huffman编码法和扩展编码法,下面分别介绍。 1. 等长操作码 对于采用等长操作码的指令系统,若指令系统中共有N种不同功能的指令,则指令系统中的所有指令的操作码长度固定为┌log2N┐位。等长操作码的操作码长度规整,有利于简化硬件设计,减少指令译码时间。如IBM370指令系统,指令操作码的长度固定为8位。 2. Huffman编码 Huffman编码法是1952年由Huffman首先提出的一种编码方法,开始主要用于电报报文的编码。如26个英文字母中,e、t等的使用频率最高,用短码表示;q、x等的使用频率很低,用长码表示。这样,可以缩短整个报文的长度,减少报文的传送时间。Huffman编码不仅可用于代码压缩,也可用于程序压缩、存贮空间压缩和时间压缩等。 要采用Huffman编码法表示操作码,必须先知道各种指令在程序中出现的概率,这通常可以通过对已有典型程序进行统计得到。 按表2.1的数据,得 H=0.17×2.56+0.15×2.74+0.15×2.74+0.13×2.94+0.12×3.06+0.09×3.47 +0.08×3.64+0.07×3.84+0.03×5.06+0.01×6.64 =3.10位 这说明表示这10条指令,操作码平均只需3.1位。采用4位等长操作码表示的信息冗余量为: 操作码的实际平均长度-H 4 - 3.10 操作码的实际平均长度 4 为减少信息冗余量,可改用Huffman编码。Huffman编码的一般过程为: (1)利用Huffman算法,构造Huffman树; (2)Huffman树的所有左分支用一位代码的“1”表示,右分支用一位代码的“0”表示,反过来表示也可以; (3)从根结点开始,沿线到达各频度指令所经过的代码序列即为该频度指令的Huffman编码。 值得说明的是,构造的Huffman树以及各指令的Huffman编码均不是唯一的,但采用Huffman编码的操作码的平均长度是唯一的。 对于表2.1构造的Huffman树如图2.1所示。根据Huffman树设计的Huffman编码如表2.2所示。Huffman编码的平均码长为: pi?li=0.17×2+(0.15+0.15+0.13+0.12)×3+ (0.09+0.08+0.07)×4 +(0.03+0.01)×5 =3.15位 3. 扩展操作码 Huffman编码法是最优化的编码方法,但这种编码方法形成的操作码很不规整,10种指令就有4种不同的操作码长度,既不便于译码,也不实用。所以,在此基础上再结合采用等长操作码的编码方法,可以得到如表2.2右部的所谓扩展操作码编码。 扩展操作码编码是介于等长操作码编码和Huffman编码之间的一种编码方式,使操作码的长度只限于有限的几种码长(如这里只有两种码长)。为便于实现和分级译码,一般采用等长扩展。在表2.2中,若采用2-4等长扩展操作码编码,其操作码的平均码长为: 对于等长扩展码,根据采用不同的扩展标志还可以有多种不同的扩展方法。例如,对于4-8-12扩展码,有采用每次保留一个码点标志的15/15/15编码法,也有采用每次保留一个标志位的8/64/512编码法。这两种方法的具体编码如图2.2所示。 例2.1 一台模型机的各条指令的使用频度如下: ADD(加):43% SHR(右移):1% SUB(减):13% CLL(循环左移):2% JOM(按页转移):6% CLA(累加器清零):22% STO(存):5% STP(停机):1% JMP(转移):7%

文档评论(0)

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

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

1亿VIP精品文档

相关文档