平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問15
テクノロジ/ハードウェアプログラムと定数を ROM から読み出すために,アドレスバスとチップセレクト信号(CS バー)を図のように接続した。アドレスバスは A0 が LSB である。この ROM にアクセスできるメモリアドレスの範囲はどれか。ここで,解答群の数値は 16 進数で表記してある。

出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問15
- ア0000 〜 1FFF
- イ4000 〜 7FFF
- ウ4000 〜 FFFF
- エC000 〜 FFFF
正解:ウ
解説
図の回路では,アドレスバスの最上位2ビットである A15,A14 が2入力の NOR 素子に入力され,その出力がそのままチップセレクト信号 CS バーに接続されています。NOR 素子は,全ての入力が0のときだけ出力が1になり,入力のどちらか一方でも1であれば出力が0になる素子です。CS バーは負論理(Low アクティブ)で ROM を選択するため,CS バー=0(アクティブ)になるのは NOR(A15, A14)=0 のとき,すなわち A15,A14 のうち少なくとも一方が1のとき(A15A14=01,10,11 のいずれか)です。これは,A15=A14=0(アドレス 0000〜3FFF)の場合を除く全てのアドレス,すなわち 4000〜FFFF の範囲に対応します。したがって,この ROM にアクセスできるメモリアドレスの範囲は 4000〜FFFF です。
選択肢ごとの解説
- ア誤り。0000〜1FFF は A15=A14=0 に含まれる範囲であり,この場合 NOR(A15, A14)=NOR(0,0)=1 となって CS バーは1(非アクティブ)になるため,ROM は選択されません。むしろこの範囲は ROM がアクセスできない範囲に含まれます。
- イ誤り。4000〜7FFF は A15=0,A14=1 の範囲であり,このとき NOR(0,1)=0 となって CS バーがアクティブになりアクセス可能ですが,A15=1 の範囲(8000〜FFFF)でも同様に NOR(1,0)=0,NOR(1,1)=0 となってアクティブになるため,アクセス可能な範囲は 4000〜7FFF だけにとどまらず,もっと広くなります。
- ウ正しい。CS バーがアクティブ(0)になるのは,A15,A14 のうち少なくとも一方が1のとき,すなわち A15=A14=0(0000〜3FFF)を除く全てのアドレスであり,これは 4000〜FFFF の範囲に一致します。
- エ誤り。C000〜FFFF は A15=A14=1 の範囲であり,このとき NOR(1,1)=0 となって CS バーはアクティブになりますが,A15A14=01(4000〜7FFF)や A15A14=10(8000〜BFFF)の範囲でも同様に CS バーがアクティブになるため,アクセス可能な範囲は C000〜FFFF だけにとどまりません。