プロセッサのアーキテクチャに関する次の記述のうち、最も適切なものはどれか。
@ 1ステージがPナノ秒で実行されるステージ数Dのパイプラインにおいて、N個の命令の実行が完了する最短時間は、N×P/Dナノ秒である。
A VLIWでは、複数個の命令が同時に実行されるが、命令の実行中に命令間の依存関係をプロセッサが検知した場合には、命令の実行が中断される。
B パイプラインにおける構造ハザードとは、プログラムにある条件分岐が原因となりストールする現象である。
C 複数個のパイプラインをプロセッサに備えることにより、パイプラインハザードを回避する高速化技術をスーパースカラという。
D 命令実行の各ステージを細かく分割することにより、パイプラインの動作効率を向上させる高速化技術をスーパーパイプラインという。
D
@ ステージ数D、命令数Nを投入すると以下のように平行して実行される。
@AB・・・・N
1
21
321
・・・・・
D・・・・1
D・・・21
D・・・21
・・・・2
・・・・
D・
D
1ステージで、上記1行分の命令を行うことができるので上記はN+D−1ステージで実行が完了する。従って、最短時間は、(N+D−1) ×Pナノ秒である。
A VLIW (Very Long Instruction Word) は、複数の命令を非常に長い1つの命令で同時に実行する方式のことである。命令間の依存関係がないように考慮され、命令が並び替えられている。
B 分岐ハザードの説明である。
パイプラインハザードは以下の3つがある。
データハザード:直前の命令の処理結果を参照するような場合に、実行結果を待たなければ処理を進められない現象のこと。
構造ハザード:複数の命令が同じタイミングでハードウェア資源にアクセスしようした時に競合が発生し、処理できなくなる現象のこと。
分岐ハザード:プログラムにある条件分岐が原因となり、ストール (停止状態) する現象のこと。
C スーパースカラは、複数個のパイプラインをプロセッサに備えることにより、複数の命令を同時に実行できるようにするCPUの高速化技術の一つである。パイプラインハザードを回避する技術ではない。
D 正しい。
V−10 | 目次 | V−12 |