首页 > 试题广场 >

某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地

[单选题]
某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令 29 条,二地址指令 107 条,每个 地址字段为 6 位,则指令字长至少应该是
  • 24 位
  • 26 位
  • 28 位
  • 32 位
首先,三地址指令有29条,所以操作码至少为5位,所以剩余32-29=3种操作码给二地址指令。又二地址指令是比三地址指令少6位地址码,但是操作码比三地址指令多6位。所以二地址指令操作码一共3种×2^6种=192>107,所以二地址指令够了,指令字长最少为23位,为8的倍数就是24。(注意操作码位数转换为变成2的多少次方就是操作码的种数了,注意转换)
发表于 2021-09-02 20:18:40 回复(4)
假设操作码位数为x位。那么剩余的三地址指令条数还有2^X-29。又因为地址码为6位,所以有:(2^X-29)*2^6>=107;解得x>=5。所以操作码位数>=5+6*3=23
发表于 2022-04-07 18:08:45 回复(1)
拓展操作码,操作码的位数并不固定,可以分散在不同的位置上。
对于三地址指令来说,指令有29条,需要5位来表示,加上地址字段是6位,即5 + 6 + 6 + 6 =23 
此时操作码是5位,地址码是18位。
此时将操作码进行拓展,前5位可以表示32,此时还剩下32-29 = 3种状态,再拿出6位的地址字段,一共可以表示2^6*3 = 192,满足二地址指令的需求,此时 (5+6)+6+6 = 23 ,操作码是11位,地址是12位。
综上所述,23位是满足需求的,但是计算机是按字节编址的,所以至少是24位,3字节
发表于 2025-11-04 11:36:13 回复(0)

因为地址字段是6位,也就是A是6位。操作码OP不知道。

三地址格式为:(每个A为6位)

| OP | A1 | A2 | A3 |

因为指令 29 条,所以地址码需要能表示数字有29个,也就是:

同理二地址:

因为每个指令字长一样,所以少了一个A,应该加到OP上,也就是这里的 2的幂是 op+6。

| OP2=OP+A | A1 | A2 |

因为【注意】指令不能重复,一个题中,第一问用过的指令二进制,下面就不能再用了。所以OP表示的条数要减去29。


$$

所以要同时满足:

算出OP为5位时候满足,那么指令字长就是 5+6+6+6 = 23

但是【注意】指令字长一般是 8 的整数倍(也就是字节编址),所以要在 23 加到满足8的整数倍。

即24。

【计算机组成原理】汇总四、指令系统

发表于 2024-12-01 17:44:48 回复(0)