コンピュータアーキテクチャのエッセンスを読んだときのメモ:第6章 オペランドアドレッシングと命令表現

6.1 はじめに

  • 本章では、命令について細かく焦点を当てる

6.2 0, 1, 2, 3-アドレス設計

  • 命令はオペコードとオペランドのセットからなる
  • 加算の場合、入力が二つで出力が一つの合計三つ
  • 任意の数のオペランドを各命令で指定できる方が直感的には良さそうだが
    • たいていのプロセッサではオペランドの数が限られている
    • その方が効率が良いから
      • 命令長が可変だと命令のフェッチ及びデコードの効率が固定長に比べて悪い
      • 任意の数のオペランドをフェッチするのは効率が悪い
    • 並列に動作させるプロセッサならばある程度は解決できるが
    • オペランド数を固定せずに命令セットを設計できるか
      • 存在する

6.3 オペランドのない命令

6.4 1オペランド命令

6.5 2オペランド命令

  • 足し算などに適用

6.6 3オペランド命令

  • 足し算してその結果の行き先

6.7 ソースオペランドと即値

6.8 フォン・ノイマンボトルネック

6.9 明示的又は暗黙的なオペランドの符号化

6.9.1 暗黙のオペランド符号化
  • 複数のオペコードが用意され、適切な物が使われる
6.9.2 明示的オペランド符号化

6.10 複数の値を結合するオペランド