コンピュータは基本的にはCPU・RAM(メモリ)・ROM(ハードディスク、SSD)・マザーボードで成り立ちます。それぞれ人間に例えると、CPUが脳・RAMが脳の記憶部分・ROMは記憶をノートに書き出し(書き込み)、読み出し(読み込み)する腕やペンやノート・マザーボードは全体をつなぎとめる神経・あとは電気や電源が、血液や心臓となります。

コンピュータの構成

1年以内に更新されました。
更新日 : 2019年11月05日

コンピュータは基本的にはCPU・RAM(メモリ)・ROM(ハードディスク、SSD)・マザーボードで成り立ちます。それぞれ人間に例えると、CPUが脳・RAMが脳の記憶部分・ROMは記憶をノートに書き出し(書き込み)、読み出し(読み込み)する腕やペンやノート・マザーボードは全体をつなぎとめる神経・あとは電気や電源が、血液や心臓となります。

プログラミングで必ず使うコンピュータを知る

CPUやRAMはパソコンを買うときに必ず見るべき項目です。プログラミングを行う上で特に重要なのは、RAMです。プログラムは必ずコンピュータ上で動作するものなので、最低限コンピュータの構成についての知識を知っておきましょう。筆者はプログラミングを学びながら知っていったことですが、先に知っておいて損はありません。

コンピュータの主要部品とその構成

冒頭で記載したCPUやRAM・ROMなどについて簡単に説明していきます。

  • CPU
    プログラムの計算を行う、人間で言う脳みそ本体です。
    与えられた命令に従い、計算をして実行結果を返します。人間ではここが考える部分です。
  • RAM - Random Access Memory(メモリ)
    データを記憶したり、取り出したりする部分です。ただし電源が切れるとすべてを忘れます。
    そのかわりとても記憶(データ)を取り出したり書き込んだりするのが速いです。
    人間で言うところの短期記憶を司る部分ですね。脳であるCPUとの連携がとても取りやすい重要な部分です。
    このRAMの容量が多いと、それだけたくさんのデータを扱うことができます。プログラムを動作させるときも、一旦RAMに記憶させて、CPUとやり取りします。
  • ROM - Read Only Memory(ストレージ)
    こちらもデータを記憶したり、取り出したりする部分です。(Read Onlyだからといって書き込めないわけではありません。)ただしRAMと違って、電源が切れても忘れません。ここでRAMなしでROMだけでいいじゃんと思うかもしれませんが、違います。
    RAMとROMの速度差は10万倍〜ぐらい違います。そのため、RAMがないとちんたらしたパソコンになり、使えるレベルになりません。。
    書き込み・読み込みが遅いため、ノートとペンに例えられたりします。
  • マザーボード
    ここからは読み流しても大丈夫です。マザーボードは全体をつなぐ神経のような役割となります。上記の部品やその他サブとなるような部品など様々な部品を結合する役割となり、必須ですがプログラミングではそこまで重要視しないことが多いです。自作でコンピュータを組み立てる方などは、RAMやROMがマザーボードに合うかどうか規格を確認することがあります。
  • 電源
    電源は全体を動作させるための血液や心臓のような役割となります。
    もちろんこれがないとコンピュータは動きませんが、プログラミングはコンピュータが動作している前提の話なので、プログラミングを動作させる上では重要視しません。
    自作PCを組み立てる人は、電源の大きさ(心臓の大きさ)で流せる電気のエネルギー(血液)が変わるため、RAMやROMやCPUを動作させるのに足りる仕様かどうか確認することがあります。

人間以外の例え

電気屋の店員さんが人間以外で例えているのを聞いたことがあるのでこちらも紹介しておきます。例えでしっくり来る方の感覚で覚えるといいかと思います。

CPUを人間本体(やりたいことを処理したり計算したりする)・RAMを作業机の広さ(眼の前にデータが置いてあるので取り出しやすい)・ROMを本棚(様々なデータを格納できるが、取り出すのに時間がかかる。)というように例えていました。

プログラミングで重要なRAM

プログラミングを行う上で特に重要なのはRAMです。
CPUは脳みそなので重要に見えます。確かにCPUがないと動かないので重要ではあるのですが、計算自体が速いか遅いかの違いしかありません。

RAMが重要視される理由としては、RAMは高価で貴重なため(もちろんCPUも高価)、基本的にコンピュータ内での容量が少ないことに起因して、プログラムを動作させる容量に限りがある場合があるからです。

RAMは通常のノートPCであれば、画面の描画データ・OS(オペレーティング・システム)であるWindowsやmacOS・その他のアプリケーションなど、すばやくアクセスするために様々なところで使用されます。

プログラム1つ1つの容量は少ないことがほとんどですが、コンピュータを動作させる際には数多くのプログラムが動作するため、基本的に容量は多く使えません。

そのため、RAMをとてつもなく使用するプログラムがあった場合に、そのプログラムが全く動作しない・または使えるレベルの速度で動作しないなどといった問題に直結します。

RAMを使いすぎないために

RAMの重要性は、プログラミングを学びながら少しづつわかるかと思います。筆者のプログラミング学習においてもRAMを使いすぎないために工夫をしながらコードを書くこともあります。その工夫をするためには、どうしたらRAMが使われるのか、逆にどうしたらRAMを使いすぎずに動作させるのかを知る基礎が必要です。

複雑で多機能なプログラムになっていけば行くほどRAMの使われ方が重要になり、基礎力を問われることになるので、何度も言いますが、基本を大切にしましょう。