主题中讨论的其他器件:SYSBIOS
工具/软件:
您好、
我使用的是 DSP1、正在收集硬件跟踪流程、包括 PC 和循环时间。

这些多次等待的原因是什么?

为什么留下跟踪说明?
我使用的是:
SYSBIOS BIOS_6_83_00_18
xdctools_3_61_02_27_core
CCs1040
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、
MFENCE(记忆栅栏): 该指令将停止运行、直到所有 CPU 触发的存储器事务(即写入/读取、DMA 和高速缓存操作)完成。
在 https://www.ti.com/lit/ug/sprugh7/sprugh7.pdf? 第 3.8.12.1 节中、您可以查看有关 MFENCE 指令的更多详细信息。

在 BIOS 软件包中、请参阅“ BIOS_6_83_00_18\packages\ti\sysbios\family\c66\Cache.c “


器件勘误表文档 的链接“ 咨询 27 单一 MFENCE 问题 “--> https://www.ti.com/lit/er/sprz335h/sprz335h.pdf? 源代码以供您参考。
这些倍数等待的原因是什么?
您会看到多个等待、因为 SYS/BIOS Cache_wait () 函数是一个循环、它重复调用 MFENCE、直到缓存回写/失效真正完成。 (请参阅上述代码片段。)
此致、
Betsy Varughese.
尊敬的 Varughese:
感谢您强调的要点。
对于 MFENCE 多次等待时间、我看到 4 个或更多呼叫、但看不到任何循环。 反汇编仅显示两个连续调用。 我正考虑另一种情况、即交易完成、另一种交易刚刚 开始。 这种情况似乎由硬件跟踪中的计数器“BUSY_ON_RESP_LINK"进行“进行跟踪、但这纯粹是推测。
仍然 MARK0 问题仍然存在。
就在这些字将被编入索引的情况下,代码中留下的 MARK0 可能是为什么在系统硬件跟踪中,你会发现一个所谓的“MFENCE 变通办法“条目在默认情况下:它没有什么神奇的,只是过滤掉 Mark0,因为否则会淹没小 ETB。 (请参阅下文)

谢谢
尊敬的 Salvatore Lionetti:
是的 MFENCE 基本上是阻塞的、直到存储器子系统完成挂起的操作。 例如、 如果有任何待处理的缓存回写、L2/L3 存储器事务排队、所有这些情况下、MFENCE 将停止、直到全部完成。
[引述 userid=“614973" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1565083/dra78xevm-hardware-trace-reports-mfence-taking-thousands-of-cycles为什么留下跟踪说明?
[/报价]它们用于调试/可追溯性、 您在跟踪工具中看到的“MFENCE 权变措施“是指 就像是 MARK0 过滤器。 (对不起,我错过了前一个答复中的第二个问题)
此致、
Betsy Varughese.