UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 47556

Zynq-7000 AP SoC、APU - 同じキャッシュ ラインに対して CPU ストア命令が繰り返されると、その格納の表示が遅れることがある

説明

CPU には、通常のメモリ領域にキャッシュ ライン内に結合機能を持つストア バッファーがあります。同じキャッシュ ラインに書き込みアクセスが実行されている間、バッファーでデータが結合されます。ストア バッファーには小型のカウンターが備わっており、一定時間が経過するとデータがメモリに送信され、外部から参照できるようになります。問題は、このカウンターが新しいデータが結合されるたびにリセットされることです。ソフトウェアのコード シーケンスがループしており、同じキャッシュ ラインに繰り返しデータが書き込まれる場合、書き込まれたデータを外部から参照することができなくなります。

ソリューション

影響 :

深刻な問題ではありません。この問題はパフォーマンスに影響することがあり、外部エージェントが書き込まれたデータに一定の時間後にデータを参照できることが必要な場合、ライブロック状態が発生することがあります。

回避策 :

このエラーの影響を受けるコード シーケンスの書き込み操作の後に DMB 操作を挿入し、外部エージェントが書き込まれたデータを参照できるようにします。

対象となるコンフィギュレーション :

プロセッサの 1 つまたは両方を使用するシステム

対象となるデバイス リビジョン : すべて。修正の予定なし。詳細は、Zynq-7000 デバイス アドバイザリ マスター アンサー
を参照してください。

この問題は 通常のメモリ領域でのみ発生します。次に、この問題が発生する 2 つの例を示します。

  • プロセッサがカウンターをインクリメントし続け、同じワードを同じアドレスに書き込みます。外部エージェント (別のプロセッサなど) がこのアドレスをポーリングし、カウンター値がアップデートされるのを待ちます。ストア バッファーでキャッシュ ラインのアップデートされたカウンター値が結合され続け、外部エージェントがアップデートされた値を参照できず、ライブロック状態になることがあります。
  • プロセッサが指定のワードに値を書き込み、このタスクが完了したことを示します。その後、同じキャッシュ ラインの隣のワードにデータを書き込み続けます。外部エージェントは最初のワード メモリ ロケーションをポーリングし続け、プロセッサがこのタスクを完了したかをチェックします。問題は上記の例と同じで、キャッシュ ラインがストア バッファーで結合し続けられ、システムがライブロック状態になることがあります。

この問題を回避するには、ストア バッファーに継続的に結合される書き込み操作の後に DMB 操作を挿入します。 これにより、外部エージェントが書き込まれたデータを参照できるようになります。この問題が発生した場合、ユーザーは常にメモリ バリアを挿入する必要があります。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 47556
日付 09/18/2013
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス
  • Zynq-7000
  • Zynq-7000Q
  • XA Zynq-7000
このページをブックマークに追加