コンピューターの仕組みはいたって単純である。それを、COMET II のCentral Processing Unit(CPU)と主記憶装置(メインメモリーとも言う)だけを考えるこ とにより理解しよう。どんな、コンピューターでもこの2つは必ず有る。キー ボードが無いとかディスプレイが無いとか、ハードディスクが無いコンピュー ターは存在するが、CPUあるいは主記憶装置の無いものは存在しない。どんな コンピューターでもその基本的な仕組みは同じである。スーパーコンピューター であろうがCOMET IIであろうが同じ仕組みで動作している。まずは、それぞれ の役割を、もう一度、示す。
図1を見ながら、以下のCOMET IIの構成機 器の動作内容を理解すること。
2年生の時、or(論理和)とand(論理積)、not(否定)の回路がトランジスター で出来ることを学習した。ブール代数というソフトウェアーがトランジスター というハードウェアーで実現できるのである。コンピューターはまさにこれで ある。すなわち、トランジスターがビットパターン(命令とデータ)応じた電圧 を制御することにより、論理演算を行っている。要するに、いままで学習した ビットパターンは、コンピューター内部では電圧のパターンに変換されて、ト ランジスターにより論理演算を行うのである。論理演算を行う装置は、以前学 習した加算器のようなものである。
COMET IIの場合、扱うデータは全て16ビットである。この16ビットのデータを 処理することが、CPUの役割である。
単純な演算を高速に処理することは得意であるが、記憶は苦手である。記憶容 量は小さく、図1に示すように10個程度の レジスタに演算に必要な情報を記憶する。それぞれのレジスタは役割が決まっ ており、次の役割を担っている。
プログラムレジスタ(PR) | 次に実行する命令のアドレスを示す。そのため、実行した命令が2語で構成 されていれば、+2加算される。1語であれば、+1加算される。 |
---|---|
汎用レジスタ(GR0〜GR7) | 演算を行うためのデータを格納する。GR1〜GR7は、指標レジスター(index register)としても使われる。 |
フラグレジスタ(FR) | 演算結果の状態を示す。演算結果の状態とは、OF:オーバーフローの有 無、SF:正負、ZF:0か否かである。 |
スタックポインター(SP) | スタック領域の最上位のアドレスを示す。これは、かなり後で学習する。 |
主記憶装置の番地は16ビットの整数で表現され、また、そこに格納される内容 も16ビットである。CPUのデータの受け渡しは、CPUの命令に従い、次に説明す るバスを通して行われる。
アドレスバス | CPUが主記憶装置の記憶内容を読み書きする場合、その 場所を示すための線である。アドレスは16ビットなので、当然その線の数も 16本である。この16本の線を0(Low)と1(High)にすることにより、主記憶装置 のアドレスを指定する。この線を通しての情報の流れは、CPUから主記憶装 置のみで、一方的である。主記憶装置がCPUにアドレスを指定することは絶 対にないのである。 |
---|---|
データバス | CPUとメモリーとの間で、データを受け渡しするための線である。COMET IIのデー タは全ていつも16ビットなので、16本の線が必要である。情報の流れは、双 方向である。 |
WR線 | CPUが主記憶装置に内容を書き込む場合、CPUがこの線を1(High)にする。 この線を通しての「主記憶装置にデータを書き込む」という情報の流れは、 CPUから主記憶装置のみで、一方的である。 |
RD線 | CPUが主記憶装置から内容を読み込む場合、CPUがこの線を1(High)にする。 この線を通しての「主記憶装置から内容を読み込む」という情報の流れは、 CPUから主記憶装置のみで、一方的である。 |