平成22年度 春期 午前Ⅱ 問15
メモリ
チップセレクトに関する問題
プログラムと定数をROMから読み出すために,アドレスバスとチップセレクト信号(C̅S̅)を図のように接続した。アドレスバスはA_0がLSBである。このROMにアクセスできるメモリアドレスの範囲はどれか。ここで,解答群の数値は16進数で表記してある。
接続図:
- アドレスバス(A_15〜A_0)のA_13〜A_0 → ROMのA_13〜A_0
- A_15,A_14 → NOR → ROMのC̅S̅(入力側に○印)
- ア0000〜1FFF
- イ4000〜7FFF
- ウ4000〜FFFF
- エC000〜FFFF
答えと解説を見る
✓ これが正解ウ4000〜FFFF
解説
A15とA14のどちらかが1のときに選ばれ、範囲は4000〜FFFFです。
ROMにはA13〜A0の14本がつながるので、ROMの中には2^14=16k個の番地があります。C̅S̅は負論理で、0のときにROMが選ばれます。C̅S̅にはA15とA14のNORの出力がつながっています。NORの出力が0になるのは、A15とA14の少なくとも一方が1のときです。A15A14の組は00、01、10、11の四通りで、00のときだけ選ばれません。01は4000〜7FFF、10は8000〜BFFF、11はC000〜FFFFなので、アクセスできる範囲は4000〜FFFFです。同じROMの内容が三つの範囲に繰り返し現れます。上位ビットの真理値表を作り、16進の境目に当てはめると確実に解けます。
ほかの選択肢はなぜ違うのか
- ア0000〜1FFF:0000〜1FFFは、A15とA14がともに0の範囲に含まれます。このときNORの出力は1になり、C̅S̅が1なのでROMは選ばれません。範囲の大きさも8kで、14本のアドレス線がつながる16kのROMと合いません。
- イ4000〜7FFF:4000〜7FFFは、A15が0でA14が1の範囲だけです。NORの出力はA15だけが1のときや、A15とA14がともに1のときにも0になるので、8000〜FFFFでもROMが選ばれ、この範囲だけでは足りません。
- エC000〜FFFF:C000〜FFFFは、A15とA14がともに1の範囲だけで、両方が1のときだけROMを選ぶ回路であればこの範囲になります。NORによる選択では一方だけが1のときもC̅S̅が0になるので、4000〜BFFFが抜けています。
出典:平成22年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問15
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)