エンベデッドシステムスペシャリスト 2021年 午前2 問12
問題文
プログラムと定数をROMから読み出すために、アドレスバスとチップセレクト信号()を図のように接続した。アドレスバスはがLSBである。このROMにアクセスできるメモリアドレスの範囲はどれか。ここで、解答群の数値は16進数で表記してある。

選択肢
ア:0000~1FFF
イ:4000~7FFF
ウ:4000~FFFF(正解)
エ:C000~FFFF
🔒 解説は解答すると表示されます
アクティブローCSによるROMアドレス選択【午前2解説】
正解の理由
この回路では、アドレス線 と がORゲートに入力され、その出力は反転されています。したがって、ゲート出力は次の論理式で表せます。
この出力は、アクティブローのチップセレクト信号 に接続されています。ROMが選択されるのは、チップセレクト信号が のときです。
NORゲートの出力が になるのは、 と の少なくとも一方が のときです。つまり、上位2ビットが
00 以外のアドレスでROMが選択されます。よってアクセスできる範囲は
4000~FFFF であり、ウが正解です。解法ステップ
-
ROMのアドレス入力を確認します。
ROMには から までが接続されています。ROM内部のアドレス指定には、下位14ビットが使われます。 -
ROMの選択条件を確認します。
はアクティブローなので、信号が のときROMが選択されます。 -
上位ビットからチップセレクト信号を求めます。
NORゲートの出力が になるのは、 と の少なくとも一方が のときです。 -
該当するアドレス範囲を求めます。
上位2ビットが01、10、11の範囲を合わせると、4000~FFFFになります。
選択肢別の誤答解説
-
ア:
0000~1FFF
と だけでなく、下位ビットも含めた別の範囲を想定したものです。この回路では、上位2ビットが00のときROMは選択されません。 -
イ:
4000~7FFF
上位2ビットが01の範囲だけを選んでいます。しかし、10と11の場合もNORゲートの出力が になるため、ROMが選択されます。 -
ウ:
4000~FFFF
上位2ビットが00以外の範囲です。チップセレクトが有効になる条件と一致するため、正しい範囲です。 -
エ:
C000~FFFF
上位2ビットが11の範囲だけを選んでいます。01と10の場合もROMが選択されるため、範囲が狭すぎます。
よくある誤解
-
アクティブロー信号は「信号が1のとき有効」と考えてしまう
信号名の上線や端子の小さな丸は、信号が のとき有効であることを示します。 -
ORゲートの出力だけで選択条件を判断してしまう
出力端の反転を見落とすと、ORではなくNORとして動作することを見誤ります。 -
ROMのアドレス入力に使われる線だけを見て、アクセス範囲を決めてしまう
~ はROM内部の番地指定に使われます。どのアドレス範囲でROMを有効にするかは、チップセレクト信号と上位アドレス線で決まります。
補足コラム
~ の14ビットで指定できる番地数は 個です。そのため、ROMが1回選択される範囲の大きさは、16進数で
4000 番地分です。この回路では、上位2ビットの組合せ
01、10、11 のそれぞれでROMが選択されます。したがって、4000~7FFF、8000~BFFF、C000~FFFF の3つの範囲が連続してアクセス可能です。FAQ
なぜ
この範囲では 、 です。NORゲートの出力が になり、アクティブローのチップセレクト信号が無効になるためです。
0000~3FFF ではROMが選択されないのですか?この範囲では 、 です。NORゲートの出力が になり、アクティブローのチップセレクト信号が無効になるためです。
ROMのアドレス入力が14本なのに、なぜアクセス範囲が
下位14ビットでROM内の番地を指定し、上位2ビットでROMを選択するかどうかを決めています。この回路では、上位2ビットが
4000~FFFF まであるのですか?下位14ビットでROM内の番地を指定し、上位2ビットでROMを選択するかどうかを決めています。この回路では、上位2ビットが
00 以外なら、同じROMが選択されます。関連キーワード: アクティブロー、チップセレクト信号、NORゲート、アドレスデコード、ROMアドレス範囲

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

