令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問21
テクノロジ/コンピュータ構成要素CPU 内部の命令読取り用バスとデータアクセス用バスとを分離するハーバードアーキテクチャを用いる目的として,適切なものはどれか。
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問21
- アCPU 以外のバスマスターを使用可能にする。
- イバスの信号線の本数を減らす。
- ウプログラムの実行時間を短縮する。
- エメモリの内容を保護する。
正解:ウ
解説
ハーバードアーキテクチャは,命令用とデータ用のバス(及びメモリ)を分離した構成で,命令フェッチとデータアクセスを同時に実行できます。これによりノイマン型で生じるバスの競合(フォンノイマンボトルネック)を回避でき,パイプライン処理を滞らせずに済むので,プログラムの実行時間を短縮できます。DSP や組込み向けマイコンで多く採用されています。
選択肢ごとの解説
- ア誤り。CPU 以外のバスマスターを使用可能にするのは,DMA コントローラなどのバスマスタリング機能に関する話で,ハーバードアーキテクチャの目的ではありません。
- イ誤り。バスを 2 系統もつので信号線の本数はむしろ増加します。目的とは逆です。
- ウ正しい。命令フェッチとデータアクセスを同時に行えるためバスの競合がなくなり,プログラムの実行時間を短縮できます。
- エ誤り。メモリの内容を保護するのは,MMU によるメモリ保護機能や特権モードなどの役割です。命令とデータの分離は結果的に保護に寄与し得ますが,本来の目的ではありません。