$30 off During Our Annual Pro Sale. View Details »

NANDがあればNANDeもできる / With NAND, you can do anything

NANDがあればNANDeもできる / With NAND, you can do anything

Nandgame
https://nandgame.com

From Nand to Tetris
https://www.nand2tetris.org

CPUの創りかた
https://amzn.to/46mCrIg

HASEGAWA Tomoki

June 24, 2023
Tweet

More Decks by HASEGAWA Tomoki

Other Decks in Technology

Transcript

  1. 3 ௕୩઒ஐر ͸͕ͤΘ ͱ΋͖ @tomzoh ٕज़ΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ  $16 ϨτϩήʔϜػ

    ిࢠ޻࡞ Ϗʔϧ  αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ ϥΠϑϫʔΫ
  2. 長谷川智希 @tomzoh NANDがあればNANDeもできる NAND • コンピュータはNAND回路でできている • NAND = NOT

    + AND • PHPで言えば ! と & つまり !(A & B) • NANDだけでコンピュータを作れる • ちなみに、NORでも作れる • NORとNANDは変換できる • if (! $a and ! $b) === if (! ($a or $b)) • ド・モルガンの法則 5 https://ja.wikipedia.org/wiki/ファイル:NAND_ANSI_Labelled.svg " # 2            
  3. 長谷川智希 @tomzoh NANDがあればNANDeもできる トランジスタ? • NAND回路はトランジスタでできている • CPUコアはNANDのカタマリ、すなわちトランジスタのカタマリ • GPUコアも同様

    • なので「◦億トランジスタ」がウリになる • CPUコアもGPUコアもたくさん入ってるよ!のアピール • そういう意味ではCPUの最小構成要素はトランジスタ • トランジスタだと 0 1 の回路に見えにくいので… • 今日はNANDを最小構成要素として話を進めます 7
  4. 長谷川智希 @tomzoh NANDがあればNANDeもできる CPUのコンポネントと演算器 • 名著"CPUの創りかた"で作るCPU TD4 • CPUは 


    「何かと何かを足してどこかに格納する」 
 をひたすら繰り返す機械 • CPUの各コンポネントはすべてNANDで 
 作れる • NANDがあればNANDeもできる • 今回は演算器(のうちの加算機)だけ説明 11 A レジスタ B レジスタ 入力 PC レジスタ メモリ Address Data 演算器 Decoder 出力 セレクタ
  5. 長谷川智希 @tomzoh NANDがあればNANDeもできる NANDで作るコンピュータ • Nandgame • https://nandgame.com • ブラウザ上でNANDを組み合せてコンピュータを作る

    • 「演算器を作れ」みたいなお題が出てブラウザ上で線を接続して正解を探す • From Nand to Tetris • https://www.nand2tetris.org • NANDでCPUを作ってテトリスを動かす • CPUの創りかた • 言わずと知れた名著 19
  6. 長谷川智希 @tomzoh NANDがあればNANDeもできる まとめ コンピュータの原子: NAND • NANDがあればなんでも作れる • ぜひやってみてください!

    • Nandgameはお手軽でおすすめ • 「知らないとできない」みたいなのが多いので適度にカンニングしながら… • 読み物としては "CPUの創りかた" が面白い 29 ௕୩઒ஐر ͸͕ͤΘ ͱ΋͖ @tomzoh