ロードストアアーキテクチャ

読み:ロード・ストア・アーキテクチャ
外語:Load Store architecture
品詞:名詞

メモリにアクセスする命令を、ロード命令とストア命令だけに単純化したアーキテクチャのこと。

RISCアーキテクチャの代表的な設計コンセプトであり、命令セットやアーキテクチャをシンプルにすることが出来る。

RISCつまりロードストアアーキテクチャの場合と、CISCとの違いは、次のようになる。

RISC

RISCのロードストアアーキテクチャでは、メモリへアクセスするのはロード命令とストア命令だけである。

ロード命令は、指定したメモリアドレスよりデータを読み取り、それをレジスタへ格納する。

ストア命令は、レジスタの内容を、指定したメモリアドレスへ書き込む。

これ以外の命令は、オペランドには原則としてレジスタしか使用できない(一部には制限つきでイミディエイト(即値)が使える場合がある)。

例えば、加減乗除などの演算をすることを考える。この時、演算の対象は二つ存在する。演算命令の場合、オペランドには原則としてレジスタしか使用できないが、その代わり命令は単純化されており、効率的かつ高速となっている。

CISC

対してCISCでは、殆どの命令で、様々なアドレッシングモードが利用できる。

例えば、加減乗除などの演算をする時、二つ存在する演算対象は必ずしもレジスタである必要は無く、イミディエイト(即値)の場合や、時には指定したメモリアドレスから読み出して演算するケースもある。

自由度が高く使いやすい代わり、命令ごとにアドレッシングモードの指定が必要で、アドレッシングモードによってはメモリのアドレス指定等が加わる。命令長が一定しないため効率が悪く低速で、また演算前にメモリアクセスが必要となるため命令の実行速度も一定しない。

単純化

ロードストアアーキテクチャでは、演算命令はのオペランドはレジスタだけを想定すれば良い。

このためCISCのような複雑なアドレッシングモードは必要がなく、全命令で命令長を固定にすることができる(例えば16ビット固定長)。また演算がレジスタ同士だけなので、命令実行時間も同じにできる(例えば1ステートで実行)。

このため、命令フェッチから解読、実行、結果の反映までに要する時間は殆どの命令で同じとなり、プロセッサは制御回路を単純化することができる。

プロセッサは、単純であればあるほどクロック周波数の向上などの高速化が可能なため、プロセッサの単純化は高速化にも寄与する。

RISCは、このようにして命令の単純化→高速化を目指すアーキテクチャである。

レジスタ

RISCは、演算の全てをレジスタで行なう。また高速化を目指す目的から、演算結果を一々メモリに書いたりせず、レジスタで持ち回す方が好ましい。

そこでRISCでは、CISCと比べて多くの汎用レジスタが用意されることが多い。

ARMSuperHでは16本、MIPSSPARCでは32本の汎用レジスタが用意されているが、プロセッサによっては更に多くのレジスタを用意するものがある。