平成26年度春期 応用情報技術者試験 午前 問22
クロックの立上りエッジでデータを最下位ビットから取り込んで上位方向へシフトし,ストローブの立上りエッジで値を確定する8ビットのシリアル入力パラレル出力シフトレジスタがある。各信号の波形を観測した結果が図のとおりであるとき,シフトレジスタの値はどれか。ここで,数値は16進数で表記している。

- ア 63
- イ 8D
- ウ B1
- エ C6
解答・解説を見る
正解:イ
AI解説
シリアル入力パラレル出力のシフトレジスタは、クロックの立上りエッジごとにデータ線の値を1ビットずつ取り込み、既に格納されているビットを上位方向へ押し上げていく。したがって最初に取り込んだビットが最終的に最上位側へ、最後に取り込んだビットが最下位ビットに残り、ストローブの立上り時点の8ビットが確定値となる。図の波形をクロック立上りごとに読み取ると10001101、すなわち16進数で8Dとなる。 ア: 63(01100011)は、ビットの取り込み順序を逆(最初のビットをLSB側に固定)と誤解した場合などに生じる誤読の値である。 イ: 正しい。クロック立上りごとのデータ値を順に取り込み、上位方向へシフトした結果は10001101=8Dである。 ウ: B1(10110001)は8D(10001101)のビット列を左右反転した値であり、シフト方向を逆に解釈した場合の誤りである。 エ: C6(11000110)は63を反転した値であり、取り込みタイミング(立上りと立下りの混同)やシフト方向の両方を誤ると生じる値である。 💡 シフトレジスタ問題は「どのエッジで取り込むか」「シフト方向」「確定タイミング(ストローブ)」の3点を押さえる。最後に入ったビットがLSBに残る点がひっかけどころである。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。