シリーズ「コンピュータの部品のしくみ」 第6回
回路が「遅れる」とは?
一瞬では、ない
このシリーズでは、机の上に部品を並べて、ゲートの中身を組み立てている。
第1回では、電池の+側につながった線を 1 の線、−側につながった線を 0 の線と呼んだ。 第2回と第3回で、スイッチを電気で押せるようになった。 いまの主役は、動く部分のないスイッチ、トランジスタだ。
第4回では、2 種類のトランジスタを、出口の上と下に組にして置いた。 前回は、その組でできる NAND を 1 種類だけ並べて、NOT も AND も足し算も作った。
前回の終わりに、半加算器の和は、NAND が 3 段重なってできている、と書いた。 1 段目が切り替わってから、2 段目。2 段目が切り替わってから、3 段目。 そして、こう問いかけた。
本当に、一瞬なのだろうか。
答えから言うと、一瞬ではない。
ヒントは、もう第2回にあった。 リレーは、コイルに電気を流してから接点が切り替わるまで、カチッと鳴るまでに、少し時間がかかった。 リレーを 2 段つなぐと、1 段ずつ遅れて切り替わった。
じつは、このシリーズの図は、第2回からずっと、少しずつ間をあけて動かしてきた。 押したとたんに全部が変わるのではなく、1 つ切り替わってから、次が切り替わる。 このサイトのシミュレータは、この「1 つぶん」の刻みをステップと呼んで数えている。
今回は、そのステップの正体を見ていこう。 動く部分のないトランジスタでも、切り替わるのには時間がかかる。 なぜだろう。
線に、ためる
NOT の出口の線は、どこへつながっているのだろう。
ゲートの出口の先には、たいてい、次のゲートがある。 つまり、出口の線の先には、次のゲートのトランジスタの押し口がある。
第3回で見た、トランジスタの箱を思い出してほしい。 押し口の線は、箱の横から入って、板で終わっていた。 その板は、通り道と、すき間をあけて向かい合っていた。 触れてはいない。 だから、押し口は電気を通さない。
では、押し口を 1 にするとは、どういうことだろう。
電気が通り抜けない板を 1 にするには、板に電気をためるしかない。
板だけではない。そこまで続く線にも、少しだけ電気がたまる。
バケツに水を入れるようなものだ。
満タンになって、はじめて 1 になる。
そして、ためるには時間がかかる。 水道の蛇口をひねっても、バケツは一瞬では満たされない。
0 にするときは、反対だ。
たまっている電気を、抜かなければならない。
これにも時間がかかる。
上下の組の NOT でいえば、
出口を 1 にするとき、上の組が 1 の線から電気を流し込んで、線にためる。
出口を 0 にするとき、下の組が、たまった電気を 0 の線へ抜く。
トランジスタは、押されればすぐにつながる。 けれど、つながってから、線にためる(抜く)までの時間が、どうしても要る。 これが、ゲートの遅れだ。
押して、確かめる
下の図は、第4回の上下の組の NOT を、2 段つないだものだ。 1 段目の出口の線は、右へ伸びて、2 段目の上と下の押し口に入っている。
出口の線の下にある横長の目盛りは、その線にたまっている電気だ。
緑でいっぱいなら 1、空なら 0。
線にためる シミュレータ
入力スイッチ A を倒して、出口の線にたまっている電気(目盛り)を見てください
A を倒して、1 段目と 2 段目の出口の線の目盛りを見てください。
目盛りの緑は、その線にたまっている電気。満タンなら 1、空なら 0。1 ステップかけて、たまる(抜ける)
入力スイッチ A を倒してみてほしい。
まず、押し口の線の色が、その場で変わる。 倒したその場を、0 ステップ目と数えよう。
1 段目のトランジスタは、すぐにつながり(切れ)、水色の箱が入れ替わる。 けれど、出口の線の色は、まだ変わらない。 目盛りが、ゆっくり抜けていく(たまっていく)。 抜けきった(たまりきった)ところで、やっと線の色が変わる。 ここまでで、1 ステップ。
すると今度は、その線につながっている 2 段目の押し口が変わる。 2 段目も同じように、自分の出口の線にためて(抜いて)いく。 2 段目の出口が変わるのは、2 ステップ目だ。
もう一度倒すと、今度は向きが逆になる。
1 にするほうも、0 にするほうも、1 ステップずつかかる。
ここでの目盛りの動きは、ためていく様子を見せるために、ゆっくり描いた絵だ。 本物の速さは、あとで数字で見る。
つなぐと、足し算
NOT を 1 段つなぐと、1 ステップ。 2 段つなぐと、2 ステップ。
それなら、もっとつないだら、どうなるだろう。
ここからは、前回と同じように、ゲートを箱で描く。 箱の中には、いつでも、いま見た上下の組が入っている。
NOT をつなぐ シミュレータ
段の数を選んで A を倒し、出口が変わるまでのステップを数えてください
A を倒して、出口が変わるまでに何ステップかかるかを数えてください。
記録テープ。上が 1、下が 0。1 目盛りが 1 ステップ、右端がいま
上のつまみで、NOT の段の数を 1〜5 から選べる。 A を倒して、出口のランプが変わるまでに何ステップかかるかを数えてほしい。
図の下の記録テープには、A と、各段の出口の値が、1 ステップに 1 目盛りずつ記録されていく。 右端が、いまだ。
A が変わると、1 目盛り遅れて 1 段目が変わる。 さらに 1 目盛り遅れて 2 段目。 テープの上で、変わり目が階段のように右へずれていく。
3 段なら 3 ステップ。 5 段なら 5 ステップ。
遅れは、足し算になる。
1 段ずつが、前の段の出口がためきる(抜けきる)のを待ってから、自分の線にため始めるからだ。 前の段が終わるまで、次の段は始められない。
「1 段目の NOT を開く」を押すと、1 段目の箱が開いて、さっきの上下の組の図に切り替わる。 箱の外から見て 1 ステップかかっていたのは、この中で、出口の線にためていた時間だ。
前回の半加算器の和は、NAND が 3 段重なっていた。 だから、A を倒してから和が出るまでに、3 ステップかかる。 前回のシミュレータは、そのあいだを飛ばして、落ち着いたあとの答えだけを見せていた。
『計算のしくみ』を読んだ人は、第1回の上級モードの「1ステップ進む」を思い出してほしい。あの 1 ステップが、ゲート 1 段ぶんの遅れだ。第2回で、繰り上がりが 1 桁ずつ順番に伝わるのを待ったのも、遅れが足し算になるからだ。
物差しの、時間の欄
では、本物の 1 ステップは、どのくらいの長さなのだろう。
このシリーズでは、スイッチの比べっこの表を、1 行ずつ伸ばしてきた。 「切り替わるのにかかる時間」の欄は、ずっと埋まらないままだった。 今回、ここを埋める。
リレーは、第2回で見たとおり。 机の上のリレーの説明書には、コイルに電気を流してから接点が切り替わるまで、6 ミリ秒以内と書いてあった。
上下の組は、店で売っている NOT の IC で確かめよう。 たとえば 74HC04 という IC には、上下の組の NOT が 6 つ入っている。 作っている会社の資料(データシート)によると、入力が変わってから出口が変わるまでの時間は、 電源が 4.5 ボルトのとき、ふつう 9 ナノ秒。
ナノ秒は、10 億分の 1 秒。 1 ミリ秒の、さらに 100 万分の 1 だ。
| スイッチ | 押すもの | 動く部分 | 切り替わるのにかかる時間 | 待っているあいだの電気 |
|---|---|---|---|---|
| 押しボタン | 人の指 | ある | 人の指しだい | 使わない |
| リレー | 電気(電磁石) | ある(カチッと鳴る) | 数ミリ秒 | 押しているあいだ、コイルに流しっぱなし |
| トランジスタ 1 種類 | 電気 | ない | ? | 0 を出しているあいだ、流しっぱなし |
| 上下の組(CMOS) | 電気 | ない | 10 ナノ秒ほど | ほとんど使わない |
(トランジスタ 1 種類の行は、このシリーズでは確かめていないので、?のまま残しておく。)
動く部分のないトランジスタは、板を動かすリレーより、けた違いに速い。 それでも、ゼロではない。 線にためる時間だけは、どうしても残る。
いまのコンピュータの CPU の中のゲートは、これよりも、もっと短い時間で切り替わる。 それでも、たくさんの段がつながれば、1 段ずつは短くても、足し算で効いてくる。
輪に、すると
ここまで、NOT を一列につないできた。 最後の出口を、最初の入口へ戻して、輪にしたら、どうなるだろう。
ただ、いきなり輪にすると、いつから動き始めたのかが分からない。 そこで、輪を、あとから閉じられるようにしておく。
使うのは、前回の NAND だ。
NAND の表の、A が 1 の行だけを見てほしい。
| A | B | NAND |
|---|---|---|
| 1 | 0 | 1 |
| 1 | 1 | 0 |
A が 1 なら、NAND は B の反対を返す。NOT と同じだ。
A が 0 なら、B が何であっても、NAND は 1 を出し続ける。
だから、NAND の片方の入口を「輪」のスイッチにすれば、
スイッチが 0 のあいだは輪が切れていて、みんな落ち着いて止まっている。
1 にした瞬間、NAND が NOT になって、輪が閉じる。
下の図では、NAND と NOT を合わせて 3 つ、4 つ、5 つの輪を選べる。
NOT の輪 シミュレータ
数を選んで「輪」のスイッチを 1 にし、出口のランプと記録テープを見てください
「輪」のスイッチが 0。NAND は 1 を出し続けていて、輪は切れている。みんな止まっている。
記録テープ。上が 1、下が 0。1 目盛りが 1 ステップ、右端がいま
まずは 3 つのまま、「輪」のスイッチを 1 にしてほしい。
出口のランプが、点いたり消えたりを、いつまでも繰り返す。 点滅が止まらない。 記録テープを見ると、どの箱も、3 ステップごとに切り替わっている。 ひと回りは 6 ステップだ。
追いかけてみよう。
閉じた瞬間、NAND の入口には、3 つ目の出口から 1 か 0 が戻ってくる。
NAND はその反対を出す。これが 1 ステップ目。
2 つ目がその反対を出して、2 ステップ目。
3 つ目がその反対を出して、3 ステップ目。
3 回反対になったので、3 つ目の出口は、さっきと反対になっている。
それが NAND の入口に戻ってくるので、NAND はまた切り替わる……。
変わり目が、輪を 1 周するたびに、反対になって戻ってくる。 だから、いつまでも止まらない。 1 周に 3 ステップ、行って戻るのに 6 ステップ。 5 つにすると、1 周に 5 ステップかかるので、点滅はゆっくりになる(ひと回り 10 ステップ)。
4 つにすると、どうだろう。 閉じても、何も起こらない。 反対を 4 回とると、もとに戻る。 1 周してきた値が、いまの値と同じなので、変わる理由がない。 偶数なら、止まったままだ。
ここで、もし遅れがなかったら、と考えてみてほしい。
奇数の輪では、出口の値が、そのまま自分の反対になって戻ってくる。
遅れがなければ、出口は「1 であり、同時に 0 でもある」ことになってしまう。
そんな値は、ない。
遅れがあるから、出口は「さっきの自分の反対」になる。
さっきが 1 なら、いまは 0。さっきが 0 なら、いまは 1。
遅れがあるから、輪は点滅になる。
このように NOT を奇数個つないだ輪は、リングオシレータと呼ばれる。 オシレータは、「揺れ続けるもの」という意味だ。 チップを作る工場では、この輪の点滅の速さを測って、ゲート 1 個の遅れを確かめ、作ったものの出来を見張るのに使っている。 点滅の速さは、遅れの足し算そのものだからだ。
『記憶のしくみ』を読んだ人は、第4回のクロックを思い出してほしい。0 と 1 を規則正しく繰り返す波だった。この輪の出口も、誰も押していないのに、規則正しく 0 と 1 を繰り返している。
ところで、74HC04 の NOT 3 つで、この輪を作ったら、どのくらいの速さで点滅するだろう。 データシートのふつうの値(9 ナノ秒)で計算すると、ひと回りは 2 × 3 × 9 = 54 ナノ秒。 1 秒間に、1800 万回ほど点滅することになる(実際には、つないだ線や部品によって変わる)。 とても目では追えない。
けれど、線にためる電気を、わざと多くすれば、ためるのに時間がかかり、点滅はゆっくりになるはずだ。
同じ NOT でも、ばらつく
さっきの 74HC04 のデータシートを、もう少しよく見てみよう。
9 ナノ秒というのは、「ふつう」の値だった。 同じ欄に、「最大 19 ナノ秒」とも書いてある。 使う温度の範囲を広げると、最大は 24 ナノ秒になる、とある。
同じ型番の IC でも、遅れは、1 個ずつ少しずつ違う。 温度や、電源の電圧によっても変わる。 だから資料には、1 つの数ではなく、幅で書いてあるのだ。
このサイトのシミュレータは、どのゲートも、ぴったり同じ 1 ステップで切り替わる、という約束で動いている。 本物は、そうではない。
ほとんどの回路では、それで困らない。 遅いゲートを待てばいいだけだ。 けれど、2 つの信号の「どちらが先に届くか」で答えが変わる回路では、このばらつきが効いてくる。 『記憶のしくみ』を読んだ人は、第2回で、2 つのボタンを同時に離したとき、答えを決めたのがゲートの速さだったことを思い出してほしい。あのばらつきの正体が、この遅れの違いだ。
捨てられる、電気
最後に、もう一度、出口の線にたまった電気のことを考えてみよう。
1 を出すとき、上の組は、1 の線から電気を流し込んで、線にためた。
0 を出すとき、下の組は、その電気を 0 の線へ抜いた。
抜いた電気は、もう戻ってこない。
次に 1 を出すときは、また 1 の線から流し込んで、ためなおす。
つまり、出口が 1 から 0 に切り替わるたびに、ためた電気は 0 の線へ捨てられている。
第4回で、上下の組は、待っているあいだは、ほとんど電気を使わない、と書いた。 それは本当だ。 けれど、切り替わるたびに、ためては捨てている。 さっきの輪なら、1 秒間に何千万回も。
捨てられた電気は、どこへ行くのか。
次回は、捨てられた電気の行き先を追いかける。
参考文献
- 松下俊介 著. 基礎からわかる論理回路. 第2版, 森北出版, 2021.7. 978-4-627-82842-1. https://ndlsearch.ndl.go.jp/books/R100000002-I031573740
- Texas Instruments. "SNx4HC04 Hex Inverters" (SCLS078H). 2021. https://www.ti.com/lit/ds/symlink/sn74hc04.pdf, (参照 2026-10-8).
- HSINDA. "941 Series" (941H-2C-9D データシート). LCSC Electronics. https://www.lcsc.com/datasheet/C259269.pdf, (参照 2026-10-5).
- Tektronix. "Ring Oscillator Frequency Measurements Using an Automated Parametric Test System". https://www.tek.com/en/documents/whitepaper/ring-oscillator-frequency-measurements-using-automated-parametric-test-system, (参照 2026-10-8).