ゴール
最終的に
WordPress
↓
PHP
↓
C言語
↓
機械語
↓
CPU命令
↓
CPU
↓
論理回路
↓
トランジスタ
↓
電子
まで頭の中でイメージできるようになる。
第1章 電子とは何か(物理)
学ぶこと
コンピュータの一番下は「電子」。
電子が流れることで電流になる。
電子が流れる
↓
電流
CPUの中でも電子が動いている。
理解したいこと
- 電子とは何か
- 電流とは何か
- 電圧とは何か
- なぜ電気が流れるのか
第2章 トランジスタ
学ぶこと
トランジスタとは
電気のスイッチ
である。
入力
↓
ON
↓
電気が流れる
入力
↓
OFF
↓
電気が止まる
これしかできない。
理解したいこと
- なぜスイッチになるのか
- MOSFETとは何か
- CPUの中に数十億個ある理由
第3章 0と1
トランジスタだけでは意味がない。
そこで
電気あり
↓
1
電気なし
↓
0
と約束する。
これが
ビット(Bit)
になる。
理解したいこと
- Bitとは何か
- Byteとは何か
- 8bitとは何か
第4章 論理回路
ここが一番感動するところ。
トランジスタを組み合わせるだけで
AND
OR
NOT
XOR
が作れる。
さらに組み合わせると
足し算
引き算
比較
全部できる。
理解したいこと
- AND回路
- OR回路
- NOT回路
- XOR回路
- Half Adder
- Full Adder
第5章 演算回路(ALU)
足し算回路を大量に組み合わせる。
すると
ALU
(Arithmetic Logic Unit)
になる。
ALUは
- 足し算
- 引き算
- 比較
- AND
- OR
を担当する。
理解したいこと
CPUはどうやって
2+3
を計算しているのか。
第6章 CPU
CPUは
ALUだけではない。
中には
- ALU
- レジスタ
- 制御装置
- キャッシュ
などがある。
理解したいこと
CPUの内部構造。
第7章 CPU命令
CPUは
ADD
SUB
MOV
LOAD
STORE
CMP
JMP
などしか理解できない。
これを
Instruction
という。
理解したいこと
ADD命令を受けたCPUは何をしているか。
第8章 レジスタ
CPUには
超高速メモリ
がある。
これを
レジスタ
という。
例えば
ADD
R1
R2
とは
R1とR2を足す
という意味。
理解したいこと
なぜレジスタが必要なのか。
第9章 機械語
CPU命令を
0と1
で表現したもの。
例えば
10110010
これが
ADD命令だったりする。
理解したいこと
CPUは0と1をどう解釈するか。
第10章 C言語
例えば
a = b + c;
と書く。
コンパイラが
LOAD b
LOAD c
ADD
STORE a
へ変換する。
理解したいこと
コンパイルとは何か。
第11章 Linux
Linuxは
CPUへ
この命令実行
次これ
と順番を決める。
これが
Scheduler。
理解したいこと
- プロセス
- スレッド
- スケジューラ
第12章 nginx
HTTPを受け取る。
HTTP
↓
PHP実行お願い
を行う。
第13章 PHP
PHPは
if
for
foreach
SQL
echo
を書く。
しかし最終的には
全部
ADD
LOAD
STORE
JMP
CMP
になる。
第14章 WordPress
WordPressは
PHPの集まり。
WordPressも最終的には
CPU命令になり
CPUが電子を動かして実行している。
最終目標
サーバーエンジニアとして、
ブラウザ
↓
HTTP
↓
nginx
↓
PHP
↓
C言語
↓
CPU命令
↓
ALU
↓
論理回路
↓
トランジスタ
↓
電子
までを一つのストーリーとして説明できるようになる。