【コンピュータシステム】流れ作業で高速化!「パイプライン処理」|情報処理問題1000本ノック
CPUが1つの命令を終えてから次に取りかかるのではなく、各工程を分担して同時に動かすことで、単位時間あたりの処理量を劇的に増やす仕組みを攻略しましょう。
1. 問題:命令実行の並列化技術
【 問題 】 CPUの命令実行プロセスにおいて、「フェッチ(命令取出し)」「デコード(命令解読)」「エグゼキュート(実行)」といった各段階を独立したステージに分け、複数の命令を1ステージずつずらして並行して実行する方式を何と呼ぶでしょうか?
ア、マルチスレッド イ、パイプライン ウ、DMA制御 エ、キャッシュメモリ
2. 正解:プロセッサアーキテクチャに関する正解
正解: イ、パイプライン(Pipeline)
3. 解説:工場の「ベルトコンベア」と同じ原理
命令を一つずつ順番に終わらせる方式に比べ、パイプライン方式は各パーツ(演算器など)の空き時間をなくすことで高速化を実現します。
【図解:パイプラインの実行イメージ】
命令1:[フェッチ][デコード][実行]
命令2: [フェッチ][デコード][実行]
命令3: [フェッチ][デコード][実行]
■ 特徴
・一つの命令が終わる前に、次の命令の「フェッチ」を開始します。
・理想的な状態では、1サイクルごとに一つの命令が完了することになります。
命令1:[フェッチ][デコード][実行]
命令2: [フェッチ][デコード][実行]
命令3: [フェッチ][デコード][実行]
■ 特徴
・一つの命令が終わる前に、次の命令の「フェッチ」を開始します。
・理想的な状態では、1サイクルごとに一つの命令が完了することになります。
[ 注意点:パイプラインハザード ]<br
PR