指令格式的优化设计.doc

指令格式的优化设计.doc

ID:50936976

大小:510.00 KB

页数:20页

时间:2020-03-16

指令格式的优化设计.doc_第1页
指令格式的优化设计.doc_第2页
指令格式的优化设计.doc_第3页
指令格式的优化设计.doc_第4页
指令格式的优化设计.doc_第5页
资源描述:

《指令格式的优化设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、指令格式的优化设计指令格式的优化设计的目的是用最短的二进制位数表示指令的操作信息和地址信息,使指令的平均字长最短。指令格式的优化设计,首先根据指令集各指令的使用频度的分布{Pi}对操作码进行优化设计,然后对地址码和寻址方式的表示采取优化措施,使指令格式达到优化。经过优化设计的指令集减少了程序的总位数,减少了程序运行的时空开销,从而提高了系统的性能。我们首先讨论操作码的优化编码方法,然后讨论寻址技术,最后,在操作码和地址码优化表示的基础上,说明指令格式的优化设计。一、操作码的优化设计1、操作码优化编码的

2、方法操作码优化编码的方法有三种:定长编码、哈夫曼编码和扩展编码。定长编码:是指所有指令的操作码长度都是相等的。如果有n个需要编码的操作码,定长操作码的位数最少需要log2n位。哈夫曼编码:用哈夫曼方法构造哈夫曼树进行编码。构造哈夫曼树的方法是:每次从指令集中选出两个使用频度最小的指令,将其频度相加,形成一个节点,称为父节点,将新生成的父节点放到结点集中,从新的节点集中再选两个使用频度最少的节点生成一个新的父节点,直至节点集成为空集,就生成了一棵哈夫曼树。每个节点的两个分支节点,称为节点,用0和1标识,上面的节点称根节点,下面

3、的节点称为叶节点。从最上面的根节点到一个叶节点的路径(由0和1组成的序列)就是这个叶节点的哈夫曼编码。由于哈夫曼编码的码长种类较多。既不利于硬件对操作码的译码,也很难与地址码配合形成长度规整的指令格式。因此,实用的操作码编码一般不采用哈夫曼编码而采用扩展编码的方法。扩展编码:限定使用少数几种长度码长,使用频度高的码点用短码表示,使用频度低的码点用长码表示。特别需要指出的是,不是所有的短码都可以作为长码的前缀,即不是任何短码都可以是任何长码的若干位。否则,编码将会不唯一。所以,要留下若干个短码作为长码的扩展标志,以便长码在扩展编

4、码时使用。这是扩展编码“扩展”一词的含义。20扩展编码的两种表示方法。1)码长表示法,用短横线前后的数字分别表示短码码长和长码码长,例如,2-4-6表示指令操作码的长度有三种,分别是2位、4位、6位。(没有表示三种长度的编码各有多少个码点)。2)码点数表示法,用斜线前后的数字分别表示短码码点的个数和长码码点的个数,例如,3/4/6表示有三种码长,最短码长的码点个数是3,最长码长的码点个数是4,三种码点的总数是13。(没有表示各个码点数的码长是多少)。2、操作码优化编码的评价方法(1)用平均码长评价编码优化的程度,平均码长为:其

5、中是第i种码点的使用频度,是第i种码点的编码长度。(2)用位冗余量衡量编码优化的程度,位冗余量为其中,H称为信息熵(Entropy)表示用二进制编码表示n个码点时理论上最短平均编码长度。因此对于任何实际编码得出的平均码长l,都有l>H,故有0

6、个短码作为长码扩展码标志的原则:一是根据需要编码的短码的码点个数和长码码点个数进行选择,二是尽量减少编码可表示的冗余码点的个数。总之,应尽可能达到平均码长l最短的优化要求。20例1:一个处理机共有I1~I10共10条指令,经统计各指令在程序中的使用频率分别为:p1=0.25p2=0.20p3=0.15p4=0.10p5=0.08p6=0.08p7=0.05p8=0.04p9=0.03p10=0.02(1)计算该10条指令的操作码编码的最短平均码长;(2)写出该10条指令的操作码的哈夫曼编码,并计算该种编码的平均码长和位冗余量;

7、(3)采用3/7扩展编码和2/8扩展编码编写该10条指令的操作码,并分别计算平均码长和位冗余量。问哪一种扩展编码较好?说明其理由。解:(1)由给出的使用频率p1~p10,计算I1~I10的操作码编码的最短平均码长:=-(0.25log20.25+0.20log20.20+0.15log20.15+0.10log20.10+0.08log20.08+0.08log20.08+0.05log20.05+0.04log20.04+0.03log20.03+0.02log20.02)=2.96位所以,这十条指令的操作码编码的最短平均码

8、长为2.96位。(2)根据给出的使用频度,在用哈夫曼编码算法构造哈夫曼树的过程中,在选两个频度最小的节点合并时,有时有两个以上的节点可供选择,因此就会生成结构不同的哈夫曼树。这里给出了两个哈夫曼树。如下图:2020由哈夫曼树得到的两种哈夫曼编码如下表:Iipi哈夫曼编码(a)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。