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.

[参考译文] AM6442:DDR 存储器原子访问

Guru**** 2455360 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1472727/am6442-ddr-memory-atomic-access

器件型号:AM6442

工具与软件:

我们正在探索  Linux (A53)和 No-RTOS R5F 远程内核之间的共享存储器选项。

零拷贝示例 按预期工作正常、但我们正在研究没有 rpmsg 交换的直接存储器存取。 在一个系统配置中可实现这一 目标、在这个系统配置中、每个内核有一个保留的存储器部分、只有它们能够写入、而其他内核只能读取。 这将避免内核之间的覆盖、但如果读取/写入操作不是原子操作、那么当然会导致一致性问题。

字长是多少(8、16、32位、更多?) 原子访问的协议?

AM64x TRM 的 DDR 子系统(DDRSS)特性列表中提到了调度机制。 特别是"读取/写入调度、以避免周转时间"。

是否可以假定、当数据从 MCU 缓存转储到 DDR (如在零复制应用中)时、该写入操作将以一次性方式调度、因此是原子操作? 能否提供有关此调度程序如何工作的更多信息?

供参考:

Processor SDK v10.00.07.04。

MCU+ SDK:v10.00.00.20

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Martin、很抱歉耽误您的时间。  我们将尽快为您提供答案。

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    有趣的问题、如果我正确地解释它、对于某些假设而言可能不是那么简单。 我的第一印象是、DDR 不是其中的唯一组件、A53+R5设置只是一部分、总线基础架构是另一部分、最后有各种 DDRSS 设置。 让我和团队讨论一下,我不确定我什么时候能得到完整的回复,但如果我们有答案或问题,我会再次查看*2/27或更早的回复。

    此致、

    卢卡斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    我尚未找到与团队讨论的机会、但仍 在跟踪这一情况。 遗憾的是、我认为这可能需要较长的时间才能进行适当的调查、但我将在2012年3月之前再次查看。  

    此致、

    卢卡斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    我很抱歉,但我没有时间表来获得一个详细的回答你的问题,我想这是在问. 原子性和一致性取决于起点/终点和两者之间的基础设施。 我至少可以回答一些关于 IP 行为的问题。

    通常、IP 侧重于通过基于各种因素在命令中移动来最大限度地提高性能。 因此、如果发生大量写入和读取、它可能会对这些写入和读取重新排序、以避免过度关闭/打开银行。 虽然这里没有明确说明、但为了避免命令冲突、可能导致错误行为、我们采用了逻辑:如果先进行写入、然后在足够接近的时间内读取同一地址、则控制逻辑不会将读取顺序重新设置为写入之前。 同样、如果先执行读取操作、然后执行写入操作、则写入操作不会重新排序为先执行、因此性能优势不会影响低级功能。  

    有关 DDRSS IP 本身如何对要发送给 DRAM 的各种命令进行排序的逻辑的概述、您可以在本节以及 TRM:8.1.4.9 DDR 控制器功能说明中阅读  

    此致、

    卢卡斯