読んで学ぼう

手作りコンピュータ最初の一歩

2021年3月掲載
作:小池帆平

初めに

皆さんこんにちは。

産総研つくばセンターで毎年7月に開かれている一般公開で、多くの皆さんに体験してもらっている「手作りコンピュータ最初の一歩」という出し物について紹介したいと思います。

皆さんは、コンピュータってどうやって動くんだろう?と思ったことはありませんか?コンピュータは複雑なので、この疑問に、ひとことで答えるのは、ちょっと難しいです。そこで、できる限り簡単な、最初の一歩となる勉強から始めてみませんか?というつもりで用意したのが、この出し物です。

この出し物は、皆さんに、より良く理解してもらうための助けとなるように、産総研のおにいさんやおねえさんによる楽しい劇があったり、参加者の皆さんに実際にハンダ付けを体験してもらって「ラムちゃんとリングくんボード」というハードウェアを手作りしてもらったり、そして、産総研で行われている最新の研究も紹介したりと、とても盛りだくさんです。これを読んで、少しでも雰囲気を味わってもらえればと思います。

それでは最初に、今回の話に出てくる、ゆるキャラくんたちを紹介しておきましょう。真ん中にいるのが、本日の主役、さかさまくんです。左にいるのは、ラムちゃん、そして、右にいるのがリングくんです。

さかさまくん・ラムちゃん・リングくんの絵

コンピュータの仕組み

みんなのまわりには何台のコンピュータがありますか?

まず、パソコンがそうですよね。パソコンだけでなく、今やなくてはならないスマートフォンも、みんなが大好きなゲーム機も、実は、すべてコンピュータです。

コンピュータの写真
パソコンもスマホもゲーム機もすべてコンピュータ

コンピュータの心臓部は、デジタル半導体はんどうたいLSIです。

下の写真は、さっきのパソコンの中をのぞいてみたところです。四角い半導体LSIがいくつも並んでいて、0と1という言葉だけを使って、たがいに話をしながら仕事をしています。

コンピュータの中では、数だけでなく、絵も、音も、文章も、すべてのデータが0と1だけを組み合わせて表現されており、同じように0と1で表現されたプログラムによって指示される通りに、どんな複雑な仕事でもこなしていきます。

コンピュータの心臓部はデジタル半導体LSI
コンピュータのデジタル半導体LSIの画像
すべてのデータを0と1だけで表現して処理

さかさまくん登場!

コンピュータの心臓部の半導体LSIのなかには、0と1のデータをやり取りする部品がぎっしり詰まっています。その中で一番簡単な、小さな小さな部品、それが、このさかさまくんです。

さかさまくんの働きはとても簡単です。0といわれたら1とこたえ、1といわれたら0とこたえること、たったそれだけです。たとえば、「110?」といわれれば、「001!」とこたえます。要するに、0と1とをさかさまにするから、「さかさまくん」なんですね。

0と1をさかさまにするさかさまくん
0と1をさかさまにするから「さかさまくん」

下の写真は、産総研で研究している、未来のさかさまくん1つ分を拡大したものです。(一般公開の会場に来てもらえば、顕微鏡をのぞいて実物を見ることができます。)この赤い部分には、産総研で研究中の最新型のトランジスタであるトンネルFETが2つ並んでいます。

さかさまくんのしくみの画像1

1つのトンネルFETは、0がくるとオンになるスイッチです。もう1つのトンネルFETは、1がくるとオンになるスイッチです。それらが、下の図のようにつながっています。

さかさまくんのしくみの画像2

1が入ると、下のスイッチがオンになるので、電池のマイナス、つまり0が出されます。

さかさまくんのしくみの画像3

0が入ると、上のスイッチがオンになるので、電池のプラス、つまり1が出されます。

さかさまくんのしくみの画像4

以上が、さかさまくんがどのように動くかというしくみです。
  さかさまくんは、ふつうは、下の図のような三角と丸を組み合わせた記号を使って表されます。(誰かの頭の形に似ていませんか?)
さかさまくんはノットゲートまたはインバータとも呼ばれます。「ノット」という英語は、「~じゃない」という、まさに「さかさま」を意味する言葉です。

さかさまくんのしくみの画像?

さかさまくんが集まるとどうなる?

1人のさかさまくんの働きは、0と1をさかさまにするという、とても簡単なことですが、もしさかさまくんが何人か集まると、どうなるでしょうか?
例えば、2人のさかさまくんが手をつなぐとどうなるか、とか。
3人のさかさまくんが手をつなぐとどうなるか、とか。

実は、さかさまくんが集まると、それまでにない新しい働きをもった回路に生まれ変わるんです。

さかさまくんが集まった画像

さかさまくん2人が合体すると、このようにラムちゃんに進化します。
(ラムちゃんがどのように動くかは、あとで詳しく説明します。)

さかさまくんが2人でRAMちゃんに進化する画像

いっぽう、さかさまくん3人が合体すると、このようにリングくんに進化します。

さかさまくんが3人でリングくんに進化する画像

リングくんの働き

それでは、リングくんがどういう働きをするか、調べてみましょう。

これは、リングくんの回路図です。3人のさかさまくんがぐるっと輪のようにつながっています。(輪を英語にするとリングです。)

リングくんが動き続ける開設の画像1

最初に、左のさかさまくんに0がはいったとしましょう。左のさかさまくんは1を出して、真ん中のさかさまくんに伝えます。真ん中のさかさまくんは0を出して、右のさかさまくんに伝えます。そうすると、右のさかさまくんは1を出します。つまり、最初に右に出てくる値は、1になります。

リングくんが動き続ける開設の画像2

右のさかさまくんから出された1は、ぐるっとまわって、また、左のさかさまくんに入ります。そうすると、左のさかさまくんは、今度は0を出して、それが真ん中のさかさまくんに伝わり、1が出てきます。その1を受け取った右のさかさまくんは0を出します。右に出てくる値は0に変わりました。

リングくんが動き続ける開設の画像3

これを繰り返していくと、右のさかさまくんが出す値は、最初は1、次に0、次にまた1、次にまた0、次にまた1…と、ずっと繰り返すことになります。

実は、リングくんは、1と0を交互に繰り返し出し続ける、 発振 はっしん 回路と呼ばれる回路だったのです。まるで時計の振り子のように、一定のリズムを刻み続ける働きをします。LEDをつなげば、点滅させることもできます。

リングくんの動作の図
 
 

ラムちゃんの働き

これは、さかさまくん2人をつないだラムちゃんの回路です。

さっきと同じように、左から0をいれてみましょう。下のさかさまくんは1を出します。その1を受け取った上のさかさまくんは0を出します。その0が下のさかさまくんに伝わって、下のさかさまくんはやっぱり1を出します。 あれ?ずっと変わりませんね。ラムちゃんじっと固まっちゃいました。

それでは、最初が0でなく1だとどうなるでしょう?

ラムちゃんの回路説明図1

今度は、左から1をいれてみましょう。

 

下のさかさまくんは0を出します。その0を受け取った上のさかさまくんは1を出して、その1が下のさかさまくんに伝わるので、下のさかさまくんは0を出します。

 

やっぱり、ずっと変わりませんね。
こちらの場合も、ラムちゃんまたまた固まってしまいました。

ラムちゃんの回路説明図2
 

以上をまとめると、ラムちゃんは、下の図のように、2通りの固まり方をすることになります。

 

これは、ラムちゃんが2つのうちのどちらであるかをずっと覚えられることを意味します

 

つまり、ラムちゃんは、0か1のデータを記憶することのできるメモリ回路になるのです!

ラムちゃんの回路説明図3
 

このようなラムちゃんの回路は、実際に、コンピュータの中でデータを記憶するために使われています。こんな感じに、たくさんのラムちゃんが並んで、それぞれが0か1を覚えています。

ラムちゃんの回路説明図4
 

それでは、2通りあるラムちゃんの固まり方を入れ替えることはできるでしょうか?これができれば、メモリが記憶するデータを書き換えることができるようになります。

このために、下の図のように、無理矢理1を送り込むスイッチを追加します。

ラムちゃんの回路説明図5

例えば、左側のスイッチをオンにすると、もともとは0だった左の線に、1が送り込まれます。上のさかさまくんは、0を出そうとしていたので、スイッチとケンカするのですが、力が弱くて、負けてしまいます。

ラムちゃんの回路説明図6

上のさかさまくんがスイッチとのケンカに負けると、下のさかさまくんには1が入って、下のさかさまくんは0を出すようになります。0が入った上のさかさまくんは、1を出すようになり,上のさかさまくんとスイッチは仲直りです。もうスイッチを離しても、左の線は1のままです。

ラムちゃんの回路説明図7

こうして、ラムちゃんは、最初の固まり方とは違う、もう一つの固まり方に入れ替わることができました。このようにスイッチを追加することで、メモリが記憶するデータを書き換えることができるようになります。

ラムちゃんの回路説明図8

終わりに

これで今回のお話しはおしまいです。とても簡単な働きしかしないさかさまくんでも、何人か集まってつながると、いろいろな面白い働きをする回路に生まれ変わることが、わかってもらえたかと思います。

産総研一般公開では、このあと、上で習ったラムちゃんとリングくんの回路が実際に動くラムちゃんとリングくんボードを、プリント基板に部品をハンダづけして手作りしてもらい、どのように動くかを実験してもらっています。

このボードは、上半分がラムちゃん、下半分がリングくんになっていて、ラムちゃん書き換えスイッチを押すと、記憶するデータが変わってラムちゃん表示LEDが変わります。下のリングくん表示LEDは、ずっと点滅します。

工作を始める前は、うまく作ることができるかどうか皆さん心配そうですが、産総研のおにいさん/おねえさんがマンツーマンで指導してくれて、皆さん、ちゃんと動くものを作ることができます。ボードが動いた瞬間の皆さんの笑顔を見るたびに、私たちもとてもやりがいを感じます!

ラムちゃんとリングくんボードの写真

以上が、産総研つくばセンターで毎年7月に開かれている一般公開で、多くの皆さんに体験してもらっている「手作りコンピュータ最初の一歩」という出し物のあらましです。これを読んで興味を持った人は、ぜひ、次回の産総研一般公開をチェックしてみてください

また、今回紹介した初級編の続編として、3つの中級編も用意されています。コンピュータを作るために、さかさまくんのほかにも必要となる、もう少しだけ複雑な動きをする、いくつかの部品の働きを、順を追って理解していってもらい、最後にはマイコンチップにプログラムを書き込んで動かすところまでたどり着きます。それぞれのスライドの表紙を、以下に載せておきますので、参考にして下さい。

手作りコンピューター最初の一歩 Plusのバナー 手作りコンピューター最初の一歩 エピソード3のバナー 手作りコンピューター最初の一歩 涙の完結編?のバナー

協力:相沢理花(キャラクターデザイン)、森貴洋(トンネルFET写真提供)