VRChat CS集会で学ぶ!CPU作成#2:NOTゲートさえあれば何でもコンピューターになるってホント?

詳細情報

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

発表のハイライト

  • 木材や光など、様々な素材でNOTゲートを作れることを紹介
  • NOTゲートさえあれば、どんなものでもコンピューターになることを解説
  • 過去の質問に対する回答と、XOR/XNORゲートでTrue/Falseを作る方法を紹介

計算機の歴史をひもとく!様々な素材で実現するNOTゲート

夜鍋ヨナさんがVRChatのCS集会で発表した「CPU作成#2」の内容を元に、コンピューターの基礎を紐解いていきます。

皆さんは、コンピューターの心臓部であるCPUが、どんな仕組みで動いているか知っていますか?実は、CPUは様々な論理ゲートと呼ばれる部品を組み合わせて作られています。そして、その論理ゲートの中でも特に重要なのが、NOTゲートです。

ヨナさんは、このNOTゲートが、実は驚くほどシンプルな仕組みで、様々な素材で実現できることを説明してくれました。

木材トランジスタ:木でコンピューターを作れる?

近年、木材トランジスタの開発が進んでいます。これは、軽くて丈夫なバルサ材に特殊な処理を施すことで、電気を通すようにしたトランジスタです。

なんと、この木材トランジスタを使って、NOTゲートを実現できる可能性があるんです!

光論理ゲート:光で計算する未来

NTTが開発したΨゲートと呼ばれる光論理ゲートは、3つの入力から1つの出力を導き出すことができます。そして、従来のCMOSによる論理ゲートに比べて、処理速度がなんと300倍も速いんです!

このΨゲートも、NOTゲートの動作を実現するのに役立つ可能性があります。

リレー式ゲート:コンピューターの原点

昔のコンピューターは、リレーと呼ばれる電気接点をON/OFFすることで計算を行っていました。

リレーもNOTゲートの動作を実現するのに使われていた、コンピューターの歴史を語る上で欠かせない部品の一つです。

NOTゲートさえあれば何でもコンピューターになるってホント?

ヨナさんは、NOTゲートの重要性を強調し、「NOTゲートさえあれば、どんなものでもコンピューターになる」という驚くべき結論を導き出しました。

ワイヤードオアと論理演算

その根拠として、ワイヤードオアと呼ばれる特殊なORゲートの性質を利用した説明がありました。

例えば、NORゲートはNOTゲートの入力をワイヤードオアで結合した回路で構成されています。また、NANDゲートはNOTゲートの出力をワイヤードオアで結合した回路で構成されています。

これらのゲートは、NOTゲートと組み合わせることで、様々な論理演算を実現することができるのです。

否定こそがカギ!オタクは論理演算が得意?

論理演算では、否定という概念が非常に重要になります。

ヨナさんは、「オタクはすぐ否定する」とユーモアを交えながら、否定こそが論理演算の基礎であり、コンピューターの動作を理解する上で重要な要素であると説明しました。

例えば、「最強のエディタはVimでもEmacsでもない」という命題を論理回路で表現する場合、オタクに「最強のエディタはVimですか?」「最強のエディタはEmacsですか?」と質問し、その答えをNOTゲートで処理することで、命題が正しいかどうかを判断できます。

過去の質問への回答

ヨナさんは、前回のCS集会で参加者から寄せられた質問にも答えてくれました。

XOR/XNORゲートだけで論理回路は作れる?

XORやXNORゲートだけでNOTゲートを作る方法を紹介し、NOTゲートさえあれば、どんな論理回路でも構成できることを証明しました。

NANDゲートとNORゲート、どっちが優れているの?

NANDゲートとNORゲートは、どちらも論理回路を構成する上で重要なゲートですが、半導体設計の際に実装面積が異なってきます。

ヨナさんは、CMOSによるゲートの実装と半導体の物理的特性を考慮すると、NANDゲートの方が実装面積が小さく、設計上有利であることを説明しました。

まとめ

今回の発表では、CPUの基礎となる論理ゲート、特にNOTゲートの重要性について学ぶことができました。木材や光など、様々な素材でNOTゲートを実現できる可能性があること、そしてNOTゲートさえあればどんなものでもコンピューターになるという、とても興味深い内容でしたね!

論理回路やコンピューターの仕組みについて、もっと知りたい方はぜひ次回のCS集会にも参加してみてください!

スライド資料

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

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

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

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

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

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

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