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.

[参考译文] TMS570LC4357:万一"不可纠正的"ECC 错误出现在高速缓存处于写通模式中

Guru**** 2448780 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/617316/tms570lc4357-behavior-in-case-uncorrectable-ecc-error-occurs-with-cache-in-write-through-mode

器件型号:TMS570LC4357

ARM Cortex-R5F TRM (DDI0460D)状态:

"启用 ECC 检查时、硬件恢复始终启用。 ECC 错误时

检测到错误时、处理器会尝试清除包含错误的高速缓存行。 如果线路是干净的、则是

无效、并且从 L2存储器系统重新加载正确的数据。 如果线路变脏

逐出将脏数据写入 L2存储器系统、并在该过程中纠正任何数据

1位错误。 然后从 L2存储器系统中重新加载校正后的数据。

如果在脏线中检测到2位错误、则该错误不可纠正。 如果中存在2位误差

标签或脏 RAM、不会向 L2存储器系统写入任何数据。 如果数据中存在2位错误

RAM、缓存行被写入 L2存储器系统、但 AXI 主端口 WSTRBM

对于包含错误的数据、该信号为低电平。 如果检测到不可纠正的错误、则中止

数据可能已丢失、因此始终会生成。 预计这种情况会发生

对正在运行的软件进程致命。

如果启用了强制写通设置之一、则存储器标记为回写写写分配

表现为写通。 这可确保缓存行永远不会变脏、因此错误可能会变脏

始终通过使包含 ECC 错误的缓存行无效来恢复。

"

"数据高速缓存写入错误:

 

如果奇偶校验或 ECC 中止被启用、或者检测到不可纠正的 ECC 错误、则为异步

发生数据中止异常。 由于中止是异步的、因此 Far 数据是不可预测的。

数据 FSR 表示异步写入奇偶校验错误。 辅助 FSR 表示

错误位于高速缓存中、错误位于哪个高速缓存方式和索引中。

在直写高速缓存区域中、导致错误的存储被写入外部存储器

使用 L2存储器接口、以确保数据不会丢失、并且错误不会致命"

我打算通过将辅助控制寄存器的高速缓存 ECC 错误位[5:3]配置为以静默方式纠正单个位错误、并且仅针对不可纠正的错误配置信号中止。 不过,通过阅读 TRM 和 上文所述各段, 我不清楚会出现以下两个序列中的哪一个:

 

a: 由于区域标记为写入、因此根本不会产生中止、因此错误始终可以通过 CPU 背面的硬件机制进行校正。

b:生成中止、由 CPU 使缓存中的行无效


我目前假设方案 A、即不会为 WT 高速缓存和 CEC=B101生成异常中断、因为高速缓存中可能没有脏线、所有这些都由硬件恢复机制处理、并且 可能会为受影响 的访问带来额外延迟。


这是正确的假设吗?

谢谢、  

 

弗朗克。




 

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

    我将由我们的一位器件专家在此器件上运行、以获得明确的答案。 我将在星期一与您再次讨论此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Frank、

    您能否澄清在高速缓存读取或写入期间是否指的是不可纠正的错误? 第一段似乎是一个一般性声明、但第二段是关于数据缓存写入。 您是否担心一种访问类型(读取或写入)或两者(读取和写入)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、

    实际读取和写入。 我想知道的是、如果在使用 Write Through 时将 CEC 设置为"Do not generate abort on ECC errors、enable hardware recovery"模式、我必须考虑不可纠正的错误、因为考虑到没有脏线、硬件校正机制应始终成功、 因此、由于受影响的缓存行无效、所有错误都可以纠正。

    谢谢、

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

    我只是想告诉大家、我在 TI 已经用尽了我的资源、需要与 ARM 联系来解决这个问题。 当我有答案时、我会与您联系。 (希望很快)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    弗兰克、

    ARM 支持部门已确认您对操作的假设是正确的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、

    感谢您努力回答我的问题。

    此致

    弗朗克。