Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPer Book Revue: CPUの創りかた / How to Build a CPU
Search
HASEGAWA Tomoki
March 15, 2026
Technology
72
0
Share
PHPer Book Revue: CPUの創りかた / How to Build a CPU
PHPerKaigi 2026
PHPer Book Revueの資料です
HASEGAWA Tomoki
March 15, 2026
More Decks by HASEGAWA Tomoki
See All by HASEGAWA Tomoki
3Dプリンタでコレはこう作る! - マルチディスプレイ用モニタアームマウンタの作り方 / Made with a 3D Printer: DIY Multi-Display Monitor Arm Mount
tomzoh
0
75
デシリアライゼーションを理解する / Inside Deserialization
tomzoh
0
500
超入門3Dプリンタ: 生活を便利にするモノを作ろう / Getting Started with 3D Printing: Making small things that quietly improve your daily life.
tomzoh
0
86
最新ハードウェアの中の8ビットCPU / The Hidden Power of 8-Bit CPUs in Modern Hardware
tomzoh
0
130
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
390
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
5
860
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
6
4.7k
カンファレンスのつくりかた / The Conference Code: What Makes It All Work
tomzoh
11
2.3k
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming
tomzoh
1
1.8k
Other Decks in Technology
See All in Technology
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
620
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
340
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
270
CyberAgent YJC Connect
shimaf4979
1
170
知ってた?JavaScriptの"正しさ"を検証するテストが5万以上もあること(Test262)
riyaamemiya
1
180
多角的な視点から見たAGI
terisuke
0
130
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
新卒エンジニア研修、ハンズオンの設計における課題と実践知/ #tachikawaany
nishiuma
2
140
Digital Independence: Why, When and How
wannesrams
0
310
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
500
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
120
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
220
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
Information Architects: The Missing Link in Design Systems
soysaucechin
0
920
For a Future-Friendly Web
brad_frost
183
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
340
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
340
We Are The Robots
honzajavorek
0
220
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
Transcript
長谷川智希 𝕏 @tomzoh 2026/03/21 PHPerKaigi 2026 PHPer Book Revue CPUの創りかた
୩ஐر ͕ͤΘ ͱ͖ @tomzoh http://www.dgcircus.com デジタルサーカス株式会社 ॴଐ ٕज़ΧϯϑΝϨϯεओ࠻ دߘɾஶॻ 来たれ!PHPer!We
are hiring! 𝕏
୩ஐر ͕ͤΘ ͱ͖ @tomzoh ٕज़ΧϯϑΝϨϯεӡӦࢀՃ ֤छϓϩάϥϜ։ൃ $16 ϨτϩήʔϜػ
ిࢠ࡞ Ϗʔϧ αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ΩϟϯϐϯάΧʔ ๅ௩؍ܶʜ ϥΠϑϫʔΫ 𝕏 今日ご紹介する本が ライフワークに…
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 4 PHPer Book Revue
CPUの創りかた
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた CPUの創りかた • 個人でも比較的簡単に買える汎用ICだけを使って CPU(物理)を作る本
• 1冊で完結する「CPU作る本」 • CPU特有の解説だけでなく、 電子回路の基礎から解説されている • この1冊と部品があればCPUを作れる • 多少の手先技術と根気も… 5
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた CPUでのプログラム実行 • 我々が作ったプログラムは(最終的には)CPUで実行されている •
これはなんとなくわかる • 速いCPUに変えればプログラムも速く動くし • 一方、PHPみたいなVM型の言語だとPHPプログラムはVMで実行される • PHPのVMはCで書かれてる • パーサとかASTとかオペコードとか • パーサがプログラムの上から順にパースしてASTにしてASTを解決していく • プログラム実行、と言われるとこういうのを想像しがち • CPUはそれとは大きく違う方法でプログラムを「実行」している 6
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた CPUでのプログラム実行 • ピタゴラスイッチ的な仕組み •
玉が経路を転がっていって、玉自身が経路にも影 響を与えるやつ • CPUが実行できる唯一の言語 機械語 • 玉が通る経路を切り替える方向を決める • CPUの動作クロック • クロックのタイミングにあわせて玉が通る経路が 切り替わる • この話は過去にしているので興味ある方は… • Speaker Deck の @tomzoh にあります 7 https://www.mouse-jp.co.jp/store/g/ggtune-fzi7g80g8bfdw102dec/
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 話の流れ Chapter1, 2 •
電子工作の基礎の話から • IC以外の電子部品 • LEDを光らせる方法 8
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 話の流れ Chapter 3, 4
• 電子回路で1と0を表現する方法 • 電子回路で論理演算する方法 • NOT, AND, OR, NAND (NOT + AND) • PHPで言えば ! A, A && B, A || B, !(A && B) • アナログ回路とデジタル回路の境界 • 電気回路でスイッチを扱う時に必ず直面する チャタリング • キーボードとかマウスでも故障するとなる • クロックの作り方 • 01010101って規則的な信号を作る装置 9
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 話の流れ Chapter 5, 6
• ROMとは何か • メモリーセル • CPUの設計 • 何を決めればCPUが作れるか • 機械語の基礎知識 10
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 話の流れ Chapter 7, 8
• フリップフロップ • CPUを実現する上での最重要コンポネント • ピタゴラ装置実現のコア • ALU (Arithmetic and Logic Unit / 算術論理演算装置) • 二進数の演算(ここでは足し算)をする装置 • 演算に必須なフラグの概念 • プログラムカウンタ • 「いまメモリ上のここを実行しているよ」 を指しているレジスタ • I/Oポート • 文字通り入出力: キーボードとかディスプレイとか 11
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 話の流れ Chapter 9, 10
• 命令デコーダ • 一番興奮するところ • 順次実行されるプログラムをピタゴラ装置に落とし 込むキモ • 全体の回路図 • これを見ながら1本1本配線していけばCPUになる 12
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 13
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 話の流れ Chapter 11 •
動作確認 • コンポネントごとに正しく動いているか確認 • 仕様を知りそれをベースにした検証方法 • 自作CPUでのプログラム実行 • ついに…! • 高機能化 14
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた この本を読んで変わったこと • コンピュータを上から下まで理解できた •
NANDがあればコンピュータを作れる(気がする)ようになった • CPUのアーキテクチャのメリット/デメリットを少し深く理解できる様になった • 例えば: Cとかで int の値を long int の変数に入れる処理 • 符号拡張 or ゼロ拡張 • 「ゼロ拡張はそこらへんにあるゼロを使えば良いが、符号拡張は配線負荷が高い」 • CPUが好きになった 15
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた おすすめ書籍: CPUの創りかた • 1冊で完結する「CPU作る本」
• この1冊と部品があればCPUを作れる • 自分で作らないまでも読むだけでも楽しめる • 作るCPUが高度なものでないので手軽 • CPUからテトリスまでの nand2tetris とか、自 作OSを動かすことを目的とすると難しくなる • 「汎用ICだけで作る」が良い制約になっている • ハマると人生変わる(変わった) • 読んでみて! 16 長谷川 智希 @tomzoh
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた おまけ 17
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 18 その他しばらく積んで 2019年に読みました
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 19
長谷川智希 @tomzoh PHPer Book Revue: CPUの創りかた 本書で作るCPU TD4の構成 電子回路のピタゴラスイッチ 20
命令 デコーダ 演算器 セレクタ IN ポート レジスタ OUT ポート プログラム カウンタ ROM ROMが返した 機械語が… 演算器に 演算の種類を… セレクタに どれとどれを演算するかを… 演算結果を どこに保存するかを… プログラムカウンタが 示すアドレスのデータ が出てくる