平成30年度 春期 午前 問22
コンピュータ構成要素
確定後のシフトレジスタの値
クロックの立上りエッジで,データを入力の最下位ビットに取り込んで上位方向へシフトし,ストローブの立上りエッジで値を確定する 8 ビットのシリアル入力パラレル出力シフトレジスタがある。各信号の波形を観測した結果が図のとおりであるとき,確定後のシフトレジスタの値はどれか。ここで,数値は 16 進数で表記している。
〔図〕各信号の波形(上から データ/ストローブ/クロック・時間は左から右へ) (3 本の波形の絵) 破線はクロックの立上りエッジの位置を示す ⇒ 全部で 10 本 ストローブの立上りは 1 回だけ。9 本目の破線の後・10 本目の破線の前にある 破線 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ┃ストローブ┃ ⑩ データ 1 1 0 0 0 1 1 0 1 1 データが高さを変えるのは破線と破線の間で、破線の上では値が定まっている
- ア63
- イ8D
- ウB1
- エC6
答えと解説を見る
✓ これが正解イ8D
解説
確定前に立上りは 9 回あるので 8D です。
設問は、三本の波形を読んで確定後のシフトレジスタの値を答えさせています。軸は、値が確定する時点までにクロックの立上りが何回あったかという回数です。図の破線が立上りの位置で、全部で十本あります。ストローブの立上りは九本目の直後、十本目より前に置かれているので、確定した時点で取り込み済みなのは九ビットです。そのときのデータは順に 1,1,0,0,0,1,1,0,1 でした。ところがレジスタは八ビットしかなく、最下位に入れて上位方向へ送る作りなので、九ビット目が入った瞬間に最初に入った一ビットが押し出されて消えます。残るのは二回目から九回目までの 1,0,0,0,1,1,0,1 で、四桁ずつ区切ると 1000 と 1101 になり、16 進数では 8D です。立上りの回数と並びの向きは別の手掛かりなので、両方そろえて初めて値が決まります。
ほかの選択肢はなぜ違うのか
- ア63:回数を一つ少なく取り、さらに並びを裏返したときに出る値です。二つの取り違えを重ねた形なので、途中の表を作れば手前で気づけます。
- ウB1:正しい八桁を逆の順に読んだ値です。データが入る先を最上位と思い込むと、桁がそのまま裏返ってこの形になります。
- エC6:八回で打ち切った場合の値です。九本目の破線がストローブより前にあることを見落とすと、ちょうどこの値に落ち着きます。
出典:平成30年度 春期 応用情報技術者試験 午前 問22(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)