文科系のための情報科学 授業資料(8)

コンピュータは機械である

二番目のセクションに入ります。
ここでは、コンピュータの2つ目の顔、機械としてのコンピュータについて考えています。工学の世界で扱われるコンピュータです。

マンハッタン計画とコンピュータをざっくり

コンピュータがいつ誰によって、どのように創られたのかに関しては、様々な説があります。
一般的には、その開発の切っ掛けは第二次大戦時の弾道計算など、武器の精度を上げることが目標だったと言われています。1930年代後半から40年代半ばに掛けて、軍事系のプロジェクトの一環として、各国で様々な形でそうした研究がなされました。

機械には、必ずメカニズム(機構)とそれを成り立たせている原理があります。
コンピュータの機構を、「ノイマン型」と総称します。
コンピュータの実現に関わった研究者の名前を取って、名前が付けられています。結論的に言えば、ノイマン型ではないコンピュータは存在しません
しかし前も述べたように、「ノイマン型」で画像検索しても、おそらくよくわからないと思います。

スライド127

理解するために、いくつか考えて行きましょう。
以下の2つの問いかけについて、考えてみてください。
あなたがワードで文書を作っているとします。

Q1
「ワードで作っている文書」はコンピュータのどこにありますか?
Q2「ワードで作った文書」と「ワードそのもの(プログラム)」の違いを説明してください

おそらく、説明できない人が多いのではないでしょうか。
実はこの問いかけは、「ノイマン型」のメカニズムと密接に関わります。

この問いを念頭に、ここから授業を進めていきます。
結論的に言えば、「ノイマン型」とは、以下の3つの特徴を意味します。

  ① ディジタル原理
  ② 逐次処理
  ③ プログラム内蔵方式

これは、コンピュータの「基本的な構造」と機能を明確化したものですが、これを満たす計算機をノイマン型コンピュータと呼びます。
前も述べたように、ノイマン型ではないコンピュータは存在しません。と言うより、ノイマン型とは、コンピュータのことと言ってもいいでしょう。

その由来は、コンピュータの開発に携わった、John von Neumann(ジョン・フォン・ノイマン)という、数学者、科学者です。

Von Newman(フォンノイマン)という名前でわかると思いますし、バイオグラフでも示されていますが、ユダヤ系ドイツ人で、1930年代にナチスの迫害を逃れて、アメリカに移住します。

様々な伝説のある人物ですが、コンピュータとの関りで言えば、マンハッタン計画(Manhattan Project)という、原子爆弾開発・製造に関わったことが重要です。
その計画の成果として、原子爆弾が製造され、広島、長崎に投下されたのはご存知の通りです。

既に70年以上も前のことであり、さらに軍事機密でもあったわけで、わからないことが多く、実際に日本に対する核攻撃の経緯などは、以下のBlogなどでも述べられていますが、アメリカの公文書館で長く調査され、初めて明らかになったというような事実が多くあるようです。

1942年6月に、当時の米国大統領ルーズベルトが、マンハッタン計画を秘密裏に開始させます。1943年4月には、ニューメキシコ州にロスアラモス研究所が設置され、そこにノイマンら亡命してきた科学者などを集結させます。

1945年4月12日に、ルーズベルト大統領が急死し、副大統領のトルーマンが大統領に就任します。ルーズベルトの原子爆弾政策を継いだトルーマンに、「いつ・どこへ」を決定する仕事が託されます。
そうして、原爆投下の候補として、広島、京都、新潟などが決定して行きました。

日本の原爆投下の目標地点の選定にも、ノイマンは関わったようですが、コンピュータの開発やノイマンに纏わることは、様々な説があり、伝説化しています。

以下のサイトでは、その辺りをきちんと調査しています。

まとめますと、コンピュータは、このマンハッタン計画で、弾道計算のために開発されました。フォン・ノイマンは、そのプロジェクトで、コンピュータの設計思想を確立しています。いろいろと毀誉褒貶のある人物だったようですが、設計思想が彼によって明らかにされたということで、ノイマン型と呼んでいます。

スタンリー・キューブリックによる、1964年の映画「博士の異常な愛情(Dr. Strangelove )」に出て来る、マッドサイエンティスト、ストレンジラヴ博士のモデルにもなっていると言われてます。

このように、コンピュータの開発の切っ掛けは、明らかに軍事です。
軍事向けに開発された技術が、民生向けに適用されることを、スピンオフと言います。
我々の身の回りにある多くの技術的なプロダクトは、スピンオフ製品が多くあります。古くは缶詰やナイロンなど合成繊維、レトルト食品から、電子レンジ、GPS、ルンバまで、多くのものがあります。戦争は、明らかに科学技術を発達させるトリガーであるということは否定はできません。

その逆に、民生技術として開発された技術が軍事に適用されることをスピンオンと言います。この後述べますが、コンピュータの開発のきっかけにもなったある技術は、ドイツでスピンオンされたものです。

ノイマンという人物に関しては、深くは掘り下げません。ただ、彼が考え出した設計思想に基づいて、今のコンピュータは作られています。

その条件を、上で3つ挙げましたが、そのうち「ディジタル原理」は、次の「コンピュータは情報を扱う」のセクションで取り上げます。

CPUと逐次処理

ここでは、「逐次処理」と「プログラム内蔵方式」について考えます。
結論的に言えば、この2つの性質は、特にユーザの観点でコンピュータを理解するために、最も重要な点と言って過言ではありません。最初に投げかけた、ワードの文書とプログラムの違いなどの問いは、この性質に深く関わってきます。

まず大前提ですが、コンピュータは5つのことしか出来ません
それを五大機能と言います。昔のものから、最新のものまで、高機能の大規模システムからパソコン、スマホまで、例外なく、機械としてのコンピュータが出来ることは、5つしかありません。
もっと複雑なものだと思ったという意見もあるとは思いますが、身の回りの機械は、原理的には簡潔なものが殆どです。
それこそ電車などは、進むと止まるしかできません。曲がれませんし、戻ることもできません。曲がるには遠心力を使いますし、戻れませんので、前後に運転台があるわけです。

スライド158

Computerとは、5つの機能を行う機械です。
そのうちの3つまでは、解説をしています。
①入力、②出力、そして③記憶です。
残りの2つは、本体の中の、ある一つの装置によって実現されてます。
その装置を、「中央処理装置・CPU(Central Processing Unit)」と呼んでいます。

手元にあるコンピュータのカタログを見てください。その中には、機種の仕様を示す部分があります。この授業では、この仕様表を読めるようにするのが目的です。
全てのカタログの、一番最初の項目に、このCPUがあがっています。
CPUは、しばしばコンピュータの頭脳に例えられます。
CPUに関する画像には、以下に示すように、頭脳を表すようなものがたくさんありますし、そういう例えで解説されることが非常に多くあります。

図1

結論から言えば、このCPUが、残りの2つの機能を果たしています。
その機能の詳細は後述しますが、頭脳に例えられる最大の理由は、全てのコンピュータに、1個しかないというところにあります。
全ての人間には、頭脳は一つしかありません。ノイマン型コンピュータのCPUも、必ず1個あります。しかし、複数はありません。
そのため、コンピュータの全ての処理は、この1つのCPUによって行われます。
それを、「逐次処理(Sequential processing)」と呼びます。

スライド157

人間は、複数のことを同時に、並行して行うことが出来ます。
しかしコンピュータは、CPUが1個しかないため、同時にできることでも、順番に処理しなければならないというわけです。
そのため、コンピュータのプログラムを書くには、例えば人間が並行的にやっていることでも、処理を逐次処理にして記述する必要があります。

その結果として、CPUの処理能力が、コンピュータそのもののパフォーマンスを左右することになります。
こうした制約を、ノイマンボトルネックと呼びます。正確には、コンピュータの記憶装置とCPU間の制約を意味しますが、広い意味では、CPUが一つしかないという点に起因することと言えます。

画像5

履修している学生さんから、こういう質問を受けました。

図2

CPUは、なぜ1個なのでしょうか。
実際には、様々な細かい処理をするCPUも複数使われていたりしますが、もちろんノイマン型コンピュータのモデル上の疑問という意味でしょう。

一つの回答案なのですが、図を見てください。
これは、ある社会的な啓蒙ポスターの優秀作だそうですが、このポスターは何を言いたいのかわかりますか?

図3

まず、このような人は人間にはいません。もし人間がこうだったら、どうだったでしょう。
左右だけではなく、上下も広く見えて便利だという意見も多くありましたが、眼をコントロールするのが大変だと思いませんか? 
何よりこの多くの眼から入ってくる情報を処理するので、精一杯になってしまうと思います。
もしコンピュータに、複数のCPUがあったとしたら、どう仕事を割り振り、相互にどのように連携するか、かなり大変な作業になってしまうと思いませんか?
ノイマン型のモデルは、非常にシンプルです。機能は5つしか持ちません。
シンプルだからこそ、長く使われるようになってきたとも言えます。

CPUは、5大機能のうち、2つの機能を実現します。
「制御」と「演算」です。
演算機能は、プログラムの命令に従い、データの計算や比較など、データ処理を行う機能で、おそらくコンピュータの機能としては、想像が付きやすいものでしょう。
制御機能は、簡単に言えば、他の機能を統括して、各装置に指示を出します。

コンピュータのカタログ中のCPUの項目には、それぞれの処理能力が書かれています。
それをどう読み取るのかは、このあと詳細に解説します。

ところで、眼が四つのポスターの意味、わかりますか?



この記事が気に入ったらサポートをしてみませんか?