仅对英特尔可见 — GUID: pes1577840010576
Ixiasoft
3.6.4. 避免ACP Dependency锁定
ACP和CPU的某些一致性访问过程中会导致死锁。但是,可通过简单的访问策略来避免这个类型的死锁。
如下实例中,由于CPU发起对FPGA逻辑中HPS的访问而导致死锁:
- CPU发起对FPGA逻辑中器件存储器的访问。CPU流水必须停顿,直到完成该类型的访问。
- 在FPGA逻辑状态机可以响应器件存储器访问之前,其对HPS的访问必须一致。发起一致性访问过程中需要ACP。
- 必须先执行ACP高速缓存维护操作,然后才能完成该访问。然而,CPU的流水停顿会阻止执行高速缓存维护操作。从而导致死锁。
可以将所需访问拆分成较小的部分来实现,并且避免出现死锁。例如,可通过一个访问发起高速缓存维护操作,然后通过另一个访问确定操作状态。