IPA過去問ドリル

令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2

テクノロジ/コンピュータ構成要素

ビッグエンディアン方式を採用している CPU が,次のようにデータが格納された主記憶の 1000 番地から 2 バイトのデータを,16 ビット長のレジスタにロードしたとき,レジスタの値はどれか。ここで,番地及びデータは全て 16 進表示である。(番地:データ)0FFE:FE,0FFF:FF,1000:00,1001:01 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2

正解:ア

解説

ビッグエンディアン方式では,複数バイトのデータのうち最上位バイト(MSB)を最も若い(小さい)アドレスに格納します。1000 番地のデータ 00 が上位バイト,1001 番地のデータ 01 が下位バイトとなるので,16 ビットレジスタにロードした値は上位バイトを 00,下位バイトを 01 として並べた 0001 になります。

選択肢ごとの解説

  • 正しい。ビッグエンディアンでは若いアドレス(1000 番地)のデータ 00 が上位バイト,次のアドレス(1001 番地)のデータ 01 が下位バイトとなるため,レジスタの値は 0001 です。
  • 誤り。00FF は 0FFE,0FFF 番地のデータをそのまま並べた値であり,問題で指定された 1000 番地からのロードとは異なるアドレスのデータです。
  • 誤り。0100 はビッグエンディアンではなくリトルエンディアン(下位アドレスを下位バイトとする方式)で解釈した場合の値であり,本問の前提と矛盾します。
  • 誤り。FF00 は 0FFE,0FFF 番地のデータをリトルエンディアンとして解釈した値であり,指定されたアドレスや採用方式のいずれとも一致しません。
エンベデッドシステムスペシャリストの過去問を演習モードで解く