当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題のある表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

Bit Switch【Turing Complete編】

スリーステートバッファー

スリーステートバッファー(three state buffer)と呼ばれる素子は、出力がHレベルとLレベルのほかにもう1つ、ハイインピーダンス(またはフローティング)状態を持ちます。

ハイインピーダンス状態は記号でZと表記されます。

つまり、無限大の抵抗値を持つわけで、実質的にワイヤーが切断されている状況とほぼ同等です。

したがって、スリーステートバッファーは、制御入力Cによって、出力端子Zを入力側Aと切り離せます。

ACZ
00Z
010
10Z
111
スリーステートバッファーの真理値表

スリーステートバッファーはデジタル回路版スイッチに使える

Cが1ならスイッチON、Cが0ならスイッチOFFを意味する、(1ビットの)Cで制御するデジタル回路版スイッチといえます。

Turing CompleteではSwitchコンポーネントとして用意されています。

・制御用のEnable・・・上記のスリーステートバッファーのCに対応。

・出力のOutput・・・ピンがグレーのとき、切断(Z)を意味する。

Bit Switchステージ

Bit Swtichステージのゴールは、2つのNOTコンポーネント、2つのBit Switchコンポーネント(ここではビットでON・OFFを制御できるスイッチ。以降、Switchコンポーネントと略す)を使って、XOR回路を完成させることです。

※Switchコンポーネントは使える状態になっています。このコンポーネントの使い方はダイアログのメッセージで解説されます。

Bit Switchステージを解く

解答の回路は次の通りです。

この回路の真理値表を書いてみます。

途中のワイヤーの状態を明確にするために、a~fを1つずつ調べていきましょう。

ここで、左上のNOTコンポーネントをN1、右上のSwitchコンポーネントをS1、左下のNOTコンポーネントをN、右下のSwitchコンポーネントS2とします。

Input 1Input 2abcdefOutput
000011ZZZ
0101101Z1
101001Z11
111100000
組んだ回路の真理値表

真理値表を書いたら、[Next]ボタンを押して1つずつテストしてみてください。ワイヤーの状態(1なのか0なのか)が一目瞭然ですので、真理値表と見比べて一致することを確認しましょう。

ところで、Ouputの1ヶ所がZになりますが、シミュレーターは1や0が確定していない場合は0と扱う仕様です。

※Outputに何もワイヤーをつなげない状態で[Next]ボタンを押してテストしてみれば、常に0(=OFF)になることがわかります。

よって、Zを0に置き換えれば、XOR回路の真理値表と一致します。