No.3ベストアンサー
- 回答日時:
> mov命令は転送したいデータと0を加算することで、そのデータを転送すると聞いたことがあるのですが、mov命令は0を加算せずにそのままALUを素通りしてレジスタなどに書き込まれる、という考え方でいいのでしょうか。
これはデータパスをどのように設計するかによります。
一般的にはMOV命令の場合、ALUは何もしません。あなたがいうようにALUで転送データに0を加算して、その結果をALUからレジスタに転送をしてもMOV命令としての動作はするので、そういう設計をしていればそのようになります。ただ、そうするとALUが動作することになるので、電力を消費してしまいます。
電力を無駄に消費したくなければ、ALUで転送データに0を加算するのではなく、転送データはALU内に埋め込まれたバス(バスはALUの論理回路をバイパスしているが、物理的にはALU内に埋め込まれている)を通すようにしたほうが、余計な演算をALUで行うことがないので、消費電力を抑えられます。
実際にデータパスのカスタム設計をした経験がないと、ALU内に埋め込まれたバスっていわれてもピンとこないと思いますが、通常はALUに入ったバスは、ALUの論理回路に入力されるパスとそれをバイパスするパスに分岐します。MOV命令のような転送命令の場合、バイパスを使ったほうが電力消費の観点からは有利なので、そうするのが自然というだけのことです。0を加えてALU内の論理回路を通してもかまわないので、そこは設計によります。
No.2
- 回答日時:
ALUは単なる演算器の塊で、命令のデコードなどの制御は行いません。
ALUは、MOV命令がデコードされた結果、制御される側です。したがって、「ALUにmov命令(転送命令)をしたら」はおかしな表現だけど、あなたが聞きたいことを汲んで回答をすると、あなたの理解で正しいです。
転送データがALUを通るかどうかはデータパスがどう設計されているかによるので何とも言えないけど、ふつうはデータパスはバスのピッチをレジスタのポートに合わせて、なるべくまっすぐになるように設計するので、MOVによる転送データは物理的にはALU内のバスを通して転送されるのが自然です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイプラインに詳しい方 5 2022/07/04 16:47
- システム CPUの問題について 2 2022/07/09 12:04
- CPU・メモリ・マザーボード CPUがメモリ上に書かれている命令を実行した後の流れについての質問です。 1 2023/05/05 01:18
- その他(暮らし・生活・行事) ネットに嘘の書き込みをしたら罪になる ? 6 2022/12/15 10:24
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- その他(コンピューター・テクノロジー) 外付けSSDにスマホのデータを書き込むのではなく、外付けSSDをスマホに接続した状態でスマホを使って 4 2023/07/18 19:32
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- ドライブ・ストレージ USBメモリやSSDの処分方法 7 2023/05/02 12:19
- その他(コンピューター・テクノロジー) データの転送速度は何で決まるのでしょうか?読み込み3000MB/Sで書き込み2000MB/Sの外付け 3 2023/07/14 22:13
- ふるさと納税 給与所得等に係る市民税・県民税 特別徴収税の決定通知書について 2 2022/06/08 22:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
VBA 空白セルを削除ではない方...
-
メモ帳(テキストデータ)をExc...
-
大学のゼミのレポートがムカつ...
-
マクロVBAについて
-
配列でデータが入っている要素...
-
二分探索の平均探索回数
-
Accessで該当データにフラグを...
-
シーケンサにパソコンからアク...
-
数値のみで記述されたrawデータ...
-
MSCommを用いたRS-232-Cデータ転送
-
S9タイプからXタイプにデータ...
-
win7でvbsファイルが実行できない
-
C# ソケット通信でデータ受信時...
-
C# でDataTableの更新を高速化...
-
条件付データの行削除について
-
パースとはなんですか?
-
CD-Rメディアの中古?
-
[COBOL]日付比較
-
シリアル通信プログラム(受信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
VBAを使ってOutlookメール本文...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報
書き方がおかしくて申し訳ございません。少し理解できました。
転送データがALUを通るように設計されているとします。
mov命令は転送したいデータと0を加算することで、そのデータを転送すると聞いたことがあるのですが、mov命令は0を加算せずにそのままALUを素通りしてレジスタなどに書き込まれる、という考え方でいいのでしょうか。
繰り返し申し訳ありませんがよろしくお願いいたします。