ノイマン型コンピュータ


これもコンピュータを勉強した人にとっては周知の事柄でしょうが、同じくボルターの『チューリング・マン』から、図と説明を以下に援用することにします。


 (p.77 図3-2)


「ノイマン型コンピュータのユニークな特徴はプログラムとデータが二進数の列として同じ方法で保存されるという点にある。データのおのおのを加減計算する命令の集合としてのプログラムはそのデータ他ともにコンピュータのメモリ内部にロードされる。機械の中央処理装置(CPU)はめいれとデータを通常はその一だけで区別する。そこでは命令が解読実行され、それにしたがってデータが処理される。図3-2に示したノイマン型コンピュータの解説図はまだ非常に抽象的である。現在の機械では各ボックスは何千、何万ものトランジスタからなる電子装置になっており、矢は装置間の指示された方向へ電気的「情報」を伝えることを許容する回路、すなわち配線である。メモリと記されたボックスはチューリング・マシンのテープに対応している。そこには入力が蓄積され、計算途中の結果がCPUによって記入される。CPUは汎用[万能]チューリング・マシンの走査規則に対応するものである。その電子工学的構造に組み込まれているものはメモリ内部で見つける命令とデータを意味あるものにするための規則である。チューリング・マシンがテープに沿って動くのと同様にCPUはメモリにアクセスし、一度 に一つの命令を取り出してそれを実行する。

CPUは論理回路と主種のレジスタからなっている。レジスタはすぐに処理すべき個々の命令かまたは少数のデータを保有している。その制御装置は、現在のコンピュータでは、物理的というよりもむしろ機能的な部門であるが、命令を一連の電子的動作に分解し、全システムのひとつひとつの操作を制御する(この部分は初期の機械の差込盤に取って代わったものである)。算術論理演算装置(ALU)は要求される実際の加減や論理計算を遂行する。

メモリ内部の次の命令が、二数を加えて、その結果をメモリ内のどこか別の場所に保存するものであると仮定しよう。一連の動作は以下のようになる。

  1. 制御装置がメモリに対し次の命令を送るように指示し、命令レジスタに対してはそれを受け取るように指示する。解読回路は命令を読み、それが二数の加算を要求していることを発見する。
  2. 制御装置はメモリから、加算されるべき二数を引き出してきて、それらの数をデータ・レジスタに入れる。
  3. 制御装置がこの二数を演算装置に送り、そこで二数は加算さえて、そのわがデータ・レジスタへ戻される。
  4. その和をレジスタからメモリへ送り返す。

次に、このような過程がプログラムの次の命令、その次の命令というように繰り返される。コンピュータは周期的に働くが、各周期は二つの部分すなわち読みとりと実行からなる。読みとりステップとは命令を「読み」かつ解釈する(上の一連の動作の1にあたる)部分で、そこでは解読器が何をなすべきかを発見する。一方、データを実際に処理する(2から4)のは実行ステップである。」(ボルター『チューリング・マン』p.73-75)


フォン・ノイマンの仕事と意義については、以下の著作を参照。


第5回講義に戻る