Nios® Vプロセッサーのリファレンス・マニュアル

ID 683632
日付 3/28/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.2. プロセッサー・パイプライン

Nios V/mプロセッサーは、5ステージのパイプラインを採用しています。

表 4.  プロセッサー・パイプライン・ステージ
ステージ 表示 機能
インストラクション・フェッチ F
  • PC+4の計算
  • 次の命令フェッチ
  • レジスターファイル読み出しのプリデコード
命令デコード D
  • 命令をデコードします
  • 利用可能なファイル読み出しデータのレジスター
  • ハザードの解決とデータ転送
命令実行 E
  • ALU演算
  • メモリー・アドレス計算
  • ブランチの解決
  • CSR読み出し/書き込み
メモリー M
  • メモリーとマルチサイクル操作
  • ファイル書き込みのレジスター
  • ブランチ・リダイレクト
ライトバック W
  • 汎用レジスター値を提供することにより、データ依存関係の解決を容易にする。

Nios® V/m プロセッサーは、M20Kメモリーブロックを使用して汎用レジスターファイルを実装します。 M20Kの位置から読み出すには1サイクルかかります。したがって、Fステージはレジスターファイルの読み出しを開始するため、汎用レジスター値はDステージで使用できます。

M20Kの場所への書き込みには2サイクルかかります。したがって、解決する依存関係がある場合、Mステージは汎用レジスターへの書き込みを開始し、値をWステージに繰り越します。

コアはDステージのデータ依存関係を解決し、オペランドはレジスターファイルのリードまたはEステージ、Mステージ、またはWステージから移動できます。

パイプラインは、次の理由で停止する可能性があります。
  • データ依存関係:ソースオペランドがDステージで使用できない場合、DステージおよびFステージの命令は、オペランドが使用可能になるまで停止します。このシナリオは、EステージまたはMステージのロードまたはマルチサイクル命令の宛先汎用レジスターがDステージの命令のソースである場合に発生する可能性があります。
  • リソースのストール:メモリー操作またはマルチサイクルがMステージで保留中の場合、前のステージの命令は、Mステージが命令を完了するまでストールします。