> For the complete documentation index, see [llms.txt](https://mml.gitbook.io/mml/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mml.gitbook.io/mml/programming-side-book/step-2-konpytanomiwobu.md).

# Step 2. コンピュータの仕組みを学ぶ

## コンピュータを構成する機器（ハードウェア）

プログラミングをする上で最初に押さえておくべきコンピュータの構成機器は

1. マザーボード（基板）
2. CPU（演算装置）
3. RAM（1次記憶装置）
4. HDD/SSD（2次記憶装置）
5. ディスプレイ（出力装置）
6. キーボード（入力装置）

である。本当はもっとたくさんの機器（マウス、スピーカー、LANポートなど）が接続されておりこれからの説明にも登場するが、いきなり全部理解しようとすると混乱するのでまずはこの基本の6つがどんな役割を担っているかに注目し、また内部でどんな処理が行われているのかイメージをつかんでほしい。

### 1. マザーボード

マザーボード（motherboard）はコンピュータに様々な装置を取り付けて配線するための基板のことである。CPU や RAM といった各装置に対応する溝があり、そこに装置をはめ込むだけでほとんど工具を使わずにコンピュータを組み立てることができる。感電の危険があり静電気や埃に弱いので通常は筐体（きょうたい）、つまり保護用の頑丈な箱に入れて使用する。

### 2. CPU

CPU（Central Processing Unit : 中央処理装置）はプログラムを実行するための演算を行う装置である。RAM, HDD/SSD, キーボードなどと接続されていて、それらからデータを読み取ったり書き込んだりできる。

CPUにできる演算は主に

1. 数値演算：足し算、引き算、掛け算、割り算など
2. 論理演算：かつ、または、その他ビット演算など
3. 制御命令：条件分岐、ジャンプ命令など
4. I/O命令：データの入出力（ I/O は Input/Output の略）

の4種類である。これは非常に大雑把な分類であり、CPU に何ができるかはメーカーや型番によって異なるし、メーカーがこの4種類に分類しているわけでもないので注意してほしい。

CPU にできるのは単純な計算だけだが、2020年現在のノートPCに搭載された CPU は標準的な性能でも1秒間に10億回以上もの演算を行うことができ、簡単な演算の積み重ねで映像や音楽の再生をはじめとした高度な情報処理を可能としている。

### 3. RAM

RAM（Random Access Memory）

### 4. HDD/SSD

### 5. ディスプレイ

### 6. キーボード

## コンピュータが起動するときどんな処理が行われるか

コンピュータの電源ボタンが押されると、まずはCPUが起動してマザーボードに取り付けられたROMからBIOSを呼び出す。
