コンピューターのパーツ
Elementryなぜこれを知る必要があるか
毎日コンピューターを使っているが、中で何が起きているか知っているだろうか?Windows のノートパソコンでも、MacBook でも、Microsoft Surface タブレットでも、どのコンピューターも同じ少数のコアコンポーネントで作られている。その部品が何で、それぞれが実際に何をするかを知ると、コンピューターを不思議な黒い箱としてではなく、理解できる機械として見られるようになる。
そのメンタルモデルがコンピュータサイエンスの他の全てのための土台だ。構築していこう。
CPU — 仕事をする脳
CPU(Central Processing Unit、中央処理装置)は実際にプログラムを動かすコンポーネントだ。すべての計算、すべての判断、画面上のすべてのアニメーション — それらすべては CPU が命令を一つひとつ、毎秒数十億回のペースで実行している。
CPU をデスクに向かって高速に作業する人として想像してほしい。タスクを拾い上げ、必要な計算や比較をこなして結果を置き、すぐ次のタスクを拾い上げる。これをあまりに速くこなすため、すべてが同時に起きているように感じる。実際にはタスクを一つずつ(あるいはいくつか同時に — 後ほど説明する)高速にこなしているのだが。
デスクトップタワー PC では、CPU はトランプカードほどの大きさのフラットな四角いチップで、大型のファンや水冷ブロックの下に隠れている。ノートパソコンでは似たチップが使われるが、消費電力と発熱を抑えるよう設計されている。Surface タブレットでは CPU はさらにコンパクトで、薄く軽くするために CPU、グラフィックス、その他のチップが一つの小さなパッケージ — SoC(System on a Chip、システムオンチップ)— にまとめられていることもある。
見た目は違う。パッケージも違う。でも仕事は同じだ。
コア数とクロック速度
「3.2 GHz、10コアプロセッサー」というスペックを見たことがあるだろう。意味はこうだ:
- クロック速度(clock speed)— **ギガヘルツ(GHz)**で測られ、CPU が毎秒こなせる基本的な操作の数を大まかに表す。3.2 GHz なら、毎秒約32億の基本操作をこなしている。
- コア(core)— 現代の CPU にはコアと呼ばれる複数の独立した処理ユニットが入っている。8コアの CPU は、8人の人が8つの机でそれぞれ別のタスクを同時にこなしているようなものだ。音楽を聴きながらブラウザを開いてファイルをダウンロードしても止まらないのはそのためだ。
今のところ重要なのはシンプルだ:CPU はコードを実行するもの。他の部品はすべてそれを支えるために存在する。
RAM — CPU の高速で一時的なワークスペース
CPU は即座にアクセスできるデータしか扱えない。ストレージドライブ(次で説明する)は遅すぎる — データが近くにある場合と比べて、CPU は何百万倍も待つことになる。そのためコンピューターは、はるかに速くて CPU に近い別のメモリを使う。これを RAM(Random Access Memory、ランダムアクセスメモリ)と呼ぶ。
アプリを開くと、OS はそのコードとデータをストレージから RAM に読み込む。CPU はプログラムを動かしながら、猛烈な速度で RAM の読み書きを行う。
使いやすい例えで言えば、RAM は作業台の表面だ。今作業しているものはすべてそこに広げてある — 素早く手が届き、並べ替えやすく、目の前にある。ストレージは部屋の向こう側のキャビネットだ。資料を取りに行き、作業台に持ってきて、そこで作業する。
重要な点がある:RAM は揮発性(volatile)だ。電源が切れると — ノートパソコンをシャットダウンしたり、Surface のバッテリーが切れたりすると — RAM の内容はすべて一瞬で消える。これがアプリが再起動時に閉じる理由であり、「未保存の変更」が「まだストレージに書き込まれていない変更」を意味する理由だ。
現代の典型的なノートパソコンには 16〜32 GB の RAM が搭載されている。タブレットは 8〜16 GB が多く、薄型デバイスでは基板に直接はんだ付けされていて、古いデスクトップのように交換はできない。物理的な配置は違うが、役割は同じ — 現在動いているもののための高速で一時的なワークスペース。
ストレージ — ファイルが永続的に保存される場所
ストレージは先ほどの例えでのキャビネットだ。電源が切れても生き残る必要のあるすべてのものを保持する — OS、インストールされたアプリ、写真、動画、ドキュメント、音楽、ゲームのセーブデータ — すべてだ。
RAM と違い、ストレージは不揮発性(non-volatile)だ — 電源が切れても内容は無事だ。ドキュメントを保存してノートパソコンを閉じると、ファイルはストレージドライブにある。一週間後に開いても、まだそこにある。
よく見かける二種類のストレージ:
- HDD(Hard Disk Drive、ハードディスクドライブ)— 回転する磁気プラッターにデータを保存し、前後に動く小さなアームで読む。HDD は大容量でも安価だが、比較的遅く、落としたり振動させたりすると損傷することがある(プラッターは毎分数千回転している)。主に古いデスクトップや廉価なデスクトップコンピューターに使われている。
- SSD(Solid-State Drive、ソリッドステートドライブ)— 可動部品のないフラッシュメモリチップにデータを保存する。SSD は HDD より劇的に速く、静かで、はるかに耐久性が高い。現代のノートパソコン、Surface タブレット、ほとんどのデスクトップは SSD を使っている。Surface ではほぼ確実に基板に直接はんだ付けされた SSD が入っている。
速度の差は大きい — HDD から OS を読み込むのに 30〜60 秒かかることもあるが、SSD からなら同じ作業が 15 秒以内で終わることが多い。現代のコンピューターでアプリがほぼ瞬時に起動するのは、SSD のおかげだ。
入出力デバイス
CPU、RAM、ストレージはすべて機械の中に隠れていて目には見えない。コンピューターを実際に使うには、それと通信する方法が必要だ。これを I/O デバイス(I/O device)と呼ぶ — 入力(input)デバイスはコンピューターに情報を送り込み、出力(output)デバイスは情報を出す。
よくある入力デバイス:
- キーボード(keyboard)
- マウス(mouse)またはトラックパッド(trackpad)
- タッチスクリーン(touchscreen)— タブレットやスマートフォンの主な入力方法。画面がそのままキーボードとマウスになる
- マイク(microphone)
- カメラやウェブカメラ(webcam)
- 指紋センサーや Face ID センサー
よくある出力デバイス:
- ディスプレイ(display)(画面)
- スピーカー(speaker)
- プリンター(printer)
多くのデバイスは入力と出力の両方だ。タッチスクリーンは映像を表示し(出力)、タッチを検出する(入力)。USB や Thunderbolt ポートは双方向にデータを転送できる。内蔵マイク付きのヘッドフォンは両方を同時にこなす。
これらはデスクトップタワーに固有のものではない。ノートパソコンにはキーボード、トラックパッド、画面、スピーカー、カメラがすべて一枚の板に内蔵されている。タブレットはさらに凝縮されている — 画面がそのままタッチスクリーンになり、Type Cover がキーボードになり、背面カメラがウェブカメラになる。フォームファクターは縮小し続けるが、入力と出力というカテゴリーは変わらない。
全部がつながる方法
これらのコンポーネントはバラバラに浮かんでいるわけではない — お互いに通信する必要がある。それを繋ぐのがマザーボード(motherboard、ロジックボードやシステムボードとも呼ぶ)だ — すべてが接続またははんだ付けされる大きな回路基板だ。
マザーボードはバス(bus)と呼ばれる電気経路を提供する。そこを通ってデータが CPU、RAM、ストレージ、I/O デバイスの間を行き来する。キーを押すと、そのシグナルはキーボードからバスを通って CPU に届く。ファイルを保存すると、データは RAM からバスを通ってストレージドライブに流れる。
デスクトップタワーなら、ケースを開ければ大きく目立つマザーボードが見える。ノートパソコンでは、シャーシに収まったコンパクトな基板だ。タブレットでは、他のすべてと一緒にぎっしり詰まった小さなロジックボードだ — でも確かに存在して、同じ仕事をしている。
外側の見た目がどうであれ、同じ四つのコンポーネントが必ず存在し、中央の基板で繋がっている:
| コンポーネント | データを保持する? | 速い? | 電源オフでも生き残る? |
|---|---|---|---|
| CPU | いいえ(小さなレジスタのみ) | 非常に高速 | 該当なし — プロセッサーだから |
| RAM | はい | 非常に高速 | いいえ(揮発性) |
| ストレージ(SSD/HDD) | はい | 遅め | はい(不揮発性) |
| I/O デバイス | 様々 | 様々 | 様々 |
まとめ
- CPU(Central Processing Unit)はプログラムを実行する。実際に考える部分 — 毎秒数十億回の計算と判断を行う。
- RAM は CPU が使っているデータとコードを保持する高速で一時的なメモリだ。電源が切れると完全に消去される。
- ストレージ(SSD または HDD)はデータを永続的に保持する。SSD が速くて耐久性が高いため、現代のノートパソコンとタブレットで主流だ。
- I/O デバイスはコンピューターと外界を繋ぐ。入力デバイス(キーボード、タッチスクリーン、マイク)はデータを送り込み、出力デバイス(ディスプレイ、スピーカー)はデータを出す。タッチスクリーンのように、両方を兼ねるデバイスも多い。
- これらのコンポーネントはすべてマザーボードで繋がっていて、データの受け渡しに使う電気バスを提供する。
- タワー PC、ノートパソコン、Surface タブレットのどれであれ、すべてのコンピューターに四種類のコンポーネントが揃っている — ただパッケージが違うだけだ。
次のステップ
部品の名前と役割を知ったなら、自然な疑問が浮かぶ — それらはどうやって一緒に動いてプログラムを動かすのか?それをカバーするのが フォン・ノイマンアーキテクチャ だ — CPU、RAM、ストレージが連携してコードを実行する根本的なモデルと、過去75年間に作られたほぼすべてのコンピューターがなぜ同じ基本設計に従うのかを説明する。