
指令系统例题1.ppt
5页例:已知指令字长为12位,每个地址3位试采用扩展操作码 的方式,设计4条三地址指令、16条二地址指令、64条单地址 指令和16条零地址指令1)画出操作码扩展图;(2)画出指令译码逻辑;(3)计算操作码平均长度[解]:(1)操作码扩展图:000 ××× ××× ××× : 011 ××× ××× ××× 100 000 ××× ××× : 101 111 ××× ××× 110 000 000 ×××: 110 111 111 ××× 111 000 000 000: 111 000 001 1114条三地 址指令16条二地 址指令64条单地 址指令16条零地 址指令(2)指令译码逻辑图:××××××××××××3:8译码器4:16译码器6:64译码器4:16译码器………(操作码)(地址码)(4条)(16条 )(64条 )(16条)译码 启动(3)操作码平均长度L:使用操作码扩展方法的基本原则:(1) 使用频率高的指令,应分配短的操作码;使用频率低的指令 则相应地分配较长的操作码。
2) 应尽量减少操作码的平均码长,有效地缩短操作码在程序 中的长度,既节省存储空间、又可缩短指令的平均译码时 间,提高程序的运行速度,减小控制器的复杂性例:某计算机的指令系统指令字长16位,操作数地址需4位 ,采用操作码扩展法增加指令条数已知该系统已有三地址 指令M条、二地址指令N条、没有零地址指令,问:最多还 有多少条单地址指令? [解]: 已知指令字长16位,操作数地址需4位,则: 对于三地址指令:操作码长度为(16-4×3)=4 位;(可有24条指令) 对于二地址指令:操作码可扩展4 位; 对于单地址指令:操作码又可扩展4 位 ∵已知三地址指令M条,∴剩下的组合(24-M)可用于扩展;又已知二地址指令N条,∴剩下的组合[(24-M)×24-N]可用于扩展; ∵ 没有零地址指令,∴ 单地址指令的条数为: [(24-M)×24-N] ×24例:某指令系统字长16位,每个地址码位长为6位,若已知有 二地址指令M条;零地址指令N条,问:系统可有单地址指令 多少条?[解]:设:有单地址指令X条指令字长16位,地址码6位,∴ 二地址指令可有:24条已知有二地址指令M条,可用于扩展: (24-M)∴单地址指令可有: (24-M)×26已设:有单地址指令X条,可用于扩展: [(24-M)×26-X]∴零地址指令N条为: [(24-M)×26-X]×26 =N可解得: X= (24-M)×26-N/26。
