第二章计算机指令集结构设计2010.pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  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文档。上传文档
查看更多
2.5 指令集格式的设计 指令集格式的设计 指令集中的每条指令由操作码和地址码组成,指令集格式的设计就是要确定操作码字段和地址码字段的大小及其组合形式,以及各种寻址方式的编码方法。 格式优化设计的目标有两个:(1)节省程序的存储空间;(2)指令格式要尽量规整,以减少硬件译码的复杂度。 2.5 指令集格式的设计 在指令集格式的设计中,必须在以下三个方面折衷: (1)尽可能增加寄存器数目和寻址方式类型; (2)充分考虑寄存器字段和寻址方式字段对指令平均字长的影响,以及它们对目标代码大小的影响; (3)在具体实现中能够容易地处理所设计的指令集格式。 2.5 .1 寻址方式的表示方法 寻址方式的表示方法 (1)将寻址方式编码于操作码中,由操作码在描述指令操作的同时,也描述了相应操作的寻址方式; (2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。 2.5 .2 指令集格式的选择 指令集格式的选择 有三种指令集编码格式: (1)变长编码格式;当有多种寻址方式和操作类型时,常采用这种格式。 (2)固定长度编码格式;将操作类型和寻址方式组合编码在操作码中,当寻址方式和操作类型非常少时,常采用这种格式。 (3)混合型编码格式,其目的是提供一定类型的指令字长,期望能够兼顾降低目标代码长度和降低译码复杂度两个目标。 补充: Huffman编码法 操作码的优化表示 操作码的表示方法通常有三种:固定长度操作码,Huffman编码法,扩展编码法。 Huffman压缩的思想 高概率指令的操作码用较短的位数表示,低概率指令的操作码用较长的位数表示,就可以使得指令操作码的平均长度较短。所以指令操作码的优化的前提是知道各条指令在程序中出现的概率。 补充: Huffman编码法 操作码的信息源熵 实例:I1:0.40; I2:0.30; I3:0.15; I4:0.05; I5:0.04; I6:0.03 I7:0.03 信息源熵 H=0.40×1.32 +0.30×1.74+0.15×2.74+0.05×4.32 +0.04×4.64+0.03×5.06+0.03×5.06 =2.17 补充: Huffman编码法 操作码表示的信息冗余量 采用固定长度操作码时 信息冗余量=(3-2.17)/(2.17)=0.28 补充: Huffman编码法 Huffman编码法 Huffman树的生成方法:1)将所有指令的使用频度由小到大排序,每个频度作为一个节点:2)选择其中频度最小的两个节点,将它们合并成一个新的节点,新节点的频度是这两个节点频度的和;3)将新节点按频度大小插入未合并的节点中;4)再从未合并的节点中选择两个频度最小节点,将它们合并成一个新的节点;5)如此继续进行,直至全部节点合并完成形成根节点;6)之后,从根节点开始,向下延伸,分出两个分支,分别用一位代码的“0”和“1”来表示。 补充: Huffman编码法 I7 0.03 I6 0.03 I5 0.04 I4 0.05 I3 0.15 I2 0.30 I1 0.40 0.09 0.06 0.15 0.30 0.60 1.00 0 1 1 0 1 0 0 0 1 1 0 1 从根节点开始,沿线到达各指令所经过的代码序列就构成该指令的操作码。短码不可能是长码的前缀。 I1:0 I2:10 I3:110 I4:11100 I5:11101 I6:11110 I7:11111 补充: Huffman编码法 Huffman编码指令平局长度 L=0.40×1+0.30×2+0.15×3+0.05×5 +0.04×5+0.03×5+0.03×5 =2.20 信息冗余量为 (2.20-2.17)÷2.20≈1.36% 无法达到理论值2.17,是因为操作码必须用整数位表示。 补充: Huffman编码法 扩展Huffman编码 介于固定长度操作码编码和Huffman编码之间的一种编码方式,操作码长度虽不是定长的,但是只有几种码长,但仍然是概率高的指令用短操作码表示,概率低的指令用短操作码表示。仍然符合Huffman压缩的思想。 补充: Huffman编码法 I1:00 I2:01 I3:10 I4:1100 I5:1101 I6:1110 I7:1111 扩展Huffman编码 扩展Huffman编码指令平局长度 L=0.40×2+0.30×2+0.15×2+ 0.05×4+0.04×4+0.03×4+0.03×4 =2.30 信息冗余量为 (2.30-2.17)÷2.30≈5.65% 补充:B-1700计算机操作码编码方式比较 B-1700计算机操作码编码方式比较 编码方式 整个操作系统所用指令总位数 改进的百分比 8位定长编码 301248 0 4-6-10扩

文档评论(0)

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

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

1亿VIP精品文档

相关文档