プロが教える店舗&オフィスのセキュリティ対策術

今情報処理概論という勉強をしています。教科書をよんでもわからないので2つ質問です。
1.プログラムカウンタと命令レジスタ
 例えばプログラムカウンタが”2256040”であるとき、次のフェッチサイクルではこの番地からはじまる命令が命令レジスタに移され移された命令が4バイト命令であれば、プログラムカウンタには4が加えられる。、と教科書に書いてあるのですがチンプンカンプンです。誰かわかりやすいように説明していただけますか?

2.演算装置について
 例えば”01001010 11001101”と表記されている命令は、あるコンピュータでは”1010 11001101”にある16ビット符号付整数を演算装置のレジスタ(アキュムレーター)の内容に加え、その結果(和)をアキュムレーターにセットすることを意味する。、と教科書に書いてあります。まったく意味不明なので誰かわかりやすく説明できる人回答お願いします。

ながくなりましてすいません。よろしくお願いします。

A 回答 (1件)

はじめまして。


1.プログラムカウンタは、「次に実行する命令が入っている番地」を記録しているところです。
 メモリは、1バイト単位に番地が区切られています。番地が1増えると、1バイト分次の番地を指します。
 4バイト命令であれば、1つの命令に4バイト分のメモリを使うので、「その次の命令の場所」は4バイト先、つまり番地が4つ進みます。
 だからプログラムカウンタには、現在の値に4が加えられます。

 例えば、30番地にある4バイト命令を実行したら、次の命令は34番地。
 プログラムカウンタは、30から34に変わります。

2.「101011001101番地の内容を、アキュムレータの内容に加える」という命令です。加えた結果は、アキュムレータに入ります。
 最初の4ビット(0100)が「命令」で、残りの12ビット(1010 11001101)が「番地」を指しています。
 つまり、命令(0100)に従い、「指示した番地(1010 11001101)に入っているデータをアキュムレータに足しなさい」ということです。

 長い回答になってしまいましたが、CPUの基本的な処理手順です。このレベルでは昔も今も基本は変わっていません。最初が大変ですが、コンピュータアレルギーで無い限り必ず慣れてきます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!