命令セット・アセンブリ
RISC-VのC拡張(圧縮命令)の主な目的はどれか。
- Aデータを圧縮して、メモリの使用量を減らす命令を加える
- BC言語のプログラムを直接実行できるようにする
- Cよく使う命令を16ビットで表し、プログラムの大きさを小さくする
答えと解説を見る
正解:C. よく使う命令を16ビットで表し、プログラムの大きさを小さくする
C拡張は、よく使う命令を短い形に限った16ビットの命令で表します。例えば「addi sp, sp, -16」や小さなオフセットのlw・swです。32ビットの命令と混ぜて使え、コードの大きさがおおむね25〜30%小さくなります。プログラムが小さいと、限られたフラッシュメモリに収まりやすく、命令キャッシュにも多く入るので、組込み機器でも高性能なCPUでも役立ちます。
- A. データの圧縮命令ではありません。
- B. CはCompressedの意味で、C言語とは関係ありません。
- C. 正しい。コードの大きさをおよそ25〜30%減らせます。