令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
テクノロジ/コンピュータ構成要素ビッグエンディアン方式を採用している CPU が,表のようにデータが格納された主記憶の 1000 番地から 2 バイトのデータを,16 ビット長のレジスタにロードしたとき,レジスタの値はどれになるか。ここで,番地及びデータは全て 16 進表示である。 〔主記憶の内容〕 番地 0FFE:データ FE 番地 0FFF:データ FF 番地 1000:データ 00 番地 1001:データ 01 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
- ア0001
- イ00FF
- ウ0100
- エFF00
正解:ア
解説
ビッグエンディアン方式では,多バイトデータの最上位バイトを最も小さい番地に格納します。1000 番地から 2 バイトを読み出すと,1000 番地の 00 が上位バイト,1001 番地の 01 が下位バイトになるので,16 ビットレジスタの値は 16 進数で 0001 になります。
選択肢ごとの解説
- ア正しい。1000 番地の 00 が上位,1001 番地の 01 が下位となるので,レジスタの値は 0001 です。
- イ誤り。0FFF 番地からの 2 バイト(FF,00)をリトルエンディアンとして読んだ場合の値であり,読み出す番地とバイト順の両方を誤っています。
- ウ誤り。1000 番地からの 2 バイトをリトルエンディアン方式で読んだ場合の値です。1001 番地の 01 を上位バイトとしてしまった誤りです。
- エ誤り。0FFF 番地からの 2 バイト(FF,00)をビッグエンディアンとして読んだ場合の値であり,読み出し開始番地を 1 バイト手前と誤ったものです。