リレーで作る組合回路
2021-12-03
半導体なしで論理回路を作ります。
\[ \newcommand{dn}[3]{\frac{\mathrm{d}^{#3} #1}{\mathrm{d} #2^{#3}}}
\newcommand{\d}[2]{\frac{\mathrm{d} #1}{\mathrm{d} #2}}
\newcommand{\dd}[2]{\frac{\mathrm{d}^2 #1}{\mathrm{d} {#2}^2}}
\newcommand{\ddd}[2]{\frac{\mathrm{d}^3 #1}{\mathrm{d} {#2}^3}}
\newcommand{\pdn}[3]{\frac{\partial^{#3} #1}{\partial {#2}^{#3}}}
\newcommand{\pd}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\pdd}[2]{\frac{\partial^2 #1}{\partial {#2}^2}}
\newcommand{\pddd}[2]{\frac{\partial^3 #1}{\partial {#2}^3}}
\newcommand{\p}{\partial}
\newcommand{\D}[2]{\frac{\mathrm{D} #1}{\mathrm{D} #2}}
\newcommand{\Re}{\mathrm{Re}}
\newcommand{\Im}{\mathrm{Im}}
\newcommand{\bra}[1]{\left\langle #1 \right|}
\newcommand{\ket}[1]{\left|#1 \right\rangle}
\newcommand{\braket}[2]{\left\langle #1 \middle|#2 \right\rangle}
\newcommand{\inner}[2]{\left\langle #1 ,#2 \right\rangle}
\newcommand{\l}{\left} \newcommand{\m}{\middle} \newcommand{\r}{\right}
\newcommand{\f}[2]{\frac{#1}{#2}} \newcommand{\eps}{\varepsilon}
\newcommand{\ra}{\rightarrow} \newcommand{\F}{\mathcal{F}}
\newcommand{\L}{\mathcal{L}} \newcommand{\t}{\quad}
\newcommand{\intinf}{\int_{-\infty}^{+\infty}}
\newcommand{\R}{\mathcal{R}} \newcommand{\C}{\mathcal{C}}
\newcommand{\Z}{\mathcal{Z}} \newcommand{\bm}[1]{\boldsymbol{#1}} \]
これは リレーから始める CPU 自作 Advent Calendar 2021 3 日目の記事です。<<< 2 日目
リレーとは
「電気で制御できるスイッチ」です。電磁石に電流が流れると、電磁力によってスイッチが入ります。電流が切れると、ばねの力によってスイッチが切れます。
記号
この連載では、リレーをこのような記号で表すことにします。 長方形はリレーの電磁石を表し、長方形の中にリレーの ID を書いておきます。スイッチはリレーの ID を書いて区別します。 今後は電源を省略しますが、左側の縦線がプラスで右側の縦線がマイナスとなります。
リレーでマルチプレクサ
前回、手動のスイッチで作ったマルチプレクサを、リレーにより電気的に動かせるようになりました。
これで、電気を入力とし、電気を出力とする、組合回路が作れるようになりました。
リレーで半加算器
ということで、コンピュータっぽい回路を作ってみましょう。
半加算器とは、2 進数で一桁の足し算をする回路です。
2進数の一桁の足し算は次の 4 パターンしかありません。
\[
\begin{aligned}
0+0&=0 \\
0+1&=1 \\
1+0&=1 \\
1+1&=10
\end{aligned}
\]
これを真理値表にするとこうなります。 S は和 (Sum) を、C は繰り上がり (Carry) を意味します。
\[
A + B = C \times 10 + S
\]
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
この真理値表を論理回路にすると、こうなります。
>>> 4 日目