ARM Thumb 命令セット

ARM の Thumb 命令セットの特徴をざっくり書くと

  • 1 命令が 16 bit
  • できることは ARM 命令セットのサブセット
  • 使えるレジスタは r0 〜 r7 の 8 つ
  • 2 オペランド命令

といったところかな.

プログラムサイズが小さくなる

命令長が短いことから,高密度のコードを生成できることが期待されるのだけれど,命令長が短いがために 1 命令あたりでできることは少なくなります. ARM 社の説明によると,それでもトータルで 30% 程度コード量が小さくなるそうです.

実行速度は遅くなる

Thumb 命令は CPU 内部では ARM 命令に展開されて実行されるそうです. 1 命令でできることは ARM 命令よりも少ないので,プログラムの速度は ARM 命令よりも遅くなります.

ということで

ARM Linux 上で Thumb 命令はどれだけ使えるのか,というあたりをつついていこうかと思ってます. どこまで突っ込んで見れるかはわからないけど.

(追記)

そういえば,Thumb-2 命令セット,なんてのもあるけど,今回はこっちの話は無し. だって実行環境持ってないんだもん.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-07 (土) 17:19:04 (4001d)