身近なたとえや小さな数値例で、「何が起きているか」をつかみます。
電気の流れから、MOSFET、CPU、GPU、そして製品になるまで。難しい言葉をいきなり暗記せず、「何が次につながるのか」を見ながら進める12週間の解説教材です。
一度に全部覚えなくて大丈夫。各週の「イメージ」と「確認問題」だけでも、学びの道筋が見えてきます。
身近なたとえや小さな数値例で、「何が起きているか」をつかみます。
用語と式は、必要になったところで登場します。記号の意味も横に置いてあります。
折りたたみの答えを見る前に、自分の言葉で一文だけ説明してみましょう。
半導体の学習は、用語の山ではありません。左から右へ、できることが一段ずつ増えていきます。
各カードを開くと、Markdownノートの内容を初学者向けの順番に並べた短い解説と確認問題があります。
電圧・電流・抵抗を区別し、LEDの抵抗値を計算する。
バンドギャップ、電子と正孔、n型・p型を整理する。
イメージ:導体・半導体・絶縁体の違いは、「キャリアが動ける状態へ移りやすいか」です。半導体の強みは、導体と絶縁体の中間というより、キャリアの数を大きく調整できること。
電子が結合を離れたあとに残る空席を正孔と呼びます。空席を隣の電子が埋めると、空席が反対向きに移動したように見えるので、正のキャリアとして扱えます。
| 種類 | 多数キャリア | ドーパント例 |
|---|---|---|
| n型 | 電子 | リン |
| p型 | 正孔 | ホウ素 |
n型全体が負、p型全体が正という意味ではありません。移動キャリアと固定されたドーパントの電荷を合わせれば、結晶全体はほぼ中性です。
拡散です。電界で動くドリフトと区別します。
pn接合の空乏層と、ゲート電界で動くMOSFETを知る。
イメージ:p型とn型を接触させると、境目付近でキャリアが広がって再結合します。移動キャリアの少ない空乏層と内蔵電界ができ、電流の通りやすさが向きで変わります。
nMOSでは、ゲートと半導体の間が絶縁されています。ゲートに正の電圧をかけると電界が生まれ、しきい値を超えたところでソースとドレインを結ぶ電子のチャネルができます。
だから「ゲートへ直流電流を流して開く」ではなく、ゲート電圧による電界がチャネルを制御するが正確です。ゲート容量を充放電する瞬間には電流が流れます。
狭くなります。内蔵障壁が弱まり、多数キャリアが接合を越えやすくなります。
MOSFETを組み合わせ、0・1を扱うインバーターと加算器へ進む。
イメージ:論理0・1は数学の記号ですが、実物では電圧の範囲です。CMOSインバーターは、入力0ならpMOSをON・nMOSをOFFにして出力を1へ、入力1なら逆にして出力を0へします。
| 入力A | pMOS | nMOS | 出力Y |
|---|---|---|---|
| 0 | ON | OFF | 1 |
| 1 | OFF | ON | 0 |
NANDは万能ゲートなので、NANDだけでNOT・AND・ORを作れます。半加算器の 1 + 1 は、Sum=0、Carry=1。ここがALUへの橋です。
理想的には、pMOSとnMOSのどちらか一方だけがONで、VDDからGNDへの直流経路がないからです。切り替え時は充放電などで電力を使います。
2進数、ALU、MUX、レジスタ、PC、RAMの役割をつなげる。
イメージ:CPUは「計算機」だけではなく、計算する場所・値を選ぶ交差点・値を覚える場所・次の命令を指す場所のチームです。
ALUは加算やANDなどの演算を担当しますが、どの演算をするかは制御回路が指示します。MUXは複数入力から1つを選び、レジスタはクロックに合わせて値を保持し、PCは次の命令のアドレスを保持します。
組合せ回路は今の入力だけで出力が決まり、レジスタのような順序回路は状態を覚えます。この両方が揃って初めてCPUらしく動きます。
0〜15。nビットなら 0〜2ⁿ−1 です。
ISAと内部実装を分け、命令をIF・ID・EX・MEM・WBで追う。
イメージ:ISAはソフトウェアから見える「契約書」、マイクロアーキテクチャはその契約を実現する内部の仕組みです。同じISAでも中身が違えば性能は変わります。
| 段階 | 何をする? |
|---|---|
| IF | PCのアドレスから命令を取得 |
| ID | 命令を解読し、レジスタを読む |
| EX | ALUで演算、またはアドレス計算 |
| MEM | 必要ならデータメモリへアクセス |
| WB | 結果をレジスタへ書き戻す |
LOAD R3,[R1] なら、R1=100を読み、アドレス100から7を取り出し、最後にR3へ7を書きます。ADD R4,R3,R2 なら、EXで7+5=12を計算し、WBでR4へ戻します。
条件分岐やジャンプです。次に取得する命令の場所が変わります。
パイプライン、ハザード、分岐予測、Amdahlの法則を理解する。
イメージ:パイプラインは一命令を魔法のように短くするのではなく、洗濯の「洗う・乾かす・畳む」のように、別の命令を重ねて全体の流れをよくします。
依存する命令が前の結果を待つのはデータハザード、分岐先が分からないのは制御ハザード、資源の取り合いは構造ハザードです。分岐予測が外れたら、誤った経路の結果を破棄して正しい場所からやり直します。
プログラムの20%が逐次処理なら、残りを無限に速くしても最大高速化は 1 / 0.2 = 5倍。クロックやコア数だけでは性能は決まりません。
スループットです。一命令の段数は残りますが、流れが満杯になると完了間隔を短くできます。
キャッシュ、局所性、レイテンシー、帯域幅を区別する。
イメージ:「速くて大きくて安い」メモリは同時に作りにくいので、レジスタ、L1/L2/L3、DRAM、SSDを階層として使います。
最近使ったものをまた使うのが時間的局所性、近くのアドレスも使うのが空間的局所性です。キャッシュはこの性質を利用します。
レイテンシーは最初の結果までの時間、帯域幅は1秒あたりに運べる量です。トラックは到着は遅くても、一度に大量に運べるという違いがあります。
容量と速度は別だからです。大きなRAMを、CPUが毎回直接待つと遅いため、よく使うデータを小さく速い場所へ置きます。
thread・warp・block・grid・SMの関係と分岐を知る。
イメージ:GPUは、一つの難しい仕事を極限まで速くするより、似た仕事をたくさん並べて進めるのが得意です。画面のピクセルや行列の要素は、その性質を持ちやすい代表例です。
Blockは同じSMで動き、同期や共有メモリを使えます。SMはwarpをスケジュールし、演算器・レジスタ・共有メモリを提供します。待っているwarpの代わりに別のwarpを実行して、待ち時間を隠します。
同じwarp内で半分がif、半分がelseへ進むと、経路を順番に処理するため効率が下がることがあります。これが分岐ダイバージェンスです。
単位の役割と構造が違うからです。CPUコアは複雑な制御や少数スレッドの低レイテンシーを重視し、GPUは大量スレッドのスループットを重視します。
データ移動、行列積、低精度、CPU/GPU協調を考える。
イメージ:GPUは演算器が多いので、データを運ぶ道が細いと演算器が待ちます。「何回計算できるか」だけでなく「データをどこからどれだけ動かすか」が重要です。
隣接threadが隣接アドレスへアクセスしてまとめやすくするのがcoalescing。転送1 byteあたりの演算量がarithmetic intensityです。行列積はデータをtileで再利用でき、GPUに向きます。
FP32・FP16・BF16・INT8は、精度・範囲・容量・速度のトレードオフです。低精度なら多くの値を扱えますが、丸め誤差やoverflow、精度低下を確認する必要があります。
GPU起動やCPU-GPU間の転送という固定コストが、計算時間を上回ることがあるためです。
設計、前工程、後工程、歩留まり、電力、chipletをつなぐ。
イメージ:チップは「回路を描いたら完成」ではありません。設計・検証、ウェハー上の前工程、切断・パッケージ、試験を通って製品になります。
リソグラフィは光でパターンを転写し、成膜・エッチング・ドーピング・CMP・配線を何度も繰り返します。大きなダイは多くの機能を載せられますが、欠陥に当たる確率やコストの面で不利になりやすい。
chipletは複数の小さなダイをパッケージ内で接続する方法です。歩留まりや異なる製造技術の組み合わせに利点がある一方、ダイ間通信・熱・検査が難しくなります。
二乗です。V² なので、電圧は電力へ強く影響します。
CPU/GPUを単一指標で比べず、用途・産業のつながりで説明する。
イメージ:PCやスマートフォンは、CPU・GPU・DRAM・SSD・電源IC・通信ICなどが協力するチームです。一つの数字だけで製品全体の良さは決まりません。
| 役割 | 主な仕事 |
|---|---|
| ファブレス | 設計を中心に行い、製造を委託 |
| ファウンドリ | 他社設計の製造を受託 |
| OSAT | 組立・パッケージ・試験を受託 |
| EDA / IP | 設計ツールや再利用可能な設計を提供 |
仕様を見るときは、用途、ソフトウェア、単一threadか並列か、メモリ、電力、冷却、実ワークロードの順に考えます。GHz×コア数や「コア数」だけで比較しないのが安全です。
CPUが向きやすいです。並列化しにくく、GPUの起動・転送コストを回収しにくいからです。
用語をばらばらに覚えるより、「流れ」「役割」「制約」の3方向から言い直すと定着します。
キャリアの動き → チャネル → 論理値 → 命令 → アプリ。どこからどこへ情報が進むかを矢印で描きます。
ALUは計算、レジスタは保持、PCは次の命令、キャッシュは待ち時間を減らす。部品を動詞で説明します。
電力、熱、容量、帯域、レイテンシー、歩留まり。速くするほど別の制約が顔を出します。
「MOSFETが、どうしてCPUの命令実行へつながるの?」を、MOSFET→CMOS→ALU→レジスタ→命令の順に2分で説明してみましょう。