パタヘネChapter3 part2

Chpter3--命令:マシンの言葉
ハードウェアの設計に関する四つの基本原則
  1. 単純性は規則性につながる。
  2. 小さければ小さいほど高速になる。
  3. 優れた設計には適度な妥協が必要である。
  4. 一般的な場合を高速化せよ。

3.4 コンピューター内での命令の表現 p.105

命令はフィールドと呼ばれる区切られた部分に分けられる。

  • 命令を数値で表現したものを機械語(machine language)と呼び、
  • それらの命令を連ねたものをマシン・コード(machine code)と呼ぶ。
  • 命令を表記するこのような枠組みを命令形式(instruction format)と呼ぶ。

単純性は規則性につながるという設計原則にのっとり、MIPSの命令はすべて長さが32ビットになっている。
各フィールドには以下のようになっている。

op rs rt rd shamt funct
6bit 5bit 5bit 5bit 5bit 6bit
op
命令の基本操作。従来から命令操作コード(opcode オペコード)と呼ばれている。
rs
第1のソース・オペランドレジスタ
rt
第2のソース・オペランドレジスタ
rd
デスティネーション・オペランドレジスタ。つまり結果を収める先。
shamt
シフト量。
funct
機能。命令操作フィールドのバリエーションを表す。機能コード(functional code)と呼ばれることがある。

しかし、ここで上に記したフィールドよりも長いフィールドを必要とする命令があると、問題が発生する。
ロード命令などでは5ビットのフィールドでは小さ過ぎて役に立たない。

相反する要求
  • すべての命令長を同じにしたい
  • 命令形式を1つにしたい

これらは両立しない。

そこでハードウェア設計に関する3番目の原則

  • 優れた設計には適度な妥協が必要である。

MIPSの設計者が選択した妥協案
すべての命令長を同じに保つこと。ロード命令を以下のようにする。

op rs rt     adress   
6bit 5bit 5bit    16bit   

複数の命令形式を許すとハードウェアが複雑になる。しかし、命令形式にある程度の類似性を持たせれば、複雑性を抑えることが出来る。

今日のコンピューターは2つの基本原理に基づいて設計されている。

  • 命令は数値として表現される。
  • プログラムをメモリ中に格納して、数値と同様に読み書きすることが出来る。

この根本原理からプログラム内蔵(stored-program)方式の概念が生まれた。
メモリ中に種々の要素が格納される。具体的には

など。