問題本文
マルチコアプロセッサに関する記述のうち,適切なものはどれか。
選択肢
- ア.各コアでそれぞれ別の処理を同時に実行することによって,システム全体の処理能力の向上を図る。
- イ.複数のコアで同じ処理を実行することによって,処理結果の信頼性の向上を図る。
- ウ.複数のコアはハードウェアだけによって制御され,OSに特別な機能は必要ない。
- エ.プロセッサの処理能力はコアの数だけに依存し,クロック周波数には依存しない。
正解
ア. 各コアでそれぞれ別の処理を同時に実行することによって,システム全体の処理能力の向上を図る。
解説
マルチコアプロセッサは,1つのCPUパッケージに複数の演算コアを搭載した構成で,各コアが独立に処理を実行できるアーキテクチャである. これにより複数のスレッド・プロセスを並列に実行でき,システム全体の処理能力(スループット)を向上させる. 同じ処理を複数コアで実行して信頼性向上を狙う冗長化構成はマルチコアの主目的ではなく,適切なスケジューリングを行うためOS側に対応機能も必要となる. クロック周波数も処理能力に依然として大きく影響し,コア数だけに依存するわけではない. 「並列に別処理→処理能力向上」がマルチコアの本質となる.
選択肢ごとの解説
- ア.正解. マルチコアプロセッサは,1つのCPUパッケージ内の複数コアでそれぞれ別の処理を同時に実行することで,システム全体の処理能力(スループット)の向上を図る構成である. マルチスレッド対応OSや並列処理対応アプリと組み合わせることで,複数のジョブを並列実行できる効果が得られる.
- イ.誤り. 複数のコアで同じ処理を実行して結果を照合する構成は信頼性向上のための冗長化技法(ロックステップ・TMR等)であり,マルチコアプロセッサの一般的な目的ではない. マルチコアは並列処理によるスループット向上が主目的で,信頼性向上目的の冗長化は別の設計領域となる.
- ウ.誤り. 複数コアを効率的に活用するためには,OS側のマルチコア対応スケジューリング機能や並列処理APIが必要となる. ハードウェアだけで自動的に処理が分散されるわけではなく,OSやアプリの対応が前提となる. 「OSに特別な機能は不要」は誤りで,ソフトウェア側の対応が成果を左右する.
- エ.誤り. プロセッサの処理能力はコア数だけでなく,クロック周波数・キャッシュ容量・命令効率(IPC)など多くの要素に依存する. クロック周波数が無関係というのは明らかに誤りで,1コアあたりの性能はクロック周波数の影響を強く受ける. 性能=コア数×コア当たり性能というイメージで整理する.
ITパスポート 2014年 (平成26年 秋期) の過去問一覧へ戻る・問53