コンピューターの仕組みはいたって単純である。それを、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から主記憶装置のみで、一方的である。 |