エンベデッドシステムスペシャリスト 2019年 午前2 問05
問題文
15Mバイトのプログラムを圧縮して、フラッシュメモリに格納している。プログラムのサイズは圧縮によって元のサイズの40 %になっている。フラッシュメモリから主記憶への転送速度が20Mバイト/秒であり、1Mバイトに圧縮されたデータの展開に主記憶上で0.03秒が掛かるとき、このプログラムが主記憶に展開されるまでの時間は何秒か。ここで、フラッシュメモリから主記憶への転送と圧縮データの展開は同時には行われないものとする。
選択肢
ア:0.48(正解)
イ:0.75
ウ:0.93
エ:1.20
🔒 解説は解答すると表示されます
圧縮データの転送・展開時間【午前2解説】
正解の理由
プログラムは15Mバイトですが、圧縮後のサイズは元の40%なので、フラッシュメモリから転送するデータ量は6Mバイトです。
転送にかかる時間は、秒です。圧縮データ1Mバイトの展開に0.03秒かかるため、6Mバイトの展開には秒かかります。
転送と展開は同時に行われないので、時間を足し合わせます。合計は秒となるため、アが正解です。
解法ステップ
- 圧縮後のデータ量を求めます。
Mバイト - 転送時間を求めます。
秒 - 展開時間を求めます。
秒 - 転送と展開は逐次処理なので、時間を合計します。
秒
選択肢別の誤答解説
- ア:0.48秒
圧縮後の6Mバイトについて転送時間と展開時間を求め、両方を合計しています。正しい計算です。 - イ:0.75秒
秒としており、転送するデータ量に圧縮後ではなく元のサイズを使っています。展開時間も加えていません。 - ウ:0.93秒
0.75秒と0.18秒を足した値です。展開時間には圧縮後のサイズを使っていますが、転送時間には誤って元のサイズを使っています。 - エ:1.20秒
元のサイズ15Mバイトを転送時間と展開時間の両方の計算に使った場合の値です。転送も展開も、問題文に沿って圧縮後のサイズを使う必要があります。
よくある誤解
- 圧縮後のデータ量を求めず、元の15Mバイトをそのまま転送量として計算してしまうことがあります。
- 展開時間の単位「圧縮データ1Mバイト当たり」を見落とし、元のプログラムサイズを掛けてしまうことがあります。
- 転送と展開を同時に行えない条件を見落とし、時間を合計せずに計算してしまうことがあります。
補足コラム
「圧縮後のサイズが元の40%」は、元のサイズに0.40を掛けるという意味です。圧縮後のサイズを求めた後は、転送時間にも展開時間にも、この圧縮後のデータ量を使います。
FAQ
転送速度は圧縮前と圧縮後のどちらのサイズに適用しますか?
フラッシュメモリから転送するのは圧縮データなので、圧縮後の6Mバイトに適用します。
フラッシュメモリから転送するのは圧縮データなので、圧縮後の6Mバイトに適用します。
転送と展開の時間は、なぜ足し合わせるのですか?
問題文に「同時には行われない」とあるためです。転送が終わってから展開するものとして、各処理の時間を合計します。
問題文に「同時には行われない」とあるためです。転送が終わってから展開するものとして、各処理の時間を合計します。
関連キーワード: 圧縮率、転送時間、データ展開時間、逐次処理

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

