计算机组成作业某指令系统指令字长24位,有二地址、一地址和零地址三种指令格式。试设计一种扩展操作码,使该指令系统具有9条带1个16位主存地址和1个4位寄存器地址的二地址指令、90条带一个16位主存地址的一地址指令、80条零地址指令。要求写出操作码编码
时间: 2023-06-24 10:08:44 浏览: 194
此题需要根据指令格式和指令数量来设计操作码,下面是一种可能的设计:
二地址指令格式:操作码(8位)+ 寄存器地址(4位)+ 主存地址(16位)
一地址指令格式:操作码(8位)+ 主存地址(16位)
零地址指令格式:操作码(8位)
根据题目要求,需要9条带1个16位主存地址和1个4位寄存器地址的二地址指令、90条带一个16位主存地址的一地址指令、80条零地址指令。
为了方便编码和译码,可以将二地址指令和一地址指令的操作码分别设为不同的值,例如:
二地址指令操作码:0000 0000 ~ 0000 1000 (共9个)
一地址指令操作码:0000 1001 ~ 0101 1000 (共90个)
零地址指令操作码:0101 1001 ~ 0111 1111 (共80个)
其中,每个操作码都占8位,共24位。在二地址指令中,寄存器地址占4位,主存地址占16位。在一地址指令中,主存地址占16位。在零地址指令中,没有其他信息。
因此,可以将二地址指令的操作码编码为:
0000 0000 ~ 0000 1000
将一地址指令的操作码编码为:
0000 1001 ~ 0101 1000
将零地址指令的操作码编码为:
0101 1001 ~ 0111 1111
需要注意的是,这只是一种可能的设计方案,实际上还有其他的设计方案,只要满足题目要求即可。
阅读全文