応用情報技術者 2011年 秋期 午前2 問12
問題文
プロセッサと複数のメモリとを図のように接続した組込みシステムがある。16進数で表記したアドレス2F0番地を読み出したとき、データを出力するメモリはどれか。ここで、デコーダは右の表のとおりに信号出力を行うものとし、データバスなどの信号線は省略している。

選択肢
ア:メモリ1
イ:メモリ2
ウ:メモリ3(正解)
エ:メモリ4
プロセッサと複数メモリのアドレスデコーディング【午前2 解説】
要点まとめ
- 結論:16進数アドレス2F0の上位ビットからデコーダ入力P,Qを求め、真理値表で該当するメモリのCS信号を判定し、メモリ3が選択される。
- 根拠:アドレス2F0は2進数で1011110000、上位ビットA9=1、A8=0なのでP=1、Q=0。真理値表でP=1,Q=0のとき\bar C=0(選択状態)となる。
- 差がつくポイント:アドレスのビット分割とデコーダの出力信号の否定論理(\overline{CS})の理解が重要。単純にビット値を読み間違えないこと。
正解の理由
アドレス2F0(16進)は2進数で1011110000。
- P = A9 = 1
- Q = A8 = 0
真理値表のP=1,Q=0の行を見ると、\bar C=0で他は1。
\bar Cが0はチップセレクト信号がアクティブ(選択状態)を意味し、メモリ3が読み出し対象となるため、正解はウ(メモリ3)です。
よくある誤解
アドレスの上位ビットを間違えてP,Qを逆に解釈したり、否定論理のCS信号を正しく理解せず、0が非選択と誤認することがあります。
解法ステップ
- 16進数アドレス2F0を2進数に変換する(1011110000)。
- 上位ビットA9,A8を抽出し、P=A9=1、Q=A8=0と決定。
- 真理値表でP=1,Q=0の行を確認。
- 出力信号のうち0(アクティブロー)となっているCSを特定。
- そのCSが接続されているメモリ番号を選択肢から選ぶ。
選択肢別の誤答解説
- ア(メモリ1):P=1,Q=0のとき\bar A=1で非選択状態。誤り。
- イ(メモリ2):同じく\bar B=0ではなく1で非選択。誤り。
- ウ(メモリ3):\bar C=0で選択状態。正解。
- エ(メモリ4):\bar D=1で非選択。誤り。
補足コラム
デコーダの出力がアクティブロー(\overline{CS})である場合、信号が0のときにチップが選択されます。これはノイズ耐性や電力消費の観点からよく使われる設計手法です。アドレスバスの上位ビットでメモリ空間を分割し、下位ビットは各メモリ内のアドレス指定に使われます。
FAQ
Q: なぜCS信号は否定論理(アクティブロー)なのですか?
A: 電気的ノイズに強く、複数のデバイスが同時にバスを駆動しないようにするためです。
A: 電気的ノイズに強く、複数のデバイスが同時にバスを駆動しないようにするためです。
Q: アドレスのどのビットを使ってメモリ選択を判断すればよいですか?
A: 問題のデコーダ入力に指定された上位ビット(ここではA9,A8)を使います。
A: 問題のデコーダ入力に指定された上位ビット(ここではA9,A8)を使います。
関連キーワード: アドレスデコーダ、チップセレクト、アクティブロー、組込みシステム、メモリマップ

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

