Loading article…
オペランド転送(またはデータ転送)は、パイプライン CPUにおけるパイプラインストールによるパフォーマンスの低下を制限するための最適化手法です。[1] [2]現在の操作がまだ終了していない前の操作の結果を待たなければならない場合、 データハザードによってパイプラインストールが発生する可能性があります。
例
ABC を足す #A=B+C サブDCA #D=CA
これら 2 つのアセンブリ疑似コード命令がパイプラインで実行される場合、2 番目の命令をフェッチしてデコードした後、パイプラインは停止し、加算の結果が書き込まれて読み取られるまで待機します。
場合によっては、このような書き込み後の読み取りによるデータ障害によるすべてのストールは、オペランド転送によって完全に排除できる:[3] [4] [5]
技術的実現
CPU制御ユニットは、オペランド転送が意味を持つ依存関係を検出するロジックを実装する必要があります。次に、マルチプレクサを使用して、オペランドを読み取るための 適切なレジスタまたはフリップフロップを選択します。
参照
参考文献
- ^ 「CMSC 411 講義 19、データ転送のパイプライン化」。メリーランド大学ボルチモア郡校、コンピューターサイエンスおよび電気工学部。2020年 1 月 22 日閲覧。
- ^ 「高性能コンピューティング、クラス 11 のノート」。hpc.serc.iisc.ernet.in。2000 年 9 月。2013 年 12 月 27 日時点のオリジナルよりアーカイブ。2014年 2 月 8 日閲覧。
- ^ Gurpur M. Prabhu. 「コンピュータ アーキテクチャ チュートリアル」。セクション「転送」。および「データ ハザード分類」。
- ^ Orion Lawlor 博士。「パイプライン、パイプラインの停止、およびオペランド転送」。
- ^ ラリー・スナイダー。「パイプラインレビュー」。
外部リンク
- パイプラインの概要
