システムアーキテクト試験 令和5年度 春期 午前II 問21
CPU内部の命令読取り用バスとデータアクセス用バスとを分離するハーバードアーキテクチャを用いる目的として、適切なものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
ハーバードアーキテクチャでは、命令を読み取るための経路と、演算対象のデータを読み書きするための経路を分離します。そのため、CPUは次に実行する命令の読取りと、現在の命令に必要なデータへのアクセスを並行して行えます。一つのバスを命令とデータで共用する方式では、両方のアクセスが競合して待ち時間が生じますが、バスを分離すればこの競合を減らせるので、プログラムの実行時間を短縮できます。したがって、ウが正解です。
アのCPU以外のバスマスターを使用可能にするという説明は誤りです。バスマスターとは、DMAコントローラなど、自らバスの使用権を取得してデータ転送を開始する装置を指します。これはバスの調停機構に関する事項であり、命令用とデータ用のバスを分離する目的ではありません。
イの信号線の本数を減らすという説明は誤りです。二つのバスを設けるため、アドレス線やデータ線などが個別に必要となり、一般には信号線の本数は増えます。
エのメモリ内容を保護するという説明は誤りです。メモリ保護は、アクセス権限の設定やメモリ保護機構によって実現します。命令用とデータ用の記憶領域を分ける構成は可能ですが、ここでの主目的は保護ではなくアクセスの並列化です。
【ポイント】 命令とデータが同じバスを奪い合うことによる性能上の制約を、フォンノイマンボトルネックといいます。 ハーバードアーキテクチャは、命令フェッチとデータアクセスを同時に行える点を押さえてください。
出典:令和5年度 春期 システムアーキテクト試験 午前II 問21
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる