こんにちは!
PRAMCについて2つの質問があります。
1 - 異なるコアのキャッシュが同じキャッシュラインに属する異なるデータをリクエストした場合はどうなりますか?XBAR は異なる順序でラップされた 2 つのバーストを要求しますか、それとも SRAM は両方のコアに同じバーストを処理し、XBAR はバーストのコピーを各コアに送信しますか。
XBAR が同じバーストを両方のコアに送信する場合、このバーストのワードはどの順序で折り返されますか。要求されたワードは、バースト要求で最初に処理されるコアはどれですか。
2 - レイトライト バッファはいつ空になりますか?それがいっぱいになったとき、またはすでにいっぱいになっていて、PRAMCがさらにデータを入れようとするとき?私が答えようとしている問題は、コアが書き込み操作を実行する可能性があり、遅延書き込みバッファがいっぱいになったために、コア書き込み遅延が増加し、遅延書き込みバッファの遅延全体が空になるかどうかです。
よろしくお願いいたします。
Matheus
1)異なるデータの意味がわかりません。同じ行に属する「異なる住所」を意味しているのでしょう。また、他のキャッシュ方法がいっぱいになっている状況について話し合っていると思います。
1a) すでにご存知のように、内部SRAMは2つの半分に分割され、それぞれが異なるポートを介してアクセスします。
PRAMC_0 - スレーブ ポート 2 - アドレス [31:18] = 0100_0000_0000_00b
PRAMC_1 - スレーブ ポート 4 - アドレス [31:18] = 0100_0000_0000_01b
両方のアクセスが並行して実行されていても問題ありません。
1b) 両方のアクセスが同じポートを経由する場合、最初に開始されたアクセスが最初に実行されます(両方が同時にトリガーされた場合は、優先順位に従って開始されます)。バーストアクセスは中断できず、最長のアクセス時間で転送がロックされます。最初に 1 つのコアからのバースト アクセスが発生し、次に別のコアからのバースト アクセスが発生します。
2) RAMに「バックツーバック書き込みの場合、書き込みは遅延書き込みバッファをバイパスするように強制され、代わりに直接正確にRAMに保存される可能性があります」と表示されます。つまり、遅延書き込みバッファがいっぱいになり、別の書き込みが発生した場合、この書き込みが最初に処理され、次に遅延書き込みバッファが空になります。