4 命令とデータの区別について

主記憶装置に格納されているデータは、16ビットのただのビットパターンであ る。16個の0と1の集まりにすぎない。16進数で書くと、4桁の数字である。そ の4桁の16進数の数字が、整数や文字、あるいは命令を表したりする。CPUは、 それらをどのように区別しているのであろうか?。そのからくりは?。それらを 全く区別していないというのが答えである。ただ単に、プログラムレジスタPR が示すアドレスの内容は命令と解釈するだけである。すごーく、単純である。 後は、その命令に従い、主記憶装置の内容が命令になったり、整数になったり、 文字になったりしているだけである。メモリーの内容を見ただけでは、それが 示すものは、文字なのか整数なのか、命令なのかはは分からないのである。

COMET IIでは、命令と処理すべきデータ(整数や文字)が同じところに、区別無 く格納されている。世界中にある普通のコンピューターも同じようになってい る。このように、命令とデータ区別しないで、同じメモリーに格納することは ノイマン型コンピューターの特徴のひとつである。

通常のコンピューターは、とてつもないビットの操作をしていることが分かる であろう。それもひとつも間違えないで行うのは奇跡に等しいと思える。どの ようにしているのであろうか?。

図 1: COMET IIのハードウェアーとプログラムの状態
\includegraphics[keepaspectratio, scale=0.9]{figure/config_COMETII.eps}



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成16年9月7日


no counter