論理ゲート
Intel初のマイクロプロセッサー、1971年の4004には2,300個のトランジスタがありました。それらはゲートとしてつながれていて、プロセッサーはゲートだけでできています。
机の上で作るシャノンの2つの回路
シャノンの2つの回路は、電池と電球とスイッチ2個で作れます。スイッチを一列に並べると、1つ目と2つ目の両方が閉じているときだけ電球がつきます。横に並べると、どちらか一方が閉じていれば電球がつきます。これらの回路はもう判断をしています。論理ゲートは同じ種類の小さな回路で、手で動かすスイッチの代わりにトランジスタで作られています。1つか2つの入力ビットを受け取り、決まった規則で1つの出力ビットを出します。
6つのゲートと、それを定める表
ANDは、一列に並べたスイッチのように、両方の入力が1のときだけ1を出します。ORは、横に並べたスイッチのように、少なくとも1つの入力が1なら1を出します。NOTは入力が1つだけで、それを反転させます。0は1に、1は0になります。XORは「排他的論理和(exclusive or)」の略で、2つの入力がちがうときに1を出します。NANDとNORは、ANDとORの最後にNOTをつけたもので、出力がちょうど逆になります。真理値表は、入力のすべての組み合わせとそれぞれの出力を並べた表です。入力が2つなら4行、3つなら8行、n個なら2のn乗行になります。
ドラッグで回転、スクロールまたはピンチで拡大・縮小。
| A | B | AND | OR | XOR | NAND | NOR |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
警報機、等しいかどうかの判定、パスワードの確認
ゲートを組み合わせると、どんな大きさの規則でも作れます。防犯ベルを考えましょう。システムが作動中で、かつ(ドアが開いている、または窓が開いている)ときに鳴るべきです。これはORゲート1つがANDゲート1つにつながったものです。2つのビットが等しいかを調べるには、XORのあとにNOTを置きます。XORはビットがちがうときにちょうど1を出すからです。それを8つ並べて、出力をANDでまとめれば、回路は2つのバイト全体が一致するかを教えてくれます。「パスワードは正しいか」から「タイマーは0になったか」まで、プログラムが行うあらゆる比較は、最後にはこのような回路になります。
チップメーカーがNANDだけでやっていける理由
NANDには便利な性質があります。ほかのすべてのゲートを、NANDゲートだけで作れるのです。NANDの2つの入力をつなぐとNOTになります。1と1のNANDは0、0と0のNANDは1だからです。そのNOTを別のNANDのあとに置けば、ANDに戻ります。もう少し加えればORとXORもできます。チップメーカーにとってこれはありがたいことで、よく検証された1つの形を膨大な数だけ並べればよいのです。実際のチップでは、ゲート1つはトランジスタ数個です。4004には2,300個あり、Intelは2010年の第2世代Coreプロセッサーについて11.6億個としています。39年でおよそ500,000倍です。
- 「ORは、どちらか一方だけで両方ではないという意味だ」 日常の「または」はそういう意味のことがよくあります。「紅茶またはコーヒー?」はたいてい一つ選ぶという意味です。論理学ではその規則はXORです。ORは両方の入力が1のときも1を出します。
- 「入力3つの真理値表は6行だ」 3 × 2は数え方がまちがっています。入力が1つ増えるたびに行は2倍になります。それまでの行が、新しい入力が0のときと1のときに1回ずつ出てくるからです。2³ = 8です。入力が4つならもう16行必要です。
- 「NANDとNORは新しい種類のスイッチだ」 NANDはANDの最後にNOTをつけたもの、NORはORの最後にNOTをつけたものです。中で新しいことは何も起きていません。NANDが特別なのは、それだけでほかのすべてのゲートを作れる点です。
- 入力が1と0のANDの出力は?
- 入力が1と0のORの出力は?
- 入力が1と1のXORの出力は?
- 入力が1と1のNANDの出力は?
- 入力が0と0のNORの出力は?
- 入力3つのゲートの真理値表は何行ですか?
- 電球と直列につないだ2つのスイッチは、どのゲートのようにはたらきますか?
- AND
- OR
- XOR
- NOT
- NANDゲートの2つの入力をつなぎます。どのゲートになりますか?
- NOT
- AND
- OR
- XOR
- 1971年のIntel 4004には、トランジスタがいくつありましたか?
- シャノンの1938年の論文は何を示しましたか?
- スイッチ回路は、真と偽を扱うブールの代数に従う
- トランジスタはリレーより速い
- 2進数は1938年に発明された
- コンピューターには10進数の数字が必要だ
- ゲートは決まった規則で、入力ビットを1つの出力ビットに変える。
- AND:両方が1。OR:少なくとも1つが1。NOT:反転。XOR:入力がちがう。
- NANDとNORはANDとORの出力を反転したもの。NANDだけですべてのゲートを作れる。
- 入力がn個の真理値表は2ⁿ行。
このコースの出典 (9)
- (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
- Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
- IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
- IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
- Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
- Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
- Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
- abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
- John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).
確認日: 2026-10-17