シリーズ「コンピュータの部品のしくみ」 第4回
回路が「組になる」とは?
浮くか、流れっぱなしか
このシリーズでは、机の上に部品を並べて、ゲートの中身を組み立てている。
第1回では、電池の+側につながった線を 1 の線、−側につながった線を 0 の線と呼んだ。 スイッチを一列に並べると「どちらも」(AND)、横に並べると「どちらか」(OR)になった。
第2回では、電気で押すスイッチ、リレーを使った。 回路の答えで、次のスイッチを押せるようになった。
前回は、動く部分のない、電気で押せるスイッチ、トランジスタを使った。
押すところを押し口と呼んだ。
押し口が 1 のときにつながる 1 でつながるトランジスタと、0 のときにつながる 0 でつながるトランジスタの、2 種類がある。
1 でつながるトランジスタ 1 つで、入力を反対にする NOT を作ろうとすると、困ったことになった。
答えを出す線(出口)が、1 の線にも 0 の線にもつながらないときがある。
これを、浮いているといった。
浮いている出口は、1 でも 0 でもない。
出口を抵抗で 1 の線へ引っ張っておけば、浮かなくなる。
けれど今度は、0 を出しているあいだ、1 の線から 0 の線へ、電気が流れっぱなしになった。
浮くか、流れっぱなしか。 そこで、前回の終わりに、こう問いかけた。
0 でつながる種類を、どう使えばいいか。
上と、下
前回の、抵抗で引っ張る NOT を思い出してほしい。
出口と 0 の線のあいだに、1 でつながるトランジスタ。 出口と 1 の線のあいだに、抵抗。
困ったのは、抵抗がいつもつながっていることだった。 トランジスタがつながると、1 の線から抵抗とトランジスタを通って、0 の線まで、ひとつながりの道ができてしまう。
では、抵抗の代わりに、0 でつながるトランジスタを置いてみよう。 押し口には、下のトランジスタと同じ入力をつなぐ。
入力が 1 のとき。
下の、1 でつながるトランジスタは、つながる。
上の、0 でつながるトランジスタは、切れる。
出口は 0 の線にだけつながって、0 になる。
入力が 0 のとき。
今度は反対だ。
上がつながり、下が切れる。
出口は 1 の線にだけつながって、1 になる。
| 入力 | 上(0 でつながる) | 下(1 でつながる) | 出口 |
|---|---|---|---|
| 0 | つながる | 切れる | 1 |
| 1 | 切れる | つながる | 0 |
入力を反対にして返している。 NOT だ。 トランジスタは 2 個。
出口を 1 の線へつなぐ側を上の組、0 の線へつなぐ側を下の組と呼ぼう。 いまはどちらも 1 個ずつだが、このあと増える。
押して、確かめる(NOT)
入力スイッチを倒して、上の組と下の組のどちらが出口をつなぐかを見てほしい。
上下の組の NOT シミュレータ
入力スイッチを倒して、上の組と下の組のどちらが出口をつなぐかを見てください
上の組が、出口を 1 の線につないでいる。下の組は切れている。
| 入力 | 上の組 | 下の組 | 出口 |
|---|---|---|---|
| 0 | つながる | 切れる | 1 |
| 1 | 切れる | つながる | 0 |
入力は 1 の線につないだ = 1、0 の線につないだ = 0。出口は、つながっている線の値
入力を 0 にすると、上の組の囲みが緑になる。
出口を 1 の線につないでいるのは、上の組だ。
入力を 1 にすると、下の組の囲みが灰色になる。
今度は、下の組が出口を 0 の線につないでいる。
どちらの押し方でも、出口に「?」の札は出ない。 浮いていない。
そして、前回の抵抗のような、オレンジ色のところもない。 上と下が同時につながることがないので、1 の線から 0 の線までのひとつながりの道が、どの押し方でもできないからだ。
浮かない。 流れっぱなしにもならない。 前回の 2 つの困りごとが、どちらも消えた。
2 入力にする
NOT ができた。 次は、入力を 2 つ(A と B)にしてみよう。
まず、下の組から考える。
下の組には、1 でつながるトランジスタを 2 つ使う。 A が押すものと、B が押すものだ。 これを、出口と 0 の線のあいだに、一列に(直列に)並べてみる。
第1回を思い出してほしい。
一列に並べたスイッチは、「どちらも」つながったときだけ、道が通った。
だから下の組は、A も B も 1 のときだけ、出口を 0 の線へつなぐ。
次は、上の組だ。
上の組は、下の組がつながらないときに、ちょうどつながってほしい。 そうでないと、出口が浮いたり、上下が同時につながったりしてしまう。
下の組がつながらないのは、どんなときか。
「A も B も 1」ではないとき。
つまり、A か B の、どちらかが 0 のときだ。
「どちらか」なら、第1回でもう知っている。
横に(並列に)並べればいい。
0 でつながるトランジスタを 2 つ、1 の線と出口のあいだに横に並べる。
A か B のどちらかが 0 なら、どちらかがつながって、出口を 1 の線へつなぐ。
表にしてみよう。
| A | B | 上の組(並列) | 下の組(直列) | 出口 |
|---|---|---|---|---|
| 0 | 0 | つながる | 切れる | 1 |
| 0 | 1 | つながる | 切れる | 1 |
| 1 | 0 | つながる | 切れる | 1 |
| 1 | 1 | 切れる | つながる | 0 |
出口が 0 になるのは、A も B も 1 のときだけ。
第1回の AND(「どちらも」)と比べてほしい。
AND は、両方 1 のときだけ 1 だった。
この表は、ちょうどその反対になっている。
AND の反対なので、NOT と AND をつなげて、NAND(ナンド)と呼ぶ。
押して、確かめる(NAND・NOR)
上のつまみで、NAND と NOR を切り替えられる。 まずは NAND のまま、A と B を倒して、表のとおりになるかを見てほしい。
NAND・NOR シミュレータ
入力スイッチ A・B を倒して、上の組と下の組のどちらが出口をつなぐかを見てください
上の組が、出口を 1 の線につないでいる。下の組は切れている。
| A | B | 上の組 | 下の組 | 出口 |
|---|---|---|---|---|
| 0 | 0 | つながる | 切れる | 1 |
| 0 | 1 | つながる | 切れる | 1 |
| 1 | 0 | つながる | 切れる | 1 |
| 1 | 1 | 切れる | つながる | 0 |
入力は 1 の線につないだ = 1、0 の線につないだ = 0。出口は、つながっている線の値。破線と ? は、どこにもつながっていない点
A は左から、B は右から、それぞれ上の組と下の組の押し口を 1 つずつ押している。
上の組は横に並び、下の組は真ん中に一列に並んでいる。
A も B も 1 にしたときだけ、下の組がつながり、上の組が切れる。
次に、つまみを NOR に切り替えてみてほしい。
上の組と下の組の並べ方が、入れ替わる。 上の組が一列に、下の組が横に並ぶ。
今度は、出口が 1 になるのは、A も B も 0 のときだけだ。
A か B のどちらかが 1 なら、下の組のどちらかがつながって、出口は 0 になる。
| A | B | 上の組(直列) | 下の組(並列) | 出口 |
|---|---|---|---|---|
| 0 | 0 | つながる | 切れる | 1 |
| 0 | 1 | 切れる | つながる | 0 |
| 1 | 0 | 切れる | つながる | 0 |
| 1 | 1 | 切れる | つながる | 0 |
第1回の OR(「どちらか」)の、ちょうど反対だ。 OR の反対なので、NOR(ノア)と呼ぶ。
ところで、押していると、一列に並んだ 2 つのあいだの線が、破線になって「?」の札が出ることがある。
NAND で A も B も 0 のとき。
NOR で A も B も 1 のときだ。
このとき、一列に並んだ 2 つは、どちらも切れている。 あいだの線は、1 の線にも 0 の線にもつながっていない。 浮いている。
では、前回の困りごとが、また起きたのだろうか。
起きていない。 前回困ったのは、浮いた線が、次のトランジスタの押し口につながるからだった。 押されるのか、押されないのか、決まらなくなる。
このあいだの線は、どの押し口にもつながっていない。 2 つのトランジスタの、つなぎ目でしかない。 それに、出口のほうは、ちゃんと上の組が 1 の線につないでいる。
浮いていて困るのは、次の押し口につながる線、つまり出口だけだ。 出口は、どの押し方でも浮いていない。
ちょうど反対
NAND と NOR を、もう一度並べてみよう。
| ゲート | 上の組(0 でつながる) | 下の組(1 でつながる) |
|---|---|---|
| NAND | 並列(横に並べる) | 直列(一列に並べる) |
| NOR | 直列(一列に並べる) | 並列(横に並べる) |
どちらも、上の組と下の組で、並べ方(直列と並列)がちょうど入れ替わっている。 トランジスタの種類も、上は 0 でつながる、下は 1 でつながる、と入れ替わっている。
NAND の下の組がつながるのは、「A も B も 1」のとき。
上の組がつながるのは、「A か B のどちらかが 0」のとき。
「A も B も 1」ではない、ということは、「どちらかが 0」ということだ。
この 2 つは、ちょうど裏表になっている。
どの押し方でも、どちらか一方だけが当てはまる。
だから、上の組と下の組は、両方つながることがない。 1 の線から 0 の線へのひとつながりの道はできず、流れっぱなしにならない。
そして、どちらもつながらないこともない。 出口は浮かない。
上の組と下の組は、いつもちょうど反対のつなぎ方をしている。 だから出口は、必ずどちらか片方だけにつながる。
NOT も同じだった。 入力 1 つを、上は「0 でつながる」で、下は「1 でつながる」で受けていた。
2 種類のトランジスタを、こうして互いに補い合う組にする作り方を、CMOS(シーモス)という。 C は Complementary、「互いに補い合う」という意味だ。 MOS は、前回出てきた、いまのトランジスタの形の名前。 1 でつながるトランジスタは nMOS、0 でつながるトランジスタは pMOS とも呼ばれる。
CMOS は、1963 年に、アメリカのフェアチャイルドという会社の研究所の、ワンラスとサーが発表した。 2 人は、2 種類のトランジスタを補い合うように組んだ回路が、待っているあいだ、ほとんど電気を使わないことを示した。 ワンラスが出した特許の題も、訳すとおおよそ「待っているあいだの電気が少ない、補い合う回路」だ。
まさに、今回見てきたことだ。 上と下が同時につながらないので、入力を倒さずに待っているあいだ、1 の線から 0 の線へは、電気がほとんど流れない。 (本物の部品では、ほんの少しだけ漏れる。けれど、前回の抵抗の流れっぱなしと比べれば、ないに等しい。)
物差しの表に、4 行目を足そう。
| スイッチ | 押すもの | 動く部分 | 切り替わるのにかかる時間 | 待っているあいだの電気 |
|---|---|---|---|---|
| 押しボタン | 人の指 | ある | ? | 使わない |
| リレー | 電気(電磁石) | ある(カチッと鳴る) | 数ミリ秒 | 押しているあいだ、コイルに流しっぱなし |
| トランジスタ 1 種類 | 電気 | ない | ? | 0 を出しているあいだ、流しっぱなし |
| 上下の組(CMOS) | 電気 | ない | ? | ほとんど使わない |
動く部分がなく、待っているあいだ、電気をほとんど使わない。 いまのチップを作る技術の主役は、この CMOS だ。
AND は、遠回り
ここで、1 つ気になることがある。
第1回で最初に作ったのは、AND だった。 ところが、上下の組で素直に作れたのは、AND ではなく、その反対の NAND だった。
AND を、上下の組で直接作ることはできないのだろうか。
上下の組では、上の組には 0 でつながるトランジスタ、下の組には 1 でつながるトランジスタを使う、と決まっている。 本物のトランジスタは、この向きで使うと、出口をしっかり 1 の線や 0 の線につなげる。 逆の向きに置くと、うまく引っ張りきれない。 理由はトランジスタの中の話なので、このシリーズでは扱わない。
この決まりのもとで、入力のどれかを 0 から 1 に変えてみよう。
その入力が押す下の組のトランジスタはつながり、上の組のトランジスタは切れる。
出口は、0 の線に近づく向きにしか動かない。
0 から 1 に変わることは、決してない。
ところが AND は、B を 1 にしたまま、A を 0 から 1 に変えると、出口が 0 から 1 に変わらなければいけない。
だから、上下の組 1 段では、AND は作れない。
1 段の組は、いつも「反対」の向きにしか答えを出せないのだ。
AND がほしければ、NAND の後ろに NOT をつなぐ。 NAND の答えを、もう一度反対にするのだ。 トランジスタは 4 + 2 で 6 個になる。 OR も同じで、NOR の後ろに NOT をつなぐ。
| ゲート | トランジスタの数 | 作り方 |
|---|---|---|
| NOT | 2 | 上 1 個・下 1 個 |
| NAND | 4 | 上は並列に 2 個・下は直列に 2 個 |
| NOR | 4 | 上は直列に 2 個・下は並列に 2 個 |
| AND | 6 | NAND の後ろに NOT |
| OR | 6 | NOR の後ろに NOT |
いちばん素直に作れるのは、AND や OR ではなく、NAND と NOR だ。 AND は、遠回りになる。 『記憶のしくみ』を読んだ人は、第1回の NOR を思い出してほしい。あの NOR の箱を開けると、中にはトランジスタ 4 個の、この組が入っていると思ってよい。
箱にする
ここまで、ゲートの中身を、スイッチの図で描いてきた。 けれど、トランジスタ 4 個の組を毎回描いていたら、大きな回路はとても描けない。
そこで次回からは、この上下の組を、「NAND」と書いた 1 つの箱として描く。 箱の中には、いつでも今回の組が入っている。
店で売っている NAND の IC(たとえば 74HC00 という型番)には、2 入力の NAND が 4 つ入っている。 部品の説明書(データシート)には、前回と同じく、使わない入力を浮かせないように、と書いてある。
素直に作れるのは NAND だった。 では、AND も、OR も、NOT も、NAND の箱だけで作ることはできないだろうか。
NAND だけで、ほかのゲートも作れないか。
次回は、NAND の箱だけを並べて、ほかのゲートを組み立ててみる。
参考文献
- 松下俊介 著. 基礎からわかる論理回路. 第2版, 森北出版, 2021.7. 978-4-627-82842-1. https://ndlsearch.ndl.go.jp/books/R100000002-I031573740
- チャールズ・ペゾルド 著 ; 酒匂寛 訳. CODE : コードから見たコンピュータのからくり. 第2版, 日経BP, 2024.2. 978-4-296-08024-3. https://ndlsearch.ndl.go.jp/books/R100000002-I033318457
- Computer History Museum. "1963: Complementary MOS Circuit Configuration is Invented". The Silicon Engine. https://www.computerhistory.org/siliconengine/complementary-mos-circuit-configuration-is-invented/, (参照 2026-10-7).
- Texas Instruments. "CMOS Power Consumption and Cpd Calculation" (SCAA035B). 1997. https://www.ti.com/lit/an/scaa035b/scaa035b.pdf, (参照 2026-10-7).
- Texas Instruments. "SNx4HC00 Quadruple 2-Input NAND Gates" (SCLS181H). 2021. https://www.ti.com/lit/ds/symlink/sn74hc00.pdf, (参照 2026-10-7).
- Mark McDermott. "Implementing Logic in CMOS". VLSI-1 Class Notes, The University of Texas at Austin. https://users.ece.utexas.edu/~mcdermot/vlsi1/main/lectures/lecture_4.pdf, (参照 2026-10-7).