たのしい工学

プログラミングを学んで、モノをつくりたいひと、効率的に仕事をしたい人のための硬派なブログになりました

【独学するコンピュータサイエンス】ノイマン型コンピュータ

   

世の中にあるコンピュータはみんなおなじ仕組み

あなたが使っているPCも、どこかのお店にあるPCも、じつは仕組みはすべておなじだって言っても言い過ぎではなかったりします。なぜならこれらのPCはみなノイマン型コンピュータというしくみで説明できるからです。

ノイマン型コンピューターは、米国のフォンノイマン博士によって考案されたコンピューターの仕組みですが、現代のコンピューターシステムの99%がこの方式であるといっても過言ではありません。100%でないのは、わずかに他の方式のコンピューター、たとえば量子コンピュータなどの次世代コンピューターの試作があるからです。ただし、それらも基本的な部分はノイマン型の特徴を受け浮いでいると言われ、そういう意味ではほぼ100%がノイマン型コンピュータコンピューターであるといえます。

ノイマン型コンピュータの構成

ノイマン型コンピュータコンピューターの基本構成は、

1 中央処理演算装置(CPU)
2 メモリ(主記憶装置) RAM /ROM
3 入出力装置 (I/O)
4 各部接続のためのバス(データーバス/アドレスバス)
5 補助記憶装置 (時期記憶装置など)

です。

メモリに記憶するときのデータ構成は、基本的にビット(0あるいは1という2進情報)で処理されますが、メモリへの記憶の最低単位は8ビットです。8ビットの構成を1バイトという単位で管理をしています。過去には16ビットのワード単位で管理した時代もありましたが、現在ではバイト単位に管理します。メモリにアクセスするためのデータは、もちろん8ビットです。そのため、データバスは8ビット用になっています。

メモリの数は非常に多いのでアドレスという方式で管理します。アドレスということばのとおり、これは現実の世界でいうところの住所にあたります。このアドレスをメモリに対して指定するときのビット数は様々ありますが、現代の主流は64ビットです。他32ビットや、128ビットタイプのアドレスバスをもつものもあります。

CPUはこのアドレスによって、書き込むメモリの位置=場所を指定するような管理をします。一般的に、これをアドレッシングと言います。このアドレスのことを標準的には番地と言いますが、プログラミングの世界ではポインタとい言う場合もあります。 CPUは指定したアドレスの場所のメモリからデータを取り出し。それがCPUへの命令であれば即時に演算処理します。格納されているデータが命令であればほとんどの場合つぎにメモリから読み込む値がデータになるように、CPUへの命令は作られています。
 
入出力装置(I/O)に関しても、CPUはアドレスバスとデータバスをつかって読み書きしますが、I/O からの入出力は、割り込みという仕組みをつかってデータのやり取りをするのが一般的です。ノイマン型コンピュータの構成を図示すると以下のようになります。

 - コンピュータサイエンス