SAシステムアーキテクト試験 午前Ⅱ

令和5年度春期 システムアーキテクト 午前Ⅱ 問21

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

CPU 内部の命令読取り用バスとデータアクセス用バスとを分離するハーバードアーキテクチャを用いる目的として,適切なものはどれか。

選択肢

  1. ア
    CPU以外のバスマスターを使用可能にする。
  2. イ
    バスの信号線の本数を減らす。
  3. ウ
    プログラムの実行時間を短縮する。
  4. エ
    メモリの内容を保護する。
解き方のヒントを見る

バス構成方式の目的を見極める視点

バス構成方式を問う問題では、構成そのものの説明と、その構成を採用する目的とを区別して考えることが大切です。構造を変えることで何が改善されるのかを、処理の流れに沿って自分の言葉で説明できるかを確認しましょう。

この問題で問われていること

問われているのは方式の名称や形そのものではなく、それを採用する狙いです。目にする内容が「採用する目的」を述べているのか、構造の単なる説明や別の技術による効果なのかを切り分ける観点で検討してください。

視点

バスは、CPU・メモリ・入出力装置の間でデータなどを受け渡す共通の通り道です。構成方式を変える背景には、何らかの制約を和らげたいという設計上の意図があります。方式を学ぶときは「何が制約になっていたか」と「構成を変えると何が変わるか」を対にして整理すると、目的を取り違えにくくなります。

確認ポイント

  • その構成方式が和らげようとしている制約を、自分の言葉で一文にして言えるか
  • 構造の説明と、その構造を採用することで得たい狙いとを混同していないか
  • 別の技術や方式によって得られる効果を、この方式を採用する目的と取り違えていないか
正解と解説を見る

正解

ウ

解説

ハーバードアーキテクチャは、命令読取り用バスとデータアクセス用バスを分離する。これにより両者のアクセスを並行して扱いやすくなり、バスの競合による待ち時間を減らしてプログラムの実行時間短縮につなげられる。

理由

命令読取りとデータアクセスを一つのバスで行うと、同時期に両方が必要になった際にバスの使用を待つことがある。二つのバスを分離すればアクセスを並行して進めやすくなり、CPUの待ち時間を減らせる。

比較

この構成の主な狙いは、バスマスターの追加やメモリ保護ではなく、命令とデータのアクセス競合を避けることです。信号線の本数を減らす構成でもないため、性能向上を示す選択肢が適切です。

選択肢ア

これは不正解だよ。CPU以外のバスマスターを使用可能にすることは、DMAやバス調停など、複数の装置がバスを利用する仕組みに関係する。命令読取り用バスとデータアクセス用バスを分離するハーバードアーキテクチャの主目的ではない。

選択肢イ

これは不正解だよ。命令用とデータ用に経路を分離すると、一般にはそれぞれのバスや信号線が必要になるため、バスの信号線の本数を減らす目的とはいえない。狙いはアクセスの競合を避け、処理を進めやすくすることである。

選択肢ウ(正解)

これは正解だよ。命令読取りとデータアクセスを別のバスで行うと、両方のアクセスを並行して扱いやすくなり、同一バスの使用待ちを減らせる。その結果、CPUの処理が進みやすくなり、プログラムの実行時間短縮につながる。

選択肢エ

これは不正解だよ。メモリの内容を保護するには、アクセス権限の管理や保護機構などが必要である。命令読取り用バスとデータアクセス用バスを分離しても、それだけでメモリ内容の不正な参照や変更を防ぐ仕組みにはならない。

学習のポイント

ハーバードアーキテクチャでは、命令とデータの経路を分ける目的を性能向上の観点で理解する。

出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 システムアーキテクト試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針