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# 52031

Zynq-7000 SoC、APU - データ キャッシュ メンテナンス処理を中止した後に DSB なしで ISB を実行するとデッドロック状態になることがある

説明

特定の状況下で、データ キャッシュ メンテナンス処理を中止した後に、DSB なしで ISB を実行すると、プロセッサがデッドロック状態になることがあります。

ソリューション

この問題は、次の条件下で発生します。

  1. 一部の書き込みがプロセッサにより処理され、完了するまでに時間がかかる。一般的な状況としては、STR や STM などの書き込み処理が L1 データ キャッシュでミスになる場合です。
  2. 書き込み処理と条件 3 に記述されているデータ キャッシュ メンテナンス処理の間にメモリ バリア (DMB または DSB) が挿入されない。
  3. データ キャッシュ メンテナンス処理が実行されるが、MMU 設定により中止される。
  4. 条件 3 のデータ キャッシュ メンテナンス処理と条件 5 の ISB の間にメモリ バリア (DMB または DSB) が挿入されない。中止されたキャッシュ メンテナンス処理に続くアボート例外ハンドラーなど、すべてのタイプのコードをここで実行できます。
  5. ISB 命令がプロセッサにより実行される。
  6. 条件 5 の ISB と条件 7 の読み込みまたは書き込み処理の間にメモリ バリア (DMB または DSB) が挿入されない。
  7. 読み込みまたは書き込み処理が実行される。


上記の状況により、内部データ側ドレイン要求信号がアサートされたままになり、ISB はデータ側が空になるのを待ちますが、最後の読み込みまたは書き込み処理が ISB が完了するのを待つため、データ側が空になることはありません。

影響:深刻な問題ではありません。この問題によりデッドロック状態が発生する可能性がありますが、回避策で防ぐことができます。
回避策:この問題を回避するには、アボート例外ハンドラーの最初に DSB を追加するのが簡単な方法です。
対象となる構成: CPU を使用するシステム。
対象となるデバイス リビジョン:すべて。修正予定はありません。(Xilinx Answer 47916) - 「Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点」を参照してください。


改訂履歴
2013/05/16 - 初版

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

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

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