命令セット・アセンブリ

RISC-Vのようなロード・ストア・アーキテクチャの特徴として正しいものはどれか。

  1. A加算などの演算命令が、メモリ上の値を直接読み出して計算し、結果をメモリに書き戻す
  2. Bメモリを読み書きできるのはロード命令とストア命令だけで、演算はレジスタ同士で行う
  3. Cレジスタを持たず、すべての値をスタックに積んで計算する
答えと解説を見る

正解:B. メモリを読み書きできるのはロード命令とストア命令だけで、演算はレジスタ同士で行う

ロード・ストア・アーキテクチャでは、メモリの値はまずロード命令でレジスタに読み込み、加算や比較などの演算はレジスタ同士で行い、結果が必要ならストア命令でメモリに書き戻します。演算命令がメモリを直接扱わないので、命令の形がそろい、パイプラインで処理しやすくなります。x86の「add eax, [mem]」のように演算命令がメモリを読める方式とは対照的です。

  • A. 演算命令がメモリを直接扱うのはx86のようなCISCの特徴です。
  • B. 正しい。メモリとのやり取りはロードとストアに限られます。
  • C. それはスタックマシンで、ロード・ストア方式とは違います。
この分野を解く 分野ページへ

命令セット・アセンブリのほかの問題

  1. RISC-Vのレジスタx0(zero)の性質として正しいものはどれか。
  2. RISC-VのRV32I(32ビットの基本整数命令セット)が持つ汎用の整数レジスタとして正しいものはどれか。
  3. アセンブリ言語と機械語の関係として正しいものはどれか。
  4. RISC-Vの疑似命令「nop」(何もしない)は、アセンブラによって実際にはどの命令に置き換えられるか。
  5. RISC-Vの「add」命令と「addi」命令の違いとして正しいものはどれか。