SAシステムアーキテクト試験 午前Ⅰ
平成29年度秋期 システムアーキテクト 午前Ⅰ 問4
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア((1-r)・a/(a+b))・x+(r・b/(a+b))・y
- イ(1-r)・x+r・y
- ウ(r・a/(a+b))・x+((1-r)・b/(a+b))・y
- エr・x+(1-r)・y
解き方のヒントを見る
平均アクセス時間の考え方
命令キャッシュと主記憶が関わるアクセスでは、各段階がどの条件で発生するかを整理し、単位と前提をそろえて全体の見積もりを考えることが重要です。順序立てて確認します。
この問題で問われていること
確認する観点を「アクセス経路ごとの条件整理」に絞り、通常時と追加の記憶参照が必要な場合を区別したうえで、問題文の前提と時間の単位が一致しているかを確認します。
視点
平均を考える前に、処理がどの経路を通るか、その経路が発生する割合や条件は何かを整理します。各時間の単位、対象となる一回のアクセス範囲、追加処理の扱いをそろえ、与えられた前提だけで全体像を組み立てます。
確認ポイント
- アクセス経路ごとに、発生条件と対象範囲を区別できているか
- 時間の単位と、割合・回数などの前提がそろっているか
- 追加の記憶参照や待ち時間を、どの場面に対応づけるか
正解と解説を見る
正解
イ
解説
命令コードがキャッシュに存在する確率は1-rで、その場合のアクセス時間はxナノ秒です。存在しない確率はrで、主記憶へのアクセス時間はyナノ秒です。したがって平均アクセス時間は、二つの時間を発生確率で重み付けした (1-r)・x+r・y となります。
理由
キャッシュに命令コードが存在する確率は1-rなので、アクセス時間xナノ秒がその確率で発生します。存在しない確率はrであり、その場合は主記憶にアクセスしてyナノ秒かかります。よって平均アクセス時間は、(1-r)×xナノ秒+r×yナノ秒です。
比較
容量a Mバイト、b Mバイトは、この問題では平均時間の重み付けには使いません。キャッシュに存在しない確率rが既に与えられているため、容量の比で確率を作る必要はありません。また、キャッシュ管理のオーバヘッドは無視します。
選択肢ア
これは不正解だよ。容量a Mバイトとb Mバイトの比を使って、キャッシュや主記憶へのアクセス確率を表そうとしています。しかし、設問ではキャッシュに命令コードが存在しない確率rが直接与えられており、容量比を重みとして用いる条件はありません。
選択肢イ(正解)
これは正解だよ。命令コードがキャッシュに存在する確率は1-rで、そのアクセス時間はxナノ秒です。存在しない確率はrで、その場合の主記憶アクセス時間はyナノ秒です。したがって、平均は (1-r)・x+r・y になります。
選択肢ウ
これは不正解だよ。rをキャッシュ側の時間xに掛け、1-rを主記憶側の時間yに掛けていますが、確率とアクセス先の対応が逆です。さらに、容量a Mバイトとb Mバイトによる比も、設問で与えられた確率計算には必要ありません。
選択肢エ
これは不正解だよ。キャッシュに命令コードが存在しない確率rを、アクセス時間xの側に掛けています。しかし、xナノ秒は命令コードがキャッシュに存在する場合の時間なので、その確率は1-rです。rは主記憶側のyナノ秒に対応します。
学習のポイント
平均値を求める際の確率による重み付けと、キャッシュ容量の扱いを学ぶ問題です。
出典:独立行政法人 情報処理推進機構(IPA)平成29年度秋期 システムアーキテクト試験 午前Ⅰ 問4(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針