teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

命令とデータについてすこし追加

2020/06/29 17:20

投稿

magf
magf

スコア212

answer CHANGED
@@ -21,4 +21,8 @@
21
21
 
22
22
  「ライトバック」は、制御信号がレジスタへ出力することを示しているならレジスタへ書き込んだり、メモリ出力があればメモリに書き込んだりします。
23
23
 
24
- CPUはこのサイクルを延々と回すことで動いています。
24
+ CPUはこのサイクルを延々と回すことで動いています。
25
+
26
+
27
+ ちなみに、CPUは命令を読み込む時、それが実際には命令なのかデータなのかはわかりません。とりあえず命令と仮定して読み込み、そのまま実行します。なので、データを書き換える命令を使って次に実行される命令を書き換えるといったことも(基本的には)可能です。もちろん、命令と間違えてデータを実行して変な動作になる・・・とかも起こりえます。
28
+ ※ただし、現代的なOS(オペレーティングシステム)では命令とデータでメモリのどの領域を使うかが分かれており、命令の領域を書き換えようとするとOSが感知して強制終了したりします。すごいですよね。