応用情報技術者 2021年 春期 午前2 問25
問題文
図の論理回路において、S=1, R=1, X = 0, Y =1のとき、Sを一旦0にした後、再び1に戻した。この操作を行った後のX, Yの値はどれか。

選択肢
ア:X=0, Y=0
イ:X=0, Y=1
ウ:X=1, Y=0(正解)
エ:X=1, Y=1
🔒 解説は解答すると表示されます
NAND相当SRラッチ【午前2解説】
正解の理由
回路は「AND→インバータ」の組合せが上下で相互フィードバックしており、論理式は
です。与えられた開始状態S=1, R=1, X=0, Y=1はこの式と整合します。ここでSを一時的に0にすると、 となりXが1に変化します。その変化が下側に伝わって となります。Sを元の1に戻した後は の安定解に落ち着くため、最終的にX=1, Y=0となり選択肢ウに一致します。
解法ステップ
- 回路の論理式を確認する
、(AND+反転=NAND相当)。 - 初期状態の整合性確認(S=1,R=1,X=0,Y=1)
で矛盾なし。 - Sを0にする瞬間の評価(Rは1のまま)
→ Xが0→1に変化。 - Xの変化によるYの更新
に変化。 - Sを1に戻した後の安定状態計算
で状態は保持される。
以上でX=1, Y=0が最終結果であると判断できる。
選択肢別の誤答解説
- ア: X=0, Y=0
Sを0にした瞬間にXは1へ遷移するためX=0のままにはならない。よって矛盾。 - イ: X=0, Y=1
これは初期状態のまま変化が無かった場合を想定した選択だが、Sを一旦0にする操作があるためXは1に遷移する。従って誤り。 - ウ: X=1, Y=0
正しい。Sを0にしたことでXが1に立ち上がり、それがYを0に変え、Sを戻した後もその組合せは安定で保持される。 - エ: X=1, Y=1
Sを0にした段階ではX=1になるが、それに続くYの更新でYは0になるため最終的にY=1にはならない。誤り。
よくある誤解
- 「AND→反転だからNORラッチと同じ振る舞い」
NAND相当のSRラッチは入力がアクティブロー(0でアサート)である点がNORラッチ(アクティブハイ)と逆です。混同すると入力パルスの意味が逆になりやすいです。 - 「S=1,R=1のときは必ず X,Yが決まる」
S=1,R=1は保持(メモリ)領域で、出力は直前の状態に依存します。遷移途中のパルスにより状態が変化し得ることを忘れないでください。
補足コラム
回路の真理(振る舞い)は式で明確に表せます。改めて主要式と代表的な入力組合せの結果を示します。
主要式:
入力組合せ(R,Sは同時評価、最終的な安定出力を示す;S,Rはアクティブロー):
- S=0, R=1 → X=1, Y=0 (セット)
- S=1, R=0 → X=0, Y=1 (リセット)
- S=1, R=1 → 出力は保持(直前の X,Yを維持)
- S=0, R=0 → X=1, Y=1(両方1になるが、この状態から S,Rを1に戻すと結果が不定または競合になり得るため実用上は禁忌)
この補足表は回路の論理式 と一致しています。
簡単なシミュレーション(概念確認用)
# ラッチの逐次更新(単純モデル)
def step(S,R,X,Y):
Xn = not (S and Y)
Yn = not (R and Xn)
return int(Xn), int(Yn)
# 初期
S,R,X,Y = 1,1,0,1
# Sを一時0に
S = 0
X,Y = step(S,R,X,Y)
# Sを1に戻す
S = 1
X,Y = step(S,R,X,Y)
print(X,Y) # 出力: 1 0
FAQ
Q1. なぜSを0にした瞬間にXが必ず1になるのですか?
A1. 式 により、S=0のとき になり、反転でX=1となるためです(Yの現在値に依存しません)。
A1. 式 により、S=0のとき になり、反転でX=1となるためです(Yの現在値に依存しません)。
Q2. S=0,R=0の状態は何故「禁忌」なのですか?
A2. その状態では両方の出力が1になり、両入力を1に戻したときにどちらが先に反映されるかで結果が決まってしまい不定(競合やメタステーブル)になりうるため、通常は避けます。
A2. その状態では両方の出力が1になり、両入力を1に戻したときにどちらが先に反映されるかで結果が決まってしまい不定(競合やメタステーブル)になりうるため、通常は避けます。
Q3. このラッチはどのような回路で使われますか?
A3. フリップフロップや同期回路の内部、非同期セット/リセット等、短いパルスでセット/リセットを行う基本的な記憶素子として使われます。
A3. フリップフロップや同期回路の内部、非同期セット/リセット等、短いパルスでセット/リセットを行う基本的な記憶素子として使われます。
関連キーワード: SRラッチ、NANDゲート、フィードバック、順序回路、セット・リセット

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

