为了可靠性而选择性地重新执行指令流制造技术

技术编号:39165644 阅读:10 留言:0更新日期:2023-10-23 15:04
本公开涉及为了可靠性而选择性地重新执行指令流。技术总体上涉及通过选择性地重新执行指令来检测无声数据损坏。重命名器可以从指令缓存接收解码的指令。重命名器可以识别能够无序进行的一个或多个的解码的指令。重新排序缓冲区可以被配置成跟踪要重新执行的指令以便第二次计算它们的值,并且将来自第二次计算的值与来自第一次计算的值进行比较。在退出或完成指令之前,可以将第一次执行指令的初始结果与第二次或第n次重新执行指令的重新执行结果进行比较。如果比较指示存在与重新执行结果不同的初始结果,则可以针对指令生成可能的无声数据损坏的指示。声数据损坏的指示。声数据损坏的指示。

【技术实现步骤摘要】
为了可靠性而选择性地重新执行指令流


[0001]本公开涉及为了可靠性而选择性地重新执行指令流。

技术介绍

[0002]随着芯片尺寸的不断进步和减小,芯片内的晶体管和线路可能足够小,以至于小的电波动都能够导致错误。这些错误通常导致数据丢失和损坏。数据丢失和损坏能够影响长期受保护的存储器、存储、网络连接和处理器。这些错误通常被称为无声数据损坏或无声数据错误,如果不加以识别和校正,能够永久地损坏数据。通常,通过复制处理器中的逻辑并且在所有指令之间进行比较、锁步计算或在检测到错误后重新执行指令,可以减轻无声数据损坏。由于需要附加的存储器和其他组件,这些减轻技术在芯片上的空间方面可能是昂贵的。此外,由于必须重新执行所有指令,这些减轻技术在时间方面是昂贵的。

技术实现思路

[0003]本公开描述了用于选择性地识别要重新执行的指令流以识别可能的无声数据损坏的系统和方法。例如,重命名器可以识别能够无序进行的指令。重命名器可以利用重新排序缓冲区来分派和接收指令的结果。例如,重新排序缓冲区可以跟踪指令的计算、依赖性和结果。在一些示例中,重新排序缓冲区可以跟踪被选择要重新执行的指令。例如,选定的指令可以包括:整体指令的某个百分比、在某个时间段期间执行的指令、已经由提示指令或编译器成本模型识别的指令等。要被重新执行的指令可以被进行“n”次,其中“n”是大于1的值。在有序退出指令之前,可以将第一次执行指令的初始结果与第n次重新执行指令的重新执行结果进行比较。如果该初始结果与重新执行结果不同,则可以为该指令生成可能的无声数据损坏的指示。
[0004]技术的一个方面涉及用于检测无声数据损坏的方法。方法可以包含:在缓冲区处接收多个指令流;使用第一处理器执行所述多个指令流,该执行产生对应于所述多个指令流中的每一个的初始结果;选择所述多个指令流中的至少一个用于错误检查;重新执行所述至少一个选定的指令流,该重新执行产生重新执行结果;比较初始结果与重新执行结果;以及当初始结果与重新执行结果不匹配时,生成可能的无声数据损坏的指示。
[0005]选择所述多个指令流中的至少一个可以包含基于提示指令来识别相应指令流的开始块和结束块。选择所述多个指令流中的至少一个可以包含识别所述多个指令流中能够无序进行的一个或多个指令。选择所述多个指令流中的至少一个可以包含识别所述多个指令流的预定百分比,以及基于所识别的预定百分比来选择所述多个指令流中的至少一个。选择所述多个指令流中的至少一个可以包含识别所述多个指令流中在预定时间段期间执行的一个或多个指令流;以及从所识别的一个或多个指令流选择所述多个指令流中的至少一个。
[0006]可以使用微处理器核心内的无序装置来进行重新执行所述至少一个选定的指令流。初始结果和重新执行结果的比较可以由微处理器核心外部的一个或多个处理器来进
行。
[0007]方法可以还包含在重新执行之前缓冲所述至少一个选定的指令流。方法可以还包含将初始结果存储在第一物理寄存器中,并且将重新执行结果存储在与第一物理寄存器分开的第二物理寄存器中。
[0008]生成可能的无声数据损坏的指示可以包含针对可能的损坏来标记第一处理器。标记所述至少一个选定的指令流可以包含设置比特。
[0009]生成可能的无声数据损坏的指示可以包含针对可能的损坏来标记第一处理器。可以使用第一处理器来进行重新执行所述至少一个选定的指令流。可以使用不同于第一处理器的第二处理器来进行重新执行所述至少一个选定的指令流。当初始结果与重新执行结果匹配时,所述至少一个选定的指令流可以被退出到计算机处理单元的架构。
[0010]技术的另一方面涉及一种用于检测无声数据损坏的系统,包含被配置成临时存储指令流的存储器单元,一个或多个处理器,以及包括重新排序缓冲区的重命名器。存储器可以被配置成临时存储指令流。所述一个或多个处理器可以被配置成选择所述指令流中的至少一个用于错误检查。重新排序缓冲区可以被配置成从所述指令流中的所述至少一个的执行接收初始结果,以及从所述至少一个指令流的重新执行接收重新执行结果。所述一个或多个处理器还可以被配置成比较初始结果与重新执行结果,以及当初始结果与重新执行结果不匹配时,生成可能的无声数据损坏的指示。
附图说明
[0011]图1是根据本公开的各方面的示例处理器的框图。
[0012]图2A是根据本公开的各方面的示例重新排序缓冲区的框图。
[0013]图2B是根据本公开的各方面的另一示例重新排序缓冲区的框图。
[0014]图3是根据本公开的各方面的示例系统的框图。
[0015]图4是根据本公开的各方面的用于检测无声数据损坏的示例方法的流程图。
具体实施方式
[0016]技术总体上涉及通过选择性地重新执行指令来检测无声数据损坏。重命名器可以从指令缓存接收解码的指令。重命名器可以识别能够无序执行的一个或多个解码的指令。重命名器可以利用重新排序缓冲区,通过例如跟踪中间计算、它们的依赖性和它们的结果来跟踪正在进行的解码的指令。指令可从重新排序缓冲区分派、执行并且将其结果返回到重新排序缓冲区。重新排序缓冲区可以被配置成跟踪要被重新执行的指令,以便第二次计算它们的值,并且将来自第二次计算的值与来自第一次计算的值进行比较。要被重新执行的指令可以是例如其中计算应该被进行“n”次的指令,其中“n”是大于1的任何值。
[0017]在退出或完成指令之前,可以将第一次执行指令的初始结果与第二次或第n次重新执行指令的重新执行结果进行比较。如果该比较指示存在与重新执行结果不同的初始结果,则可以针对该指令生成可能的无声数据损坏的指示。如果初始结果与重新执行结果匹配,则指令可以被视为已经完成,并且因此可以退出和在架构上对其他计算单元可见。即使指令是无序执行的,重新排序缓冲区也可以有序地退出指令。
[0018]被选择用于重新执行的指令可以是给定程序的总指令的某个百分比。在一些示例
中,被选择用于重新执行的指令可以基于一段时间来确定。例如,可以选择在一天中的某个时间、一周中的某一天、一个月中的某一天等执行的指令用于重新执行。在另一示例中,被选择用于重新执行的指令可以基于嵌入在架构内的提示指令来确定。提示指令可以指示要被重新执行的指令块或指令序列的开始和结束。根据一些示例,可以自动地识别要重新执行的指令序列。例如,编译器成本模型可以用于识别应该重新执行的指令。在此类示例中,可以基于指令的类型、其参数等来识别要重新执行的指令。
[0019]重新排序缓冲区可以包括附加的空间或存储器,用于被选择用于重新执行的指令。例如,重新排序缓冲区可以具有用于选定的指令的指定空间以具有“n”个结果。在一些示例中,重新排序缓冲区对于相同的指令可以具有“n”个条目以说明被重新执行的指令。例如,重新排序缓冲区可以具有用于初始“指令A”的条目和用于重新执行“指令A'”的第二条目。
[0020]可以包括一个或多个屏障以确保在退出指令之前已经完成了指令的重新执行。例如,屏障可以提供指令应该在何处或何时重新执行的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于检测无声数据损坏的方法,包含:在缓冲区处接收多个指令流;使用第一处理器执行所述多个指令流,所述执行产生对应于所述多个指令流中的每一个的初始结果;选择所述多个指令流中的至少一个指令流用于错误检查;重新执行所述至少一个指令流,所述重新执行产生重新执行结果;比较所述初始结果与所述重新执行结果;以及当所述初始结果与所述重新执行结果不匹配时,生成可能的无声数据损坏的指示。2.根据权利要求1所述的方法,其中,选择所述多个指令流中的所述至少一个指令流包含基于提示指令来识别相应指令流的开始块和结束块。3.根据权利要求1所述的方法,其中,选择所述多个指令流中的所述至少一个指令流包含识别所述多个指令流中能够无序进行的一个或多个指令。4.根据权利要求1所述的方法,其中,选择所述多个指令流中的所述至少一个指令流包含:识别所述多个指令流的预定百分比;以及基于所识别的预定百分比来选择所述多个指令流中的所述至少一个指令流。5.根据权利要求1所述的方法,其中,选择所述多个指令流中的所述至少一个指令流包含:识别所述多个指令流中在预定时间段期间执行的一个或多个指令流;以及从所述一个或多个指令流选择所述多个指令流中的所述至少一个指令流。6.根据权利要求1所述的方法,其中,重新执行所述至少一个指令流是使用微处理器核心内的无序装置来进行的。7.根据权利要求1所述的方法,其中,所述比较是通过微处理器核心外部的一个或多个处理器来进行的。8.根据权利要求1所述的方法,还包含在所述重新执行之前缓冲所述至少一个指令流。9.根据权利要求1所述的方法,还包含将所述初始结果存储在第一物理寄存器中,并且将所述重新执行结果存储在与所述第一物理寄存器分开的第二物理寄存器中。10.根据权利要求1所述的方法,其中,生成可能的无声数据损坏的指示包含针对可能的损坏来标记所述第一处理器。11.根据权利...

【专利技术属性】
技术研发人员:乔纳森
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1