本年度、3年生の電子計算機では、アセンブラ言語を学習します。アセンブラ
言語にはいろいろありますが、ここでは情報処理技術者試験で使われる「CASL
II」というアセンブラ言語を学習します。アセンブラ言語とはどんなものであ
るかという疑問が湧くでしょうが、次回の授業で説明します。
前年の授業、2年生の「電子計算機」とのかかわりについて、簡単に述べてお
きます。2年生と3年生の「電子計算機」を通して、コンピューターの基本的な
仕組みを理解することがこれらの授業の目的です。2年生の「電子計算機」の
授業で学習したことは、大体
のようなことです。ここで、学習したことで最も重要なことは、
- いかなる真理値表であろうとも、論理和(OR)と論理積(AND)、否定
(NOT)のゲートで作ることが可能である
ということです。これらの例として、最後に加算の回路を学習しました。皆さ
んは、加算にかかわらずどんな論理を示す回路でも設計できます。言い方を変
えると、どんな演算回路でも皆さんは設計できるということです。それも、3
種類の素子(OR, AND, NOT)を使うだけで、可能なのですから驚きです。
本日の授業の後半で示しますが、コンピューターは演算と記憶の回路から成り
立っています。記憶の回路(メモリー)については、4年生で学習します。ただ、
簡単に書くと次のような図
1のような入出力線があり次
に示す動作をすると思ってください。
この図のアドレスバスとデータバス、WR、RDと書かれた線は、電圧を印加する
リード線です。それぞれは、以下の役割があります。これによりデータを記憶
できます。
- データバス
- データを読み書きする場所を示すための線です。この場
所のことをアドレスといいます。ここでは4本の線が有るので、記憶場
所は16個あります。
- アドレスバス
- 読み書きのときのデータを受け渡すための線です。4本
有るので4ビットのデータの受け渡しが可能です。
- WR
- メモリーにデータを書くと指令するための線です。
- RD
- メモリーからデータを読み出すと指令する線です。
この回路の仕組みは皆さんは理解できないと思いますが、動作は理解してくだ
さい。動作は簡単なので、このような回路を作ると巨万の富が得られると思う
と挑戦したくなるでしょう。今からでは遅いですが、半世紀ほど前であれば大
富豪も夢ではありません。どうやって作るかよりも、なにを作るかの方が重要
ということが分かるでしょう。世界の先端に居る人は、なにを作るべきかとい
うことが分かり、そして巨万の富を得るのです。
これで、コンピューターを作るうえでの基本ハードウェアーが揃いました。演
算と記憶を行う回路です。しかし、これだけでは計算はできません。この状態
は、人間で言うと赤ちゃんみたいなものです。脳はあるが未だ何もできません。
不足しているものは、
- 演算といっても、必要な演算が分かりません。計算に必要な演算回路
を決めなくてはなりません。人間で言うと、教育を行い、脳の神経細胞
をつなぐことに相当します。
- 実際の計算を行わせるためのプログラムの必要です。他の人に計算を
させるためには指示が必要なのと同じです。
です。必要な演算回路とプログラムを作らないと計算ができません。この授業
では、演算回路とプログラムについて、学習します。
この3年生の「電子計算機」の授業を受けると、コンピューターの設計に必要
なことを学習したことになります。今、巷で評判になっている「CPUの創り方」
2と
いう本の内容が理解できるはずです。
授業の目標は、
- コンピューター(電子計算機)の仕組みを理解する。
- 0と1で書かれた機械語とコンピューターの頭脳といわれるCentral
Processing Unit(CPU)の関係を理解する。
- 0と1で書かれた機械語とC言語やFORTRANのような高級言語との関係を
理解する。
です。では実際に得られるものは、
- 単位
- コンピューターの仕組みは、簡単だなーという実感
- アセンブラが理解できるという優越感
くらいでしょうか。あとは基本情報処理試験のCASL IIの基礎的な勉強になり
ます。これを合格するためには、もう少し勉強が必要です。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成16年9月7日