コンピュータは ユーザーから与えられたデータをメモリに保存しなければ そのデータを取り扱うことができません。 命令レジスタ 命令デコーダ プログラムカウンタ 

マックス「ということはメモリに蓄えられたデータを


CPUは自分の中にあるレジスタという器にとりだして


料理しているわけだ。」



🍋だから



天国にいけるC言語入門ていう本で


最初からずっと


コンピュータは


ユーザーから与えられたデータをメモリに保存しなければ


そのデータを取り扱うことができません。


といっている意味が


ここで💖わかったんじゃな~い?



マックス「いまごろ わかったんか~い


まあ確かに メモリに蓄えられたデータを


CPU内部の器に盛るのだから当然か・・・」



🍋ついでにいうとユーザーから与えられたデータだけでなく


コンピュータに与えられる機械語の命令自体が


メモリに格納されるんだよ


そして 


CPUはメモリから


メモリに格納された機械語の命令を


取り出して


命令レジスタ(Instruction Register)という記憶装置に格納します


命令レジスタ(Instruction Register)は機械語の命令を格納するレジスタなんだ


数値データを格納するレジスタたちとは違う役割を持つレジスタなんだ


そして


その機械語の命令が保存されているメモリのアドレス番号を格納しているのが


プログラムカウンタというレジスタになっています。


つまり


プログラムカウンタが格納しているアドレス番号のついた


メモリに格納されている機械語の命令を


命令レジスタは格納するんだ。


マックス「ユーザーから与えられたデータだけでなく


コンピュータに与えられる機械語の命令自体が


メモリに格納される・・・


ぜんぜんついでじゃなくて


めちゃくちゃ本体なことなのではないか~い」



🍋よかったね。 ここにきて😊



マックス「つっこみどころ満載だな


俺自身に・・・」




🍋そして


命令レジスタという記憶装置に格納された


機械語の命令は


命令デコーダ(Instruction Decoder)という装置によみこまれ実行されていきます。


機械語の命令が実行されると


プログラムカウンタというレジスタは


いま


プログラムカウンタに格納していた


(機械語の命令を格納していたメモリがもつ)アドレス番号より


1だけおおきい


アドレス番号を格納することになります



☆    ☆    ☆



☆    ☆    ☆


🍋となると


命令レジスタに格納されるのは



プログラムカウンタが格納しているアドレス番号の付いたメモリに


格納されている機械語の命令


から


1つ大きいアドレス番号の付いたメモリに


格納されている機械語の命令


ということになり


命令デコーダという装置によみこまれ実行されていきます。



つまり


プログラムカウンタは機械語の命令が実行される順序を


管理しているわけなんだ



マックス「つまり


プログラムカウンタが指定するアドレスのメモリに


格納されている機械語の命令が命令レジスタに格納され


命令レジスタに格納された機械語の命令を


命令デコーダが読み取って


プログラムが実行されるというわけだ・・・」



























  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る