2 COMET IIのハードウェアー

アセンブラ言語を学習するためには、コンピューターの仕組みを理解する必要 がある。そこで、もう一度コンピューターの仕組みを説明する。これは、アセン ブラ言語を学ぶもっとも基本的なことである。どんな学問でも基本さえしっかり 理解していれば、後はなんとかなる。

コンピューターの仕組みはいたって単純である。それを、COMET II のCentral Processing Unit(CPU)と主記憶装置(メインメモリーとも言う)だけを考えるこ とにより理解しよう。どんな、コンピューターでもこの2つは必ず有る。キー ボードが無いとかディスプレイが無いとか、ハードディスクが無いコンピュー ターは存在するが、CPUあるいは主記憶装置の無いものは存在しない。どんな コンピューターでもその基本的な仕組みは同じである。スーパーコンピューター であろうがCOMET IIであろうが同じ仕組みで動作している。まずは、それぞれ の役割を、もう一度、示す。

1を見ながら、以下のCOMET IIの構成機 器の動作内容を理解すること。

2.1 CPU

CPUの役割は、命令に従いデータの加工(演算)を行うことである。その命令は、 単純である。単純なことしかできないが、その処理速度は、信じられないくら い高速2である。CPUの回路は、2年生の時に学習し た論理回路(組み合わせ回路、順序回路3)で構成されている。そこで、論理回路はどんなの入出力の論理でも可能 であることを学習したはずである。それも、たった3つ(and, or,not)の回路の 組み合わせで、できるから驚きである。このことから、どのような処理でも可 能な回路ができることが分かる。

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) スタック領域の最上位のアドレスを示す。これは、かなり後で学習する。

2.2 主記憶装置(メインメモリー)

主記憶装置の役割は、命令や処理をするデータ(数字や文字)を記憶することで ある。記憶する場所は65536個有り、それぞれに整数の番号が割り振られてい る。その番号を番地と言い、通常16進数で表し、COMET IIの場合、その範囲は #0000#FFFF番地である。

主記憶装置の番地は16ビットの整数で表現され、また、そこに格納される内容 も16ビットである。CPUのデータの受け渡しは、CPUの命令に従い、次に説明す るバスを通して行われる。

2.3 バス

バス(bus)とは、コンピュータ内部で各回路がデータをやり取りするための伝 送路のことである。ここでは、CPUと主記憶装置をつなぐ、電線のことを言う。 COMET IIやCASL IIの仕様(教科書p.207〜214)には記述されていないが、コン ピューターを考える場合、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から主記憶装置のみで、一方的である。

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


no counter