カテゴリーアーカイブ: 003 : 量子コンピュータ ③

現代コンピュータの仕組み

さてこんばんは、三茶ロボットです。
前回、現代コンピュータは 0 と 1、つまり2進数の計算を行っているという部分までお話しました。
今日はこの2進数演算の仕組みを少しだけ掘り下げていこうと思います。

現代コンピュータ(以後ゲジゲジ)は、半導体という材質を使っています。
これにより、ON で1, OFF で0を返すスイッチのような状態を実現しています。
ゲジゲジの中にはこのスイッチがたくさん入っており、その数は家電製品の仕様が複雑化すると共に、
年々増加の一途を辿っています。
とくに2010年代に入ってインテル社のCPUや、nVIDIA社のGPUにおいては、このスイッチの数がおおよそ
5億個ほどに至る製品も出てきています。

さて、このスイッチを組み合わせて作られる最も基本的な素子が 「AND」「OR」「NOT」の三つになります。
これらの回路に対する、入力と出力の表を下記に記します。

 

 

各素子の動作は名前の通りです。

「AND」 : 二つの入力が両方とも1なら、出力に1
「OR」 : 二つの入力でどちらかが1なら、出力に1
「NOT」 : 入力が1なら出力0、入力が0なら出力1

* 実際、半導体がこの三つをどう構成しているか?は割愛します。
* あまりにマニアックな話になりますので。

まずこれを基礎として、次に2bitの足し算回路を考えてみます。
2bit といっているのは、2進数での2桁の数値を言います。
この2bitには、「0,0」「0,1」「1,0」「1,1」の4通りがあります。
前回お話した、ストⅡ方向キーは、8通りの方向を表現するのに三つのスイッチを用いました。
つまり、方向キーは3bitで表現できる、ということになります。
このように、bit数は桁が上がるにつれ、表現できる数が2の1乗、2乗、3乗、、、と増えていきます。

さて、2bit足し算の話に戻します。
[A2,A1]、[B2,B1] を足して、 [C2,C1]を計算します。
例えば、[0,1] と [0,1] を足した場合、一の位がケタ上がりをし、[1,0]が答えとなります。
入力の組み合わせを網羅すると、入力と出力の関係は下記のようになります。
2桁目が両方1の場合、本来3桁目が1になるので、桁上がりという列を加えてます。

 

さて、この演算を実現する回路を先ほどの3つの基本素子で表現してみると、
下記の図のようになります。
あの、もう既に嫌になってる方、いますよね? すいません。
ええ、この章に入って少々やりすぎてる感、わたし自身感じています。
こんな理系チックで小難しい話はもうしません!反省してるっ!!

 

 
ちょっと気が向いた方いましたら、先ほどの3素子の動作と照らし合わしながら
この回路に0や1を入力して回路を追ってみてください。
たぶん、表のとおりにC1,C2が出てくるハズです。久々に回路図書いたので若干自信ないですが。

とまぁ、このように基本素子を使って足し算回路を実現できたわけです。
同じように、引き算、掛け算、割り算の回路も実現できるので、組み合わせることで微分積分回路、
なんてのも作れます。
スマートフォンやPCなど、高性能な家電に入っているゲジゲジは、言ってみればこれのバケモノ版です。
iPhoneのゲジゲジの中は、この回路の数千万倍の基本素子が詰まっているのです。
すごいですね。こうやって複雑な演算を小さなゲジゲジで実現するテクノロジーは、
いつ考えてもすげーなーと、ボク自身関心しています。

回路をどんどん大きくすれば、取り扱える入力パターンの数や計算内容の幅を大きく出来、
より複雑な動作仕様を網羅する、ということが可能となってきます。
しかし、以前も言いましたが、膨大な計算量をこなせるもの、複数の計算を同時に実行することは無理です。
たとえば、先ほどの2bit足し算回路で [0,0] + [0,0] と [1,1] + [1,1] を計算する場合、
順番に値を入力するしかありません。当たり前ですよね。
さて!ここから量子論が再登場します。
量子論では、物質や光が複数の状態を確率の混ぜ合わせで同時に実現する、というお話をしました。
0と1のどちらかの状態をとる半導体のbitに対し、”0と1を両方同時にとる”「量子bit」という概念を
導入することにより、これまで順番に実行しなければならなかった問題を、なんと一回で終わらせてしまうのです。
つまり、入力パターンをいちいち切り替えて解くような問題に対し、量子コンピュータはめっぽう強いということになりますね。

では次回予告です。
実は量子コンピュータが実現すると、銀行や軍事機密、他あらゆるセキュリティを
支える情報暗号化技術が脅かされてしまいます。
その辺の話をざっくばらんにお話したいと思います。

三茶ロボット from Sangendyaya