令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問2
【問題2】
ビッグエンディアン方式を採用しているCPUが、表のようにデータが格納された主記憶の1000番地から2バイトのデータを、16ビット長のレジスタにロードしたとき、レジスタの値はどれになるか。ここで、番地及びデータは全て16進表示である。
【解説】
ビッグエンディアンとは
ビッグエンディアンは、上位バイト(大きい桁)が低い番地に格納される方式です。今回の場合、16ビットのデータをロードする際、番地1000のデータが上位バイト、番地1001のデータが下位バイトとして扱われます。
データの読み込み
番地1000に`00`、番地1001に`01`が格納されています。ビッグエンディアン方式では、上位バイトから順に組み合わせるため、レジスタには`0001`がロードされます。
各選択肢の確認
- ア: 0001
正しい。ビッグエンディアン方式に従い、番地1000のデータ`00`が上位バイト、番地1001のデータ`01`が下位バイトとして結合されます。
- イ: 00FF
誤り。これは番地0FFFと番地1000を結合した場合の値ですが、問題では番地1000と1001を対象としています。
- ウ: 0100
誤り。これはリトルエンディアン方式で番地1000と1001を結合した場合の値です。
- エ: FF00
誤り。これは番地0FFEと0FFFを結合した場合の値ですが、問題とは無関係です。
出典:令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問2