假设某机器共有8条指令(I1~I8),使用频度如下表所示,要求:
(1)构造哈夫曼树,计算采用哈夫曼编码时操作码的平均码长。(2)如果采用只有两种码长的扩展操作码进行编码,给出一种最优编码方案,使得操作码的平均码长最短,并求出平均码长。
(1)哈夫曼树如下所示:
平均码长=4 * (0.04 +0.05 +0.06 +0.08) +3 * (0. 12 +0. 15) +2 * (0.2 +0.3) =2.73。(2分)(2)最优编码方案:按照指令使用频度值将指令分为两组,频度较高的3条指令I1、I2、I5,采用2位操作码编码表示,留下一个2位编码作为扩展标志,扩展出3位,用来编码其余频度较低的5条指令。(2分)
平均码长=2 * (0.3 +0.2 +0. 15) +5 * (0.04 +0.05 +0. 06 +0.08 +0.12) =3. 05。(2分)
本题考查数据表示、寻址方式与指令系统—指令系统的设计和优化—指令系统设计的基本原则。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811