計算機システムハードウェア編(第3回)
~ ノイマン型コンピュータ ~
ノイマン型コンピュータ 「コンピュータの父」とも呼ばれるアメリカの数学者、ジョン・フォン・ノイマン (John von Neumann)氏によって 1946年に提案された方式で、世界最初のノイマン型コンピュータは1949年にイギリスで開発された「 EDSAC」である。
1942年にアメリカで世界最初の (電気式 )コンピュータである ABCが開発されたが、当時のコンピュータは真空管の配列や配線が計算内容をそのまま反映したものになっており、別の計算を行なうためには配線をすべてやり直さなければならず、汎用性が著しく乏しかった。
ノイマン型コンピュータ ノイマンは、プログラムをハードウェアから独立させてデータとして外部から与え、汎用のハードウェアでこれを実行させる方式を発表した。これがノイマン型コンピュータである。ソフトウェア(プログラム )という概念の誕生もこのときであった。
ノイマンは自身もノイマン型コンピュータ「 EDVAC」の開発に関わっていたが、チーム内のいざこざが原因で開発が遅れ、世界初のノイマン型コンピュータの座は、イギリスのケンブリッジ大学でモーリス・ウィルクス(Maulice Wilkes)らが開発した「 EDSAC」に奪われてしまった。
ノイマン型コンピュータとは?
ストアドプログラム方式 (プログラム蓄積方式 )
その2大特徴は命令(プログラム)をデータとして記憶装置に格納
命令を順番に読み込んで実行
その他の特徴
単一メモリ方式 プログラムとデータを同じメモリに記憶
線形メモリを有する
その他の特徴
PC(プログラムカウンタ )で実行する命令を指す
ALU(算術論理演算器)などの演算器を有する
その他の特徴
アキムレータやレジスタなどの少量の高速な記憶装置を有する
メモリとレジスタ間のデータ転送を命令で明示的に行う
ノイマン型コンピュータの構成
CPU
メモリ I/O
ノイマン型コンピュータの構成
CPU
メモリ I/O
CPUの位置
CPU(中央処理装置)
CPUの進化
組み込みシステム vs. パソコン
CPUの位置
CPUの構成
演算装置(データパス)データの加工、計算、判断、記憶、転送など
制御装置(コントロールパス)命令処理の順番、各演算器などの制御
データパス
データパス
データパス
コントロールパス
命令の処理手順
処理の流れ
処理の流れ
次回・・・
命令とは・・・
命令とは
• CPU → が理解できる言語 機械語
• メモリ内に蓄えられたプログラムのなかの一部
命令の構成
命令の構成
• オペレーションコード( OPコード)• 命令の種類を示す
• オペランド• 命令の対象を示す
OP(オペレーション)コード
• 命令の種類• データ転送命令• 演算命令• 制御命令• その他• ( I/O、割り込み、疑似、マクロ)
オペランド
ノイマン型コンピュータ裏話つづき
実は、ノイマンは EDVAC開発計画には途中から参加しており、プログラム内蔵方式という基本設計はプロジェクト当初から関わっていたジョン・エッカート (John Presper Eckert)とジョン・モークリー (John William Mauchly)によって考案されたと言われている。
EDVACは軍が資金援助しており、軍事機密として開発されていたため、 2 人をはじめとする開発メンバーは特許や論文を通じて詳細を発表することはなかった。ところが、ノイマンはメンバーに相談もなく EDVACの論理的側面をまとめた論文を自身の名前で発表してしまったため、世間的にはこの方式はノイマンの着想によると認識されるようになった。開発チームの内紛はこの事件が原因といわれている。