- ベストアンサー
「レジスタ」の由来は?「オペランド」とどう違うの?
CPUが計算する時に記憶しておく装置「レジスタ」というのがありますが、そもそも「レジスタ」の名前の由来は何なんでしょうか? 「レジスタ」(register)を日本語に訳すると「登録」という意味になりますが、この「登録」の意味と記憶装置(レジスタ)はどう関係あるのでしょうか? さらに「レジスタ」と「オペランド」と「データ」は意味としては似ていると思いますが、どう違うのでしょうか? わかりやすく教えてください。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
レジスタは、CPUの中にある小さな記憶領域で高速に動作。 オペランドは、プログラムで指定する演算や入出力する対象の メモリまたはレジスタまたはIOポート。 データは、入れ物の種類に関係なく、記録されたり入出力されたりする情報は全てデータ。 ですかね。
その他の回答 (3)
- hahaha8635
- ベストアンサー率22% (800/3610)
全く違いますが 8086の場合 レジスタ CPU内の演算・コントロール用 記憶領域 各種命令ににより 演算 フラグを立てたりする オペランド 命令 mov pop/push CALL JP ADD SUB など オペコード 命令に対する 値 オペランドには それに対応した 1-3バイトの 命令コードがある データ : データ OSで支配されてないまたは ゆるい物だと データ領域とプログラム領域 別で使ってる 両領域も 壁がないので書き換えたり実行されたりする 例えば データ領域 に 間違えて JP した場合 そこに書かれたデータ群をオペコードと認識し実行する プログラムとして意味をなされていないので 暴走する 逆にプログラム領域にデータを書き込み それを実行した場合も 暴走する ただし 自由に書き込みができるので 演算によって JP先を表す書き換えて 実行処理の前に違う処理を実行 という 手法 フックという手法もある ただし そのような 実メモリに書き込む 書き込む処理時数クロック実際には必要なため 書き込んだ直後実行すると 意図しない 実行結果が得られ安定しないため NOP などで 数サイクル待つ必要がある
- notnot
- ベストアンサー率47% (4900/10359)
register(名詞)は、記録装置という意味があります。スーパーなどのレジも、同じregisterですね。 オペランド・・・命令の操作対象データ。レジスタか、メモリか、即値のどれか。 データ・・・非常に意味が広い。データをデータという言葉を使わず説明するのは難しいですね。
- ubku
- ベストアンサー率37% (227/608)
メモリは「記憶する」 レジスタは「記録する」 です。 今思いつきました。 気にせずいきます。 レジスタは目に見えるハードウエア(顕微鏡でしか見えませんが) 一般的にメモリより高速だが複雑。 オペランドは命令の中に含まれる、引数のようなもの、命令にバリエーションを持たせる。目には見えない。(実際は電圧) データは、ソフトウエアの内、命令でないもの。(実際は電圧) ノイマン型コンピュータでは命令もデータも2進数で表されるため、命令を数値として扱ったり(あまり意味はない)、データを命令と見なして実行することも可能(当然暴走する)