「高等学校情報/情報の科学/論理回路と半導体」の版間の差分
半加算器 |
いろいろと追記。 |
||
152 行 | 152 行 | ||
=== OR回路 === |
=== OR回路 === |
||
[[File:OR-gate of diodes.svg|thumb|ダイオードによるORゲート]] |
[[File:OR-gate of diodes.svg|thumb|300px|ダイオードによるORゲート]] |
||
電圧は、 |
電圧は、 |
||
242 行 | 242 行 | ||
| 0 || 1 |
| 0 || 1 |
||
|} |
|} |
||
{{-}} |
|||
次の図のように、トランジスタという素子を使って、NOT計算が可能である。 |
|||
[[File:NOT gate diode circuit jp.svg|thumb|left|300px|トランジスタによるNOTゲート]] |
|||
{{-}} |
{{-}} |
||
257 行 | 262 行 | ||
<gallery widths=200px heights=100px> |
<gallery widths=200px heights=100px> |
||
File:Logic circuit AND 00 jp.svg|論理回路 AND 。 入力00の場合。 |
File:Logic circuit AND 00 jp.svg|論理回路 AND 。 入力00の場合。 |
||
</gallery> |
|||
<gallery widths=200px heights=100px> |
|||
File:Logic circuit AND 01 jp.svg|論理回路 AND 。 入力01の場合。 |
File:Logic circuit AND 01 jp.svg|論理回路 AND 。 入力01の場合。 |
||
</gallery> |
</gallery> |
||
285 行 | 293 行 | ||
=== NOT回路の論理回路 === |
=== NOT回路の論理回路 === |
||
NOTの論理回路の記号は、次のようになる。 |
|||
<gallery widths=200px heights=100px> |
|||
File:NOT logic circuit input 0 jp.svg|NOT論理回路。 入力=0 の場合。 |
|||
</gallery> |
|||
<br /> |
|||
<br /> |
|||
<gallery widths=200px heights=100px> |
|||
File:NOT logic circuit input 1 jp.svg|NOT論理回路。 入力=1 の場合。 |
|||
</gallery> |
|||
{{-}} |
{{-}} |
||
386 行 | 405 行 | ||
つまり、くりあがり(carry)の有無を、AND回路を使って書ける。 |
つまり、くりあがり(carry)の有無を、AND回路を使って書ける。 |
||
[[File:Half adder jp.svg|thumb|半加算器。]] |
[[File:Half adder jp.svg|thumb|400px|left|半加算器。]] |
||
この論理回路を半加算器という。 |
この論理回路を半加算器という。 |
||
図中「C」は、2桁目の数字である。・ |
|||
図中「S」は、1桁目の数字である。(なお、sum(和)に由来する。) |
|||
{{-}} |
|||
真理値表で、確認しよう。 |
|||
まず、加算の真理値表は、次のようになる。 |
|||
{| class="wikitable" |
|||
|- style="background-color:#cccccc" |
|||
! colspan="2" | 入力 |
|||
! colspan="2" | 出力 |
|||
|- |
|||
! A !! B !! C !! S |
|||
|- align="center" |
|||
| 1 || 1 || 1 || 0 |
|||
|- align="center" |
|||
| 1 || 0 || 0 || 1 |
|||
|- align="center" |
|||
| 0 || 1 || 0 || 1 |
|||
|- align="center" |
|||
| 0 || 0 || 0 || 0 |
|||
|} |
|||
{{-}} |
|||
いっぽう、半加算器の回路図で、入力と出力は、図のようになる。 |
|||
[[File:Half adder input 1 1 jp.svg|thumb|left|300px|半加算器。 入力が 1と1 。]] |
|||
[[File:Half adder input 1 0 jp.svg|thumb|left|300px|半加算器 。 入力が 1と0 。]] |
|||
入力が1と0の場合も、同様に作図できる。 |
|||
[[File:Half adder input 0 0 jp.svg|thumb|left|300px|半加算器。 入力が 0と0 。]] |
|||
加算の真理値表と、半加算器の計算結果を比べると、一致している。 |
2017年5月24日 (水) 21:45時点における版
- ※ ANDやORの概念については、『高等学校情報 社会と情報/検索』 を参照せよ。
はじめに
- (※ 普通科の範囲外)
ダイオードという半導体素子を用いた回路により、物理的にANDやORの処理を実行できる。
結論を先に示すと、
である。
では、まずダイオードについて、学んでいこう。
ダイオード
- (※ 普通科の物理IIでも習う)
p型半導体とn型半導体を接合し(pn接合)た物体が、一方向のみに電流を流す。
このような部品をダイオード(diode)という。
p側に正電圧を掛け、n側に負電圧を掛けた時、電流が流れる。
いっぽう、p側に負電圧を描け、n側に正電圧を掛けても、電流が流れない。
回路において、ダイオードが電流を流す向きを順方向(じゅんほうこう)という。順方向とは反対向きを逆方向という。ダイオードの逆方向には、電流は流れない。
このように一方向に流れる仕組みは、ダイオードでは、つぎのような仕組みで、電流が流れるからである。
- p側に正電圧を掛け、n側に負電圧を掛けた時
ダイオードのp側に正電圧をかけ、いっぽうn側に負電圧をかけると、p側では正電極の正電圧からホールが反発して接合面へと向かい、いっぽうn側では電子が負電極から反発して接合面へと向かう。そして、接合面で、ホールと電子がであい、消滅する。この結果、見掛け上、正電荷が、正電極から負電極に移動したのと、同等の結果になる。
そして、正電極から、つぎつぎとホールが供給されるので、電流が流れ続ける。
- p側に負電圧を描け、n側に正電圧を掛けた時
いっぽう、p側に負電圧を描け、n側に正電圧を掛けた時、p側ではホールは電極(電極には負電圧が掛かってる)に引き寄せられ、接合面からは遠ざかる。同様にn側では電子が電極(正電圧が掛かってる)に引き寄せられ、接合面からは遠ざかる。
この結果、接合面には、余分なホールも余分な電子もない状態となり、よって接合面の付近にはキャリアがなく、この接合面付近のキャリアの無い部分は空乏層(くうぼうそう、depletion layer)と呼ばれる。
そして、それ以降は、ホールも電子も、もうどこにも移動の余地がないので、よって電流が流れない。
このようにして、ダイオードは、P側の電圧が、N側の電圧よりも高い場合にのみ、電流を流す。
ダイオードによる論理計算
AND回路
- (※ 普通科の範囲外)
- (※ 工業高校教科書でも科目『ハードウェア技術』にしか書いてない!)
なぜ、この回路図がAND処理なのか、見ていこう。
まず、図のCは論理計算「A and B」に対応する結果である。
説明の簡単化のため、Aの電圧は0Vか5Vのどちらかを取るとしよう。同様に、Bの電圧は0Vか5Vのどちらかを取るとしよう。
さて、AとBの電圧の両方とも5V以上の場合にのみ、Cが5Vになる。
なぜなら、
- ・ もし、AとBの電圧の両方とも5V以上なら、ダイオードに電流が流れないから、5Vがほぼそのまま出力Cに伝わる。(抵抗Rでの電圧降下はあるが、充分に無視できるように、回路を設計してあるとする。)
- ・ 一方、もし、Aが0Vなら、ダイオードD1が導通する。このとき、オームの法則により、抵抗Rで電圧が5Vぶん低下するので、Cの電圧も0Vになる。よって、Bの電圧が0Vだろうが5Vだろうが、もはやCの電圧は0Vである。
この結果を表にすると、5Vを「H」として、0Vを「L」とすれば、
入力電圧 A | 入力電圧 B | 出力電圧 C |
---|---|---|
H | H | H |
H | L | L |
L | H | L |
L | L | L |
となる。
一方、論理計算 A and B とは、
条件 A | 条件 B | A and B |
---|---|---|
真 | 真 | 真 |
真 | 偽 | 偽 |
偽 | 真 | 偽 |
偽 | 偽 | 偽 |
という計算である。AとB が両方とも「真」の場合だけ(つまり英文でいうなら Both A and B の場合)、出力が「真」になるので、AND計算 というのである。
「真」をHに対応させ、「偽」をLに対応させれば、
表から分かるように、図の電気回路は、A and B の計算結果と同じである。
よって、ダイオードを用いた回路で、A and B を計算できる。
また、この回路図のように、論理計算のAND計算をできる回路のことをAND回路という。
さて、コンピュータのデジタル信号では、0と1で処理をするのであった。(右図を参照せよ。)
信号処理のため、ダイオードによるORゲートについて、Hを1に置き換え、Lを0に置き換える。
入力 A | 入力 B | A and B |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
これが、0と1からなる数値によってデジタル信号を扱う場合の、AND計算の結果である。
ダイオード回路図を毎回、作図するのは手間なので、下記のような記号を使うべきとされる。
このような記号を論理回路という。
-
論理回路 AND 。 入力00の場合。
-
論理回路 AND 。 入力01の場合。
OR回路
電圧は、
入力電圧 A | 入力電圧 B | 出力電圧 C |
---|---|---|
H | H | H |
H | L | H |
L | H | H |
L | L | L |
となる。(Hは電圧が高い状態。Lは電圧が低い状態。)
これに、Hを論理計算の「真」に対応され、Lを「偽」に対応させれば、
条件 A | 条件 B | 結果 C |
---|---|---|
真 | 真 | 真 |
真 | 偽 | 真 |
偽 | 真 | 真 |
偽 | 偽 | 偽 |
となる。A か B の少なくともどちらかが「真」であれば(つまり英文でいうなら A or B の場合)、出力が「真」になるので、OR算 というのである。なお、AとBが両方とも「真」であっても、少なくとも片方が「真」である事にかわりはないので、AとBが両方とも「真」の場合にも A or B は「真」になる。
表から分かるように、図の電気回路を真偽に置き換えた結果Cは、A or B の計算結果と同じである。
よって、ダイオードを用いた回路で、A or B を計算できる。
また、この回路図のように、論理計算のOR計算をできる回路のことをOR回路という。
さて、コンピュータのデジタル信号では、0と1で処理をするのであった。(右図を参照せよ。)
信号処理のため、ダイオードによるORゲートについて、Hを1に置き換え、Lを0に置き換える。
入力 A | 入力 B | A or B |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
これが、0と1からなる数値によってデジタル信号を扱う場合の、OR計算の結果である。
NOT回路
NOT回路とは、出力に、入力とは反対の結果を出す回路のことである。
つまり、
入力 A | 出力 C |
---|---|
H | L |
L | H |
のような結果を出す回路である。
デジタル信号の 0 , 1 で表記すれば、NOT回路の計算は、次表になる。
入力 A | 出力 C |
---|---|
1 | 0 |
0 | 1 |
次の図のように、トランジスタという素子を使って、NOT計算が可能である。
論理回路
AND回路の論理回路
ダイオード回路図を毎回、作図するのは手間なので、下記のような記号を使うべきとされる。
AND回路図は、下図のようになる。
このような記号を論理回路という。
-
論理回路 AND 。 入力00の場合。
-
論理回路 AND 。 入力01の場合。
-
論理回路 AND 。 入力10の場合。
-
論理回路 AND 。 入力11の場合。
OR回路の論理回路
OR回路の論理回路は、下図のようになる。
-
論理回路 OR 。 入力00の場合。
-
論理回路 OR 。 入力01の場合。
-
論理回路 OR 。 入力10の場合。
-
論理回路 OR 。 入力11の場合。
NOT回路の論理回路
NOTの論理回路の記号は、次のようになる。
-
NOT論理回路。 入力=0 の場合。
-
NOT論理回路。 入力=1 の場合。
2進数の計算
まず、2進数の1桁どうしの足し算の結果は、次のようになる。
0 | ||||
+ | 0 | |||
0 |
0 | ||||
+ | 1 | |||
1 |
1 | ||||
+ | 0 | |||
1 |
1 | ||||
+ | 1 | |||
1 | 0 |
答えの十の位が1になる場合とは(つまり、くりあがり が起きる場合とは)、入力AとBが両方とも1の場合である。
つまり、くりあがり(carry)の有無を、AND回路を使って書ける。
この論理回路を半加算器という。
図中「C」は、2桁目の数字である。・
図中「S」は、1桁目の数字である。(なお、sum(和)に由来する。)
真理値表で、確認しよう。
まず、加算の真理値表は、次のようになる。
入力 | 出力 | ||
---|---|---|---|
A | B | C | S |
1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
0 | 0 | 0 | 0 |
いっぽう、半加算器の回路図で、入力と出力は、図のようになる。
入力が1と0の場合も、同様に作図できる。
加算の真理値表と、半加算器の計算結果を比べると、一致している。