CPU には、通常のメモリ領域にキャッシュ ライン内に結合機能を持つストア バッファーがあります。同じキャッシュ ラインに書き込みアクセスが実行されている間、バッファーでデータが結合されます。ストア バッファーには小型のカウンターが備わっており、一定時間が経過するとデータがメモリに送信され、外部から参照できるようになります。問題は、このカウンターが新しいデータが結合されるたびにリセットされることです。ソフトウェアのコード シーケンスがループしており、同じキャッシュ ラインに繰り返しデータが書き込まれる場合、書き込まれたデータを外部から参照することができなくなります。
影響: | 深刻な問題ではありません。この問題はパフォーマンスに影響することがあり、外部エージェントが書き込まれたデータに一定の時間後にデータを参照できることが必要な場合、ライブロック状態が発生することがあります。 |
回避策 : | このエラーの影響を受けるコード シーケンスの書き込み操作の後に DMB 操作を挿入し、外部エージェントが書き込まれたデータを参照できるようにします。 |
対象となるコンフィギュレーション : | プロセッサの 1 つまたは両方を使用するシステム |
対象となるデバイス リビジョン: | すべて。修正の予定なし。詳細は、Zynq-7000 デバイス アドバイザリ マスター アンサーを参照してください。 |
この問題は 通常のメモリ領域でのみ発生します。次に、この問題が発生する 2 つの例を示します。
この問題を回避するには、ストア バッファーに継続的に結合される書き込み操作の後に DMB 操作を挿入します。 これにより、外部エージェントが書き込まれたデータを参照できるようになります。この問題が発生した場合、ユーザーは常にメモリ バリアを挿入する必要があります。
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
47916 | Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点 | N/A | N/A |
AR# 47556 | |
---|---|
日付 | 05/23/2018 |
ステータス | アクティブ |
種類 | デザイン アドバイザリ |
デバイス |