VRChat CS集会で学ぶ!CPU作成入門:論理回路編

詳細情報

集会名 CS集会
日時 2023年06月06日 22:00 - 22:30
テーマ CPU作成#1
発表者 夜鍋ヨナ
発表資料 ファイル

発表のハイライト

VRChatのCS集会で、夜鍋ヨナさんが「CPU作成#1」と題して、CPUを作るための第一歩となる論理回路の基礎を解説しました。NANDゲートのみを使って、AND、OR、NOTなどの基本的な論理ゲートを作成する方法や、ブール代数の基礎などをわかりやすく説明しています。CPUの作り方や論理回路の基礎に興味がある方は必見です!

CPUを作ろう!その前に論理回路入門

今回の発表では、最終的に4bitのCPUを作成することを目標に、その基礎となる論理回路の基礎を学ぶことからスタートします。ヨナさん曰く、CPUは一見複雑そうに見えますが、実はNANDゲートなどの基本的な論理回路を組み合わせることで作られているとのこと。

論理回路ってそもそも何?

論理回路とは、デジタル回路の一種で、電気信号のONとOFFを「1」と「0」に対応させ、論理演算を行う回路のこと。簡単に言うと、コンピューターの基礎を支える超重要な仕組みです。

論理演算の種類

論理演算には、AND、OR、NOT、NAND、NOR、XOR、XNORなどがあります。

  • AND:AとBが両方1のときだけ1を出力
  • OR:AかBのどちらか、または両方が1のとき1を出力
  • NOT:Aが1なら0、Aが0なら1を出力
  • NAND:AとBが両方1のときだけ0を出力
  • NOR:AかBのどちらか、または両方が1のとき0を出力
  • XOR:AとBが異なる値のとき1を出力
  • XNOR:AとBが同じ値のとき1を出力

これらの論理演算は、真理値表で表現することができます。真理値表とは、入力と出力の関係を一覧にした表で、論理回路の動作を理解する上でとても大切です。

NANDゲートだけで作れるってホント?

実は、これらの論理演算は、NANDゲート(NOT AND)と呼ばれる論理回路だけで実現できるんです!

ブール代数とは?

ブール代数とは、論理演算を数学的に扱うための代数体系のこと。ド・モルガンの法則や分配律など、様々な法則が存在し、論理回路の設計や簡略化に役立ちます。

NANDゲートで他のゲートを作る

ヨナさんは、ブール代数の法則を使って、NANDゲートのみでAND、OR、NOTなどの論理ゲートを作る方法を具体的に説明しました。

例えば、NOTゲートはNANDゲートの入力に同じ信号を2本入力することで実現できます。また、ANDゲートはNANDゲートを2つ繋げることで実現できます。 このように、NANDゲートさえあれば、他の論理ゲートを全て作ることができるため、非常に重要な論理回路と言えます。

NORゲートでもできるの?

NANDゲートだけで論理回路を作れるなら、NORゲート(NOT OR)でも作れるんじゃない?そう思った方もいるかもしれません。

答えは「Yes」!NORゲートでも同様に、全ての論理演算を実現できます。

ヨナさんは、NORゲートでもNANDゲートと同様に、ブール代数の法則を用いて他の論理演算を実現する方法を説明しました。

今後の予定

ヨナさんは、今回の発表でCPU作成の基礎となる論理回路の入門を解説したのみで、今後、ブール代数のウォークスルーや算術計算機、論理計算機の作成、さらには電気素子を用いたゲートの作成など、より高度な内容を解説していく予定です。

まとめ

今回の発表では、CPU作成の基礎となる論理回路の基礎について、NANDゲートやNORゲート、真理値表、ブール代数などを交えて解説しました。

ヨナさんのわかりやすい説明と、豊富な図解により、CPUの仕組みや論理回路の基礎を理解することができたのではないでしょうか。今後の発表も楽しみですね!

CS集会 スライド資料

CS集会の他の発表もチェック!

シフト演算ってなぁに?10進数と2進数で考えてみよう!

VRChatで量子コンピュータの世界を体験!CS集会#33で夜鍋ヨナさんが紹介した量子コンピュータの世界

VRChat CS集会で発表!量子コンピュータで半加算回路を実装してみたよ!

生成AIとプログラミング:夜鍋ヨナさんが語る、LLMとシステム開発の未来!

VRChat CS集会で学ぶ!比較器の仕組みと引き算を用いた実装

シフト演算をわかりやすく解説!コンピュータ内部でどう動いているの?