指令系统例题1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
:
011 100
101 110
×××
110 111
111
000 : 111 000 : 111 000 : 000
××× ×××
×××
××× ×××
××× ×××
000
111 000
001
×××
000 111
(2)指令译码逻辑图:
(地址码) (操作码)
×××
译码 启动 3:8译码器
Baidu Nhomakorabea
×××
×××
×××
4:16译码器 …
6:64译码器 …
4:16译码器 …
(4条)
(16条)
(64条)
(16条)
(3)操作码平均长度L:
L 各类指令操作码的总位 指令总条数 4 16 64 16 8 .7 长
4 3 16 6 64 9 16 12
使用操作码扩展方法的基本原则: (1) 使用频率高的指令,应分配短的操作码;使用频率低的指令 则相应地分配较长的操作码。
例:已知指令字长为12位,每个地址3位。试采用扩展操作码 的方式,设计4条三地址指令、16条二地址指令、64条单地址 指令和16条零地址指令。 (1)画出操作码扩展图; (2)画出指令译码逻辑; (3)计算操作码平均长度。 [解]: (1)操作码扩展图:
000
××× ××× ×××
4条三地 址指令 16条二地 址指令 64条单地 址指令 16条零地 址指令
可解得: X= (24-M)×26-N/26
(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