【のいまんがたあーきてくちゃ】

ノイマン型アーキテクチャ とは?

最終更新:
💡 命令とデータを、同じメモリに置く基本構成

プログラムの命令とデータを同じメモリ空間に格納し、CPUが命令を読み出して処理するコンピュータの基本構成。プログラムをメモリに保存する「プログラム内蔵方式」の代表的な設計で、命令用とデータ用を分けるハーバード型と対比される。

📌 このページのポイント
命令とデータを同じメモリへ CPU 制御・解読 演算 レジスタ メモリ 命令 データ 命令を読む データを読む 書き込む CPUの処理の流れ(概略) 取り出す 解読する 実行する 次の命令へ。分岐で進む位置が変わることも
線は命令やデータの流れる向きです。実際にはキャッシュなどが加わり、より複雑な構成になります。
ひよこ ひよこ
ノイマン型って、どんな設計なの?
ペンギン先生 ペンギン先生
CPUが実行する命令と、その命令で扱うデータを同じメモリ空間に保存する基本構成だよ。CPUはそこから命令を読み出し、計算やデータの読み書きを進めるんだ。
ひよこ ひよこ
プログラムをメモリに置くと何が便利?
ペンギン先生 ペンギン先生
保存する命令を入れ替えることで、違う処理をさせられるよ。これはプログラム内蔵方式の考え方。ただし、命令用とデータ用のメモリを分ける設計でもプログラムは保存できるので、内蔵方式とノイマン型は完全に同じ意味ではないんだ。
ひよこ ひよこ
CPUはどんな順で処理するの?
ペンギン先生 ペンギン先生
大まかには、命令を取り出すフェッチ、意味を調べるデコード、実行という流れだよ。次の命令の位置を管理するのがプログラムカウンタ。分岐などで別の位置へ進むこともあるので、メモリの先頭から一直線に実行するわけではないんだ。
ひよこ ひよこ
弱点もある?
ペンギン先生 ペンギン先生
命令やデータの転送がCPUの処理に追い付かないと、メモリとのやり取りが制約になる。ノイマンボトルネックと呼ばれる問題だよ。CPUの計算性能だけを上げても、全体が同じ割合で速くなるとは限らないんだ。
ひよこ ひよこ
今のパソコンも、この図のままなの?
ペンギン先生 ペンギン先生
基本を理解するためのモデルだよ。実際のCPUにはキャッシュなどがあり、命令用とデータ用の経路を一部分で分ける構成もある。命令用とデータ用を分けるハーバード型との違いを押さえつつ、製品の内部はもっと複雑だと考えよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ノイマン型アーキテクチャ」って出てきたら「命令とデータを同じメモリに置いて処理する基本構成」と思えばだいたいOK!
📖 おまけ:英語の意味
「Von Neumann Architecture」 = フォン・ノイマン型の構成
💬 数学者ジョン・フォン・ノイマンの名にちなむ呼び方。ENIACの後継機EDVACに関する報告が、プログラムをメモリに置く考え方の普及に関わったよ。

参考資料

← 用語集にもどる