0

シングルサイクルプログラムがあまり効率的でないことは理解しています。理由の 1 つは、すべての命令の長さが等しいわけではなく、シングル サイクル プログラムでは、すべての命令が同じ時間内に完了するためです。

パイプラインでは、スループットが向上します。つまり、特定のポイントに到達した後、1 つの出力から次の出力までの時間がシングル サイクルの実装よりも短くなります。しかし、パイプライン化されたアプローチの命令には同じ時間がかかると言えますか (IF/命令フェッチから WB/ライトバックまで)。それともこれは間違った結論ですか?

4

1 に答える 1

2

単一サイクルの非パイプライン化構造内のすべての命令は、必ずしも同じ時間がかかるとは限らず、命令が次のクロック サイクルまで開始できず、現在の命令が現在のサイクルの前に完了する可能性があるため、次の命令が実行されるのではなく実行されます。最長の命令によって。たとえば、RISC にロードする前にレジスタの追加が完了します。

現在、パイプライン構造のプロセッサは
、プロセッサの状態を格納および伝達するためのレジスタを備えたマルチステージです。基本的に、パイプライン化されたプロセッサでは、2 つの命令のサブステージを重ねることで時間を節約します。したがって、個々の命令の長さは増加しますが、全体の時間は減少します。ここで、すべての命令がロードと追加などのすべてのステージを通過しない可能性があることがわかります。したがって、各命令の全体的なレイテンシはすべてのステージで構成されますが、その実行にかかったサイクル数は少ない可能性があります。

したがって、各命令のレイテンシは同じであると言えますが、実行時間や消費サイクルは同じではありません

于 2014-05-12T18:34:20.393 に答える