0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

处理器可能发生死锁或者数据丢失

LL-LING宁 来源:LL-LING宁 作者:LL-LING宁 2022-08-02 15:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

由于此错误,存储缓冲器可能进入所有现有写入都无法继续执行的状态。此状态可能会导致下列问题:

流水线执行备份,并阻止执行任何指令。

如果按特定顺序执行访问,则将恢复指令执行,但写入数据将会丢失

受影响的配置:

如按下列任一序列发生下述状况,则会发生此错误:

序列 1:

1) 使用数据高速缓存 ECC 来实现处理器,并启用高速缓存 ECC。

2) 处理器访问存储器位置,但此操作在 L1 数据高速缓存中未命中,导致读取并分配缓存行。

3) 处理器对回写可缓存位置执行写入,此操作在步骤 [2] 中的行填充 (linefill) 之前命中,但在行填充之后未命中。此写入操作会在步骤 [2] 重新分配行之前的周期内执行其高速缓存查找操作。

4) 随后,处理器会对步骤 [3] 中写入的缓存行执行读取和写入。此读取和写入操作可按任意顺序执行。写入的双字不同于步骤 [3] 中写入的双字。

序列 2:

1) 使用数据高速缓存 ECC 来实现处理器,并启用高速缓存 ECC。

2) 处理器读取回写可缓存存储器位置,但此操作在 L1 数据高速缓存中未命中,导致读取并分配缓存行,但不检测任何 ECC 错误。

3) 处理器对步骤 [2] 中读取的缓存行执行写入。在高速缓存中查找地址时,由于标签 RAM (tag-RAM) 中存在 ECC 错误,因此结果显示命中。

4) 随后,处理器对步骤 [2] 中读取的缓存行执行进一步写入,但写入的双字不同于步骤 [3] 中写入的双字。

5) 后续推理缓存读取同样检测到 ECC 错误。此读取操作可对相同的高速缓存集执行,因此会检测到相同的错误,或者也可对不同高速缓存集执行读取,在此情况下则需要第二个 ECC 错误才能满足此条件。

此外,这两组条件都要求两次访问之间存在特定的时序关系,因此,受到 AXI 总线上的传输事务时序以及存储缓冲器中其它正在执行的写入操作的影响。

如果上述任一序列发生后,发生如下操作,则将不会发生死锁:

1) 读取操作在高速缓存中未命中,导致行填充,并且

2) 对步骤 [1] 中读取的缓存行执行 2 次或 2 次以上的读取操作。

2 次写入的双字必须不同,但其中一次写入的双字可与步骤 [1] 中读取的双字相同。单一存储指令可生成 2 次此类写入,前提是该指令未自然对齐。

如果发生此状况,则部分写入数据可能丢失。并且后续可能还会向高速缓存分配不可缓存 (Non-cacheable) 或器件 (Device) 写入请求。

注:以上所有数值交叉引用均表示参考列表中的项。

解决方案

影响:

如果发生此错误,处理器将发生死锁或数据丢失。发生死锁时,处理器可生成中断,但最终在处理程序代码中将发生数据丢失或死锁。

根据大量现场器件的经验证明,此错误被分类为罕见。此问题仅在一个工程上出现过,其故障时间不仅长而且易变。

变通方法:

您可通过将 ACTLR.DBWR(位 [14])设置为 1 来避免此错误。对于向标准存储器多次突发写入数据的行为,此设置会禁用其内部传输最优化操作。

此外,此设置还会禁用直写和不可缓存的标准存储器(但不包括回写存储器)的处理器生成的 AXI 突发。

将该位设置为 1 可能降低处理器写入标准存储器的性能。在基准测试中,平均性能降低比例小于 1%,但执行大型块写入的例程(例如,memset 或 memcpy)时影响显著增大。

此变通方法对于 memset 和 memcpy 的影响与 L2 存储器系统的性能和特性以及所使用的指令序列密切相关。

如果您的应用允许,您也可以通过禁用高速缓存 ECC 来避免此错误。禁用方法为将 ACTLR.CEC(位 [5:3])设置为 b100。

此变通方法不会降低处理器性能,但禁用 ECC 会影响可靠性。

受影响的配置:

所有 Versal 器件。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20384

    浏览量

    255642
  • 数据
    +关注

    关注

    8

    文章

    7364

    浏览量

    95164
  • ECC
    ECC
    +关注

    关注

    0

    文章

    104

    浏览量

    21791
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MySQL死锁问题的排查方法与解决思路

    MySQL 死锁是生产环境中让人头疼的问题之一。很多运维工程师看到死锁报错,第一反应是重启数据库——重启确实能解决当下的阻塞,但根因还在,下次还会发生,而且
    的头像 发表于 05-12 09:41 341次阅读

    如何排查和解决MySQL死锁问题

    MySQL死锁数据库运维和后端开发中最棘手的问题之一。与普通查询超时不同,死锁意味着两个或多个事务相互持有对方需要的锁,形成循环依赖,导致涉及的表或行无法被任何事务继续修改。业务系统一旦出现
    的头像 发表于 05-06 11:18 383次阅读

    8430S10I-03时钟发生器:Cavium处理器的理想选择

    8430S10I-03时钟发生器:Cavium处理器的理想选择 在电子设计领域,时钟发生器对于确保系统的稳定运行至关重要。今天,我们要介绍一款专为Cavium Networks SoC处理器
    的头像 发表于 04-12 10:30 515次阅读

    MCXE31B处理器数据不可用怎么解决?

    我在尝试打开引脚工具 and 外围设备工具.我收到以下错误消息: 不支持处理器“MCXE31B”或处理器数据不可用。 检查互联网连接。 我的互联网连接很稳定,但每次尝试打开工具时仍然会
    发表于 03-16 08:02

    DPU数据处理器的核心功能和应用领域

    DPU,全称数据处理器(Data Processing Unit),是一种专门用于处理数据中心中数据流动与基础设施任务的专用处理器。它既不像
    的头像 发表于 02-02 13:52 1180次阅读
    DPU<b class='flag-5'>数据处理器</b>的核心功能和应用领域

    MAXIM 纳米功耗微处理器监控电路:设计与应用指南

    MAXIM 纳米功耗微处理器监控电路:设计与应用指南 在电子设备的设计中,微处理器(µP)的稳定运行至关重要。电源波动、软件故障等因素都可能导致微处理器出现异常,进而影响整个系统的性能
    的头像 发表于 01-29 17:15 778次阅读

    探索i.MX 91应用处理器家族:为边缘应用带来新可能

    探索i.MX 91应用处理器家族:为边缘应用带来新可能 在当今的物联网和工业应用领域,对高性能、安全且节能的处理器需求日益增长。NXP的i.MX 91应用处理器家族正是为满足这些需求而
    的头像 发表于 12-24 11:50 1538次阅读

    嵌入式系统中,动态分配内存可能发生的问题是什么?

    尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。 那么嵌入式系统中,动态分配内存可能发生的问题是什么? 这 里,我期望应试者能提到内存碎片,碎片收集
    发表于 12-22 09:42

    I2C死锁的问题

    读操作,I2C从设备应答后输出数据,如果在这个时刻I2C主设备异常复位而此时I2C从设备输出的数据位正好为0,也会导致I2C总线进入死锁状态。
    发表于 12-04 06:00

    NICE协处理器接口信号解读--以demo为例

    中只用到源寄存rs1,其数值代表待累加的数据在内存中的初始地址,如下图所示。 nice_req_ready信号是nice协处理器发送给cpu的反馈信号,表示协处理器有无收到cpu
    发表于 10-31 08:01

    MD5信息摘要算法实现二(基于蜂鸟E203协处理器

    本设计首先根据MD5协处理器的功能设计MD5算法IP核,软件部分使用串口程序助手进行64位加解密结果的输出,E203内核根据地址取出对应的数据,使用相关的指令进行传输显示。通过NICE接口将MD5协
    发表于 10-30 07:54

    基于E203 NICE协处理器扩展指令

    单元[24],它能根据指令去控制系统内的资源去实现一些操作,例如利用协处理器源操作数实现内存与缓存的数据交换、累加值、乘法、加密等操作,从而提高RISC-V处理器特定领域的性能,同时降低功耗。NICE协
    发表于 10-21 14:35

    使用 APx500 软件检测音频毛刺与信号丢失

    设备丢失了音频采样,根据丢失的采样数量和发生位置,由此产生的不连续性可能会导致毛刺,这种毛刺可能非常刺耳,
    的头像 发表于 10-20 09:02 852次阅读
    使用 APx500 软件检测音频毛刺与信号<b class='flag-5'>丢失</b>

    天硕工业级SSD固态硬盘能否避免数据丢失

    在工业设备运行过程中,突发断电往往带来致命风险。数据丢失、系统崩溃、设备重启失败等问题可能发生产线停滞。那么,天硕(TOPSSD)工业级SSD固态硬盘能否避免
    的头像 发表于 07-16 14:17 986次阅读
    天硕工业级SSD固态硬盘能否避免<b class='flag-5'>数据</b><b class='flag-5'>丢失</b>?

    龙芯处理器支持WINDOWS吗?

    龙芯处理器目前不支持原生运行Windows操作系统,主要原因如下: 架构差异 龙芯架构:龙芯早期基于MIPS架构,后续转向自主研发的LoongArch指令集(与x86/ARM不兼容
    发表于 06-05 14:24