@JudyYe
2016-04-03T07:14:10.000000Z
字数 683
阅读 580
体系结构
叶雨菲 2013011325 计32
2.11、 2.12、 2.13
2.11
分别设计9条指令操作码的哈夫曼编码,3/3/3扩展编码,和2/7编码,并计算平均码长。
指令\编码 | 哈夫曼 | 3/3/3 | 2/7 |
---|---|---|---|
ADD | 1 | 00 | 00 |
SUB | 001 | 10 | 1000 |
JMP | 00001 | 1100 | 1001 |
JOM | 00000 | 1101 | 1010 |
STO | 00010 | 1110 | 1011 |
SHR | 0001111 | 111101 | 1101 |
CIL | 000110 | 111100 | 1100 |
CLA | 01 | 01 | 01 |
STP | 0001110 | 111110 | 1110 |
平均码长 | 2.42 | 2.52 | 2.7 |
2.12
指令字长16位,有单地址指令和双地址指令,若每个地址段均为6位,且双地址指令有A条,问单地址指令最多可以有多少条?
当 时,双地址本身就编不下;
当
,则单地址最多可以有条
2.13
三地址指令4条,单地址255条,零地址16条,字长12位,地址码长度为3位,问能否用扩展编码为其操作码编码?如果要求单地址指令为254条,能否对其操作码扩展编码?说明理由。
255条不行,254条可以
若255条单地址,三地址指令至少需要3个码点,用掉4个,还有4个可以向下扩展,4*64=256个码点可以留给单地址,用去255个码字,还剩一个码字用作扩展,最多只有1*8个地址留给零地址,这样是不行的,肯定编不下。
254条的编码方案如下:
三地址:000 xxx xxx xxx - 011 xxx xxx xxx 条
单地址:100 000 000 xxx - 111 111 101 xxx 条
零地址:111 111 11x xxx 条