3.某模型机有 10 条指令 I
1
~I
10
,它们的使用频度分别为 0.3,0.24,0.16,0.12,0.07,0.04,0.03,0.02,
0.01,0.01。
(1)计算采用等长操作码表示时的信息冗余量。
(2)要求操作码的平均长度最短,试设计操作码的编码,并计算所设计操作码的平均长度。
(3)只有二种码长,试设计平均码长最短的扩展操作码编码并计算平均码长。
(4)只有二种码长,试设计平均码长最短的等长扩展码编码并计算平均码长。
3.(1)采用等长操作码表示时的信息冗余量为 33.5%。
(2)操作码的 Huffman 编码法如表 2.2 所示,此种编码的平均码长为 2.7 位。
表 2.2 操作码的 Huffman 编码法、2-5 扩展码和 2-4 等长扩展码编码法
指令
I
1
I
2
I
3
I
4
I
5
I
6
I
7
I
8
I
9
I
10
指令使用
频度 p
i
0.3
0.24
0.16
0.12
0.07
0.04
0.03
0.02
0.01
0.01
Huffman 编码
0 0
1 0
0 1 0
0 1 1
1 1 0
1 1 1 0 0
1 1 1 0 1
1 1 1 1 0
1 1 1 1 1 0
1 1 1 1 1 1
操作码
长度 l
i
2
2
3
3
3
5
5
5
6
6
2-5 扩展码
0 0
0 1
1 0
1 1 0 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
1 1 1 1 0
操作码
长度 l
i
2
2
2
5
5
5
5
5
5
5
2-4 等长扩
展码
0 0
0 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
操作码
长度 l
i
2
2
4
4
4
4
4
4
4
4
(3)操作码的 2-5 扩展码编码法如表 2.2 所示,此种编码的平均码长为 2.9 位。
(4)操作码的 2-4 等长扩展码编码法如表 2.2 所示,此种编码的平均码长为 2.92 位。
5.若某机设计有如下格式的指令:
三地址指令 12 种,一地址指令 254 种,设指令字的长度为 16 位,每个地址码字段的位数均为 4 位。
若操作码的编码采用扩展操作码,问二地址指令最多可以设计多少种?
5.二地址指令最多可以设计 48 种。
6.一台模型机共有 9 条指令 I
1
~I
9
,各指令的使用频度分别为 30%,20%,20%,10%,8%,6%,3%,2%,1%。
该模型机有 8 位和 16 位两种指令字长。8 位字长指令为寄存器-寄存器(R-R)二地址类型,16 位字长指令
为寄存器-存储器(R-M)二地址变址寻址类型。
(1)试设计有二种码长的扩展操作码,使其平均码长最短,并计算此种编码的平均码长。
(2)在(1)的基础上,该机允许使用多少个可编址的通用寄存器?
(3)若采用通用寄存器作为变址寄存器,试设计该机的两种指令格式,并标出各字段的位数。
(4)计算变址寻址的偏移地址范围。
6.(1)操作码的 2-5 扩展码编码法如表 2.3 所示,此种编码的平均码长为 2.9 位。
表 2.3 操作码的 Huffman 编码法和 2-4 等长扩展码编码法
指令
I
1
I
2
I
3
I
4
I
5
I
6
I
7
指令使用频度 p
i
0.3
0.2
0.2
0.1
0.08
0.06
0.03
2-5 扩展码
0 0
0 1
1 0
1 1 0 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 1 1
操作码长度 l
i
2
2
2
5
5
5
5