命令セット・アセンブリ
x86の命令「add eax, [rbx]」のように、演算命令がメモリ上の値を直接使える方式について正しいものはどれか。
- A命令の数は少なくできるが、1つの命令の中にメモリの読み出しと演算が含まれる
- Bロード・ストア・アーキテクチャと呼ばれる方式である
- Cメモリの値を使う演算は、レジスタ同士の演算と必ず同じ時間で終わる
答えと解説を見る
正解:A. 命令の数は少なくできるが、1つの命令の中にメモリの読み出しと演算が含まれる
x86では1つの命令で「メモリから読んで足す」ことができ、同じ処理をRISC-Vで書くと、lwとaddの2命令になります。命令の数やコードは小さくなりやすい一方、命令ごとの仕事の量がばらばらで、パイプラインで扱いにくくなります。そこで現在のx86のCPUは、内部でこうした命令をロードと加算のような単純な操作(マイクロオペレーション)に分けて実行しています。
- A. 正しい。CISCの特徴の一つです。
- B. ロード・ストア方式はメモリと演算を分ける方式です。
- C. メモリの読み出しが加わる分、時間がかかります。