早教吧 育儿知识 作业答案 考试题库 百科 知识分享

指令系统—扩展操作码现有14条指令,其使用频率如下:I10.15I20.15I30.14I40.13I50.12I60.11I70.04I80.04I90.03I100.03I110.02I120.02I130.01I140.01若只用两种码长的扩展码编码,其平均码长至少为多少位?

题目详情
指令系统—扩展操作码
现有14条指令,其使用频率如下:
I1 0.15
I2 0.15
I3 0.14
I4 0.13
I5 0.12
I6 0.11
I7 0.04
I8 0.04
I9 0.03
I10 0.03
I11 0.02
I12 0.02
I13 0.01
I14 0.01
若只用两种码长的扩展码编码,其平均码长至少为多少位?
▼优质解答
答案和解析
采用只有两种码长的扩展操作码,可根据14条指令所给出的使用频度值分成两群,让使用频度较高的6条指令用3位操作码编码表示.例如,用000~101分别表示使用频度为0.15、0.15、0.14、0.13、0.12、0.11的指令的操作码.留下110和111两个3位码作为长码的扩展标志,相当于一个二进制位,再扩展2位二进制码,既相当与共有3位.从而用5位码就可以表示8条使用频度较低的指令,由此可求得操作码的平均码长为:
3*(0.15+0.15+0.14+0.13+0.12+0.11)+5*(0.04+0.04+0.03+0.03+0.02+0.02+0.01+0.01)=3.4