眩しさだけは、忘れなかった。|

【组成原理-指令】扩展操作码的树形解法

仿照哈夫曼树(或前缀编码,Prefix-free)的解法,目前先不解释具体怎么画了,直接放例题,大家自己慢慢品味吧。


【例 1】某指令系统指令长 16 位,操作码字段为 4 位,地址码字段为 4 位,采用扩展操作码技术,形成三地址指令 15 条、二地址指令 15 条、一地址指令 15 条、零地址指令 16 条。

【解】指令格式如下:

OP A1 A2 A3
4 位 4 位 4 位 4 位

画出对应的树:

【三地址】OP=0000~1110(15条)
OP=1111
【二地址】A1=0000~1110(15条)
A1=1111
【一地址】A2=0000~1110(15条)
A2=1111
【零地址】A3=0000~1111(16条)

沿着树的边一直走到叶子结点,可以得到如下格式的指令:

指令 操作码 地址码1 地址码2 地址码3
15 条三地址指令 0000 A1 A2 A3
. 0001 A1 A2 A3
. ... ... ... ...
. 1110 A1 A2 A3
15 条二地址指令 1111 0000 A2 A3
. 1111 0001 A2 A3
. ... ... ... ...
. 1111 1110 A2 A3
15 条一地址指令 1111 1111 0000 A3
. 1111 1111 0001 A3
. ... ... ... ...
. 1111 1111 1110 A3
16 条零地址指令 1111 1111 1111 0000
. 1111 1111 1111 0001
. ... ... ... ...
. 1111 1111 1111 1111

【例 2】某指令系统指令长 16 位,操作码字段为 4 位,地址码字段为 4 位,采用扩展操作码技术,形成三地址指令 15 条、二地址指令 12 条、一地址指令 63 条、零地址指令 16 条。

【解】指令格式如下:

OP A1 A2 A3
4 位 4 位 4 位 4 位

画出对应的树:

【三地址】OP=0000~1110(15条)
OP=1111
【二地址】A1=0000~1011(12条)
A1=1100
A1=1101
A1=1110
A1=1111
【一地址】A2=0000~1111(16条)
【一地址】A2=0000~1110(15条)
A2=1111
【零地址】A3=0000~1111(16条)

沿着树的边一直走到叶子结点,可以得到如下格式的指令:

指令 操作码 地址码1 地址码2 地址码3
15 条三地址指令 0000 A1 A2 A3
. 0001 A1 A2 A3
. ... ... ... ...
. 1110 A1 A2 A3
12 条二地址指令 1111 0000 A2 A3
. 1111 0001 A2 A3
. ... ... ... ...
. 1111 1011 A2 A3
63 条一地址指令 1111 1100 0000 A3
. 1111 1100 0001 A3
. ... ... ... ...
. 1111 1100 1111 A3
. 1111 1101 0000 A3
. 1111 1101 0001 A3
. ... ... ... ...
. 1111 1111 1110 A3
16 条零地址指令 1111 1111 1111 0000
. 1111 1111 1111 0001
. ... ... ... ...
. 1111 1111 1111 1111

【例 3】某指令系统指令长 16 位,地址码字段为 6 位,采用扩展操作码技术,形成二地址指令 12 条、一地址指令 96 条、零地址指令 50 条。

【解】指令格式如下:

OP A1 A2
4 位 6 位 6 位

画出对应的树:

【二地址】OP=0000~1011(12条)
OP=1100
OP=1101
OP=1110
OP=1111
【一地址】A1=000000~111111(64条)
【一地址】A1=000000~011111(32条)
A1=100000
【零地址】A2=000000~110001(50条)

【例 4】某指令系统指令长 12 位,操作码字段为 3 位,地址码字段为 3 位,采用扩展操作码技术,形成二地址指令 4 条、一地址指令 8 条、零地址指令 150 条。

【解】指令格式如下:

OP A1 A2 A3
3 位 3 位 3 位 3 位

画出对应的树:

【二地址】OP=000~011(4条)
OP=100
OP=101
OP=110
OP=111
【一地址】A1=000~111(8条)
A1=000~111(8种)
A1=000
A1=001
A1=010
【零地址】A2=000~111(8条)
【零地址】A2=000~101(6条)

【例 5】某指令系统指令长 16 位,地址码字段为 6 位,采用扩展操作码技术,如果已定义了 12 条二地址指令,则最多还可定义多少条一地址指令?

【解】指令格式如下:

OP A1 A2
4 位 6 位 6 位

画出对应的树:

【二地址】OP=0000~1011(12条)
OP=1100
OP=1101
OP=1110
OP=1111
【一地址】A1=000000~111111(64条)

所以最多还可定义 4×26=256 条一地址指令。


【例 6】某指令系统指令长 32 位,地址码字段为 12 位,采用扩展操作码技术,如果已定义了 250 条二地址指令,则最多还可定义多少条一地址指令?

【解】指令格式如下:

OP A1 A2
8 位 12 位 12 位

画出对应的树:

【二地址】OP=0000,0000~1111,1001(250条)
OP=1111,1010
OP=1111,1011
OP=1111,1100
OP=1111,1101
OP=1111,1110
OP=1111,1111
【一地址】A1=000000,000000~111111,111111(2^12条)

所以最多还可定义 6×212=24K 条一地址指令。


【例 7】(2022 年统考真题)设计某指令系统时,假设采用 16 位定长指令字格式,操作码使用扩展编码方式,地址码为 6 位,包含零地址、一地址和二地址 3 种格式的指令。若二地址指令有 12 条,一地址指令有 254 条,则零地址指令的条数最多为( )。

A. 0

B. 2

C. 64

D. 128

【解】指令格式如下:

OP A1 A2
4 位 6 位 6 位

画出对应的树:

【二地址】OP=0000~1011(12条)
OP=1100
OP=1101
OP=1110
OP=1111
【一地址】A1=000000~111111(64条)
【一地址】A1=000000~111101(62条)
A1=111110
A1=111111
【零地址】A2=000000~111111(64条)

所以最多还可定义 2×26=128 条零地址指令,本题选 D。


【例 8】(2017 年统考真题)某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令 29 条,二地址指令 107 条,每个地址字段为 6 位,则指令字长至少应该是( )

A. 24 位

B. 26 位

C. 28 位

D. 32 位

【解】三地址指令条数满足 29<25=32,因此推断操作码字段 OP 至少为 5 位,指令格式可能如下:

OP A1 A2 A3
5 位 6 位 6 位 6 位

画出对应的树:

【三地址】OP=00000~11100(29条)
OP=11101
OP=11110
OP=11111
【二地址】A1=000000~111111(64条)
【二地址】A1=000000~010100(21条)

所以指令字长至少有 5+3×6=23 位,又因为计算机按字节编址,所以取成 24 位即 3 字节,本题选 A。

本文作者:漫舞八月(Mount256)

本文链接:https://www.cnblogs.com/Mount256/p/17876115.html

版权声明:本作品采用CC 4.0 BY-SA许可协议进行许可。

posted @   漫舞八月(Mount256)  阅读(358)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开
  1. 1 Main Menu Theme Syd Matters
  2. 2 Luminous Memory (Acyanxi Remix) Acyanxi
  3. 3 夏影 麻枝准
  4. 4 潮騒の香り 水月陵
  5. 5 stand still 井口裕香 (いぐち ゆか)
  6. 6 流星雨 麻枝准
  7. 7 Summer Fantasy 傅许
  8. 8 失う 米白
  9. 9 epilogue 霜月はるか
  10. 10 夏に君を待ちながら 小原好美
  11. 11 桜のような恋でした 鹿乃 (かの)
  12. 12 風は微かに、熱を残し… 水月陵
  13. 13 夏凪ぎ 麻枝准/やなぎなぎ
  14. 14 空に光る 戸越まごめ
  15. 15 木漏れ日 riya
  16. 16 Songbirds Homecomings (ホームカミングス)
  17. 17 宝物になった日 麻枝准/やなぎなぎ
  18. 18 夏影~あの飛行機雲を超えた、その先へ~ 雪桜草 (雪樱草)
  19. 19 快晴 Orangestar (蜜柑星P),初音未来 (初音ミク)
  20. 20 永遠 霜月はるか
  21. 21 Sion 天門
  22. 22 遙かな年月-piano- 麻枝准
  23. 23 夏恋慕 kobasolo/春茶
  24. 24 夏凪ぎ-piano ver.- MANYO/麻枝准
  25. 25 Goodbye Seven Seas -piano ver.- MANYO/麻枝准
  26. 26 Light Years 麻枝准/やなぎなぎ
  27. 27 優しさの記憶 鹿乃 (かの)
潮騒の香り - 水月陵
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.