經統計,某機器14條指令的使用頻度分別為:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分別求出用等長碼、Huffman碼、只有兩種碼長的擴展操作碼3種編碼方式的操作碼平均碼長。
解:
等長操作碼的平均碼長=4位 Huffman編碼的平均碼長=3.38位 只有兩種碼長的擴展操作碼的平均碼長=3.4位。
9.若某機要求:三地址指令4條,單地址指令255條,零地址指令16條。設指令字長為12位.每個
地址碼長為3位。問能否以擴展操作碼為其編碼?如果其中單地址指令為254條呢?說明其理由。
答:①不能用擴展碼為其編碼。
∵指令字長12位,每個地址碼占3位;
∴三地址指令最多是2^(12-3-3-3)=8條, 現三地址指令需4條,
∴可有4條編碼作為擴展碼,
∴單地址指令最多為4×2^3×2^3=2^8=256條,
現要求單地址指令255條,∴可有一條編碼作擴展碼
∴零地址指令最多為1×2^3=8條
不滿足題目要求
∴不可能以擴展碼為其編碼。
②若單地址指令254條,可以用擴展碼為其編碼。
∵依據①中推導,單地址指令中可用2條編碼作為擴展碼
∴零地址指令為2×2^3=16條,滿足題目要求
標簽:
上傳時間:
2015-04-30
上傳用戶:zhangyigenius