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.

[参考译文] TMS320C6678:有关 C66x 上的 MSMC 清理引擎的问题

Guru**** 2549110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/583704/tms320c6678-questions-about-msmc-scrubbing-engine-on-c66x

器件型号:TMS320C6678

您好!

我对 C6678的 MSMC Scrubing 引擎有很多疑问。

  1. 它首先从何处开始清理、或者从第一个位置到最后一个位置按顺序清理?
  2. 完成整个4MB 的 SL2清理的速度有多快? 假设默认 REFDEL 为1,这意味着每次突发之间会有1024个 MSMC 时钟周期。 1.86µs、对于1.1GHz 器件、MSMC 从 SYSCLK3中汲取、SYSCLK3是½ μ s 速率时钟、因此在突发脉冲之间大约为 μ s。
  3. 当主设备还尝试访问正在被擦除的同一位置时、在清理周期或清理突发期间会发生什么情况?
  4. 每次清理爆发的大小是多少?
  5. 如果在 MSMC 中对存储器保护进行了编程,这是否会与净化引擎的运行发生冲突? 这是我已将某个 MSMC RAM 区域编程为只读(对于某个 PrivID)的情况,清理引擎是否尝试更正该只读空间中的1位错误会触发存储器保护故障?

提前感谢您的回答。

此致、

王克

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

    我已将此内容转发给硬件专家。 他们的反馈应发布在此处。

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

    您好!

    硬件专家是否提供任何更新?

    此致、

    Keith

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

    这是我从阅读 www.ti.com/.../sprugw7a.pdf 第2.5.4章中的个人理解

    它首先从何处开始清理、或者从第一个位置到最后一个位置按顺序清理?

    >>>由于清理是由状态机完成的,而且我找不到任何控制状态机起始地址的寄存器,因此我假设它从第一个位置开始,然后继续直到结束并再次开始



    完成整个4MB 的 SL2清理的速度有多快? 假设默认 REFDEL 为1,这意味着每次突发之间会有1024个 MSMC 时钟周期。 1.86µs、对于1.1GHz 器件、MSMC 从 SYSCLK3中汲取、SYSCLK3是½ μ s 速率时钟、因此在突发脉冲之间大约为 μ s。

    >>>我的理解是,为了涵盖4MB MSMC 内存(或64 * 64K),所需的周期数为64K *1024 (我假设实际的读取和写入与突发之间的时间相比可以忽略不计),因此需要64M MSMC 周期, 对于 C6678、它是128M 周期或125毫秒。 这对您有道理吗?


    当主设备还尝试访问正在被擦除的同一位置时、在清理周期或清理突发期间会发生什么情况?

    >>>与此系统中的其他任何内容一样,有一个优先级方案。 我不确定哪一个将具有优先级、但我假设在清理开始时、它会阻止对64个字节的访问、直到完成。

    每次清理爆发的大小是多少?

    >>>在上面的计算中,我假设突发为64字节。 我将询问什么是突发。 如果突发大小大于64 (并且它必须是64字节的乘法)、那么完整周期时间是不同的。 无论如何、我会询问相关情况、然后我会再向您介绍这方面的信息


    如果在 MSMC 中对存储器保护进行了编程,这是否会与净化引擎的运行发生冲突? 这是我已将某个 MSMC RAM 区域编程为只读(对于某个 PrivID)的情况,清理引擎是否尝试更正该只读空间中的1位错误会触发存储器保护故障?

    >>我认为某些 PrivID 更改的内容不是只读的。 保护在总线和 MSMC 之间的接口中完成、而清理在 MSMC 内部进行

    我将再次验证突发大小。

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

    感谢您的回答。 它们很有帮助。

    顺便说一下、我在网站上找到了一份名为"在 KeyStone 器件上构建稳健系统"的应用报告、但该报告不在 TI 文档库中。 它提到 bustsize 是四个32字节的块。 由于 MSMC 中有4个 RAM 组、我想这意味着净化引擎每次突发一次访问每个组上的32字节。

    您是否知道我可以从何处下载本应用报告的最新版本或官方版本? 本报告还提到了随附的 CCS 工程。 我可以从哪里获得该项目?

    此致、

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

    对报告不确定、但从设计文档中可以看到:

    采用了对四个连续存储器地址进行4次读取、4次写入的完全流水线清理突发序列。
    这会将每个子组锁定8个周期、但会更好地利用组中可用的带宽


    因此、清理突发是对子组的4次读取。 C6678的每个子组为32字节、因此4次读取为128字节。  您可以将其插入公式以获得完整的清理时间

    已运行

     

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

    RAN、

    感谢您的回复。

    您所指的是哪种设计文档?

    通过我附加之前提到的应用报告的方式。  您能找到此报告的最新版本以及 TI 提供的上述 CCS 项目吗?

    此致、

    Chris

    e2e.ti.com/.../Build-Robust-System-on-KeyStone-Devices.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该架构的内部 TI 设计文档。 IR 不是公开文档。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    事实上、Chris 的问题与我的问题非常相似(e2e.ti.com/.../555670)。
    感谢大家的回答。

    但是、我还有一个:
    我想关闭并再次打开净化引擎、使其仅在一段时间内激活、以避免与 DSP 内核同时访问。 您是否认为这是可能的?
    换言之、如果我通过 SMEDCC 关闭并再次打开净化引擎、会发生什么情况。[SEN]位:
    清理操作是否从已停止的 MSMC 地址恢复?
    或者擦除引擎被重置,并在禁用1024预分频器的情况下执行整个 MSMC 的奇偶校验初始化,就像在 DSP 重置时一样?

    此致、

    功率放大器