【技术实现步骤摘要】
【国外来华专利技术】处理缓冲器中的错误
本技术涉及数据处理的领域。更具体地本技术涉及错误处理。
技术介绍
数据处理设备可能经受随机硬件故障,例如可以使存储元件或数据路径的位被永久性地固定在例如0或1处的、通过集成电路中的短路或破裂过孔所引起的永久故障,或诸如通过暴露于自然辐射或粒子撞击所引起的位翻转的暂时故障。对于一些使用领域,例如在安全性可能是关键的汽车领域中,为了确保功能安全性可给处理器提供用于检测错误并且在存在此类错误的情况下确保安全操作的错误检测机制。一种方法可以是复制整个处理器核心并且在锁步模式下运行两个或更多个处理器,在所述锁步模式下,每个处理器运行相同的代码并且通过比较相应处理器上的等效操作的结果来识别错误。然而,这种方法在电路面积和功耗方面,特别是在处理器核心是相对高性能处理器的情况下可能非常昂贵,并且同样地因为可能需要比较相应处理器核心上的许多接口以检测错误,所以这可能需要大量的附加布线。另一方法可以是提供基于软件的测试,其中周期性地在给定处理器核心上执行的主处理被中断以执行测试指令序列,所述测试指令序列可以被设计为探测处理器核心的存储元件或数据路径是否在准确地起作用。然而,此类软件测试套件可能难以设计,因为给定处理器核心可以具有许多微架构设计特征,所述许多微架构设计特征可从核心到核心显著地变化,并且除非出现一组具体情况,否则可能不会调用这些微架构设计特征,从而使得难以设计用于探测在微处理器实施方案中可能出现的每一种可能的错误的指令序列。
技术实现思路
至少一些示例提供一种设备,所述设备包括: >缓冲器,所述缓冲器包括用于缓冲与由至少一个处理电路执行的数据处理操作相关联的项目的多个条目;以及缓冲器控制电路,所述缓冲器控制电路具有冗余分配模式,在所述冗余分配模式下:当向所述缓冲器分配给定项目时,所述缓冲器控制电路被配置为将所述给定项目分配给所述缓冲器的N个冗余条目的集合中的每个条目,其中N≥2;以及当从所述缓冲器读取或移除所述给定项目时,所述缓冲器控制电路被配置为比较存储在所述N个冗余条目的集合中的所述项目并且当在存储在N个冗余条目的集合中的所述项目之间检测到失配时触发错误处理响应。至少一些示例提供一种设备,所述设备包括:用于缓冲的装置,包括用于缓冲与由用于处理的至少一个装置执行的数据处理操作相关联的项目的多个条目;以及用于控制的装置,具有冗余分配模式,在所述冗余分配模式下:当向所述用于缓冲的装置分配给定项目时,所述用于控制的装置被配置为将所述给定项目分配给所述缓冲器的N个冗余条目的集合中的每个条目,其中N≥2;以及当从所述用于缓冲的装置读取或移除所述给定项目时,所述用于控制的装置被配置为比较存储在所述N个冗余条目的集合中的所述项目并且当在存储在所述N个冗余条目的集合中的所述项目之间检测到失配时触发错误处理响应。至少一些示例提供一种方法,所述方法包括:在缓冲器的多个条目中缓冲与由至少一个处理电路执行的数据处理操作相关联的项目;其中,当在冗余分配模式下操作时:当向所述缓冲器分配给定项目时,所述给定项目被分配给所述缓冲器的N个冗余条目的集合中的每个条目,其中N≥2;以及当从所述缓冲器读取或移除所述给定项目时,比较存储在所述N个冗余条目的集合中的所述项目并且当在存储在所述N个冗余条目的集合中的所述项目之间检测到失配时触发错误处理响应。附图说明通过以下将结合附图阅读的对示例的描述,本技术的另外的方面、特征和优点将是显而易见的,在附图中:图1示意性地图示数据处理设备的示例;图2示意性地图示具有许多缓冲器的处理器核心的示例;图3示出包括在缓存中的缓冲器的示例;图4图示软件内置自测试的示例;图5示出在正常模式下起作用的缓冲器的示例;图6示出在冗余分配模式下操作缓冲器的示例,在所述冗余分配模式下给定项目被分配给缓冲器的两个或更多个冗余条目;图7是图示向缓冲器分配项目的方法的流程图;图8是图示从缓冲器读取或排出项目并检测错误的方法的流程图;以及图9图示用于在同一处理器核心中执行冗余操作的核心内锁步模式具体实施方式数据处理设备内的缓冲器(其缓冲与由至少一个处理电路执行的数据处理操作相关联的项目)可对于故障测试造成特别的挑战。常常,可以提供缓冲器来在等待带宽或变得可用于处理该项目的机会的同时缓冲该项目,诸如在总线上用于发出事务的槽(slot)或在执行单元上用于执行指令的槽。通常可以调整缓冲器的大小以应对缓冲器上预期的最坏情况需求,但是在实践中峰值需求可能不会经常发生,所以常常缓冲器可能不会完全满(实际上为了避免性能损失,系统常常被故意地设计来提供足够大小的缓冲器,以致缓冲器很少变得完全满)。这意味着一些缓冲器条目可能不会被经常使用,并且软件测试套件或通过处理流水线执行的冗余操作集可能难以生成足够的需求来完全填充缓冲器。对于位于处理器核心外部的缓冲器,诸如互连或存储器组件中的缓冲器,情况尤其如此。将项目存储在缓冲器中的另一因素是,与地址控制哪一个数据存储位置被访问的存储器或缓存存储装置不同,利用缓冲器将项目分配给缓冲器可能常常取决于项目被供应给缓冲器的顺序,所以由处理电路执行的指令可能难以影响哪些特定缓冲器条目会更新项目。这可能使得难以生成探测缓冲器的每个位置是否经受错误的测试算法。因此,利用现有的故障测试技术可能难以适当地探测缓冲器条目是否已遇到错误。如在下面所讨论的,可以提供具有冗余分配模式的缓冲器控制电路,在所述冗余分配模式下,当向缓冲器分配给定项目时,缓冲器控制电路将给定项目分配给缓冲器的N个冗余条目的集合中的每个条目,其中N≥2,而当从缓冲器读取或移除给定项目时,缓冲器控制电路比较存储在N个冗余条目的集合中的项目并且当在存储在N个冗余条目的集合中的项目之间检测到失配时触发错误处理响应。因此,当在冗余分配模式下时,缓冲器容量有效地减少了N倍,使得每当项目被分配给缓冲器时,它都被冗余地分配给缓冲器的多个条目。然后,当从缓冲器读取或移除项目时,可比较存储在冗余条目的集合中的项目并且在检测到失配时触发错误处理响应。这减少需要被分配到缓冲器中以便填充缓冲器的全部占用率的项目的数量,这使测试变得较容易,因为设计一组测试操作来填充较少的缓冲器条目是不太复杂的。然而,可测试缓冲器的全部容量,因为如果在任何冗余条目中发生错误,则可通过与相同集合的其他条目相比较来检测错误。在一个示例中,在冗余分配模式下,缓冲器控制电路可以响应于要将项目分配给缓冲器的单个请求而将给定项目分配给N个冗余条目。因此,处理电路或其他请求实体不必要生成多个缓冲器分配请求。在一个示例中,设备可以具有自测试控制电路,所述自测试控制电路用于触发至少一个处理电路以切换到用于执行软件自测试指令序列的自测试状态。如上面所讨论的添加缓冲器内冗余的技术在使用软件自测试的系统中特别有用,因为减少需要被分配到缓冲器中以便完全占用缓冲器中的所有条目的不同项目本文档来自技高网...
【技术保护点】
1.一种设备,包括:/n缓冲器,所述缓冲器包括多个条目,用于缓冲与由至少一个处理电路执行的数据处理操作相关联的项目;以及/n缓冲器控制电路,所述缓冲器控制电路具有冗余分配模式,在所述冗余分配模式下:/n当向所述缓冲器分配给定项目时,所述缓冲器控制电路被配置为将所述给定项目分配给所述缓冲器的N个冗余条目的集合中的每个条目,其中N≥2;以及/n当从所述缓冲器读取或移除所述给定项目时,所述缓冲器控制电路被配置为:比较存储在所述N个冗余条目的集合中的项目,并且当在存储在所述N个冗余条目的集合中的所述项目之间检测到失配时触发错误处理响应。/n
【技术特征摘要】
【国外来华专利技术】20171005 GB 1716280.11.一种设备,包括:
缓冲器,所述缓冲器包括多个条目,用于缓冲与由至少一个处理电路执行的数据处理操作相关联的项目;以及
缓冲器控制电路,所述缓冲器控制电路具有冗余分配模式,在所述冗余分配模式下:
当向所述缓冲器分配给定项目时,所述缓冲器控制电路被配置为将所述给定项目分配给所述缓冲器的N个冗余条目的集合中的每个条目,其中N≥2;以及
当从所述缓冲器读取或移除所述给定项目时,所述缓冲器控制电路被配置为:比较存储在所述N个冗余条目的集合中的项目,并且当在存储在所述N个冗余条目的集合中的所述项目之间检测到失配时触发错误处理响应。
2.根据权利要求1所述的设备,包括自测试控制电路,所述自测试控制电路用于触发所述至少一个处理电路中的至少一个处理电路以切换到用于执行软件自测试指令序列的自测试状态。
3.根据前述权利要求中的任一项所述的设备,包括支持核心内锁步模式的至少一个处理电路,在所述核心内锁步模式下,所述处理电路被配置为在同一处理器流水线内执行冗余处理操作并且依照对所述冗余处理操作的结果的比较来执行错误检测。
4.根据前述权利要求中的任一项所述的设备,其中,所述缓冲器控制电路具有正常模式,在所述正常模式下,当向所述缓冲器分配给定项目时,所述缓冲器控制电路被配置为将所述给定项目分配给所述缓冲器的单个条目。
5.根据权利要求4所述的设备,其中,所述缓冲器控制电路被配置为响应于至少一个处理电路进入到用于执行软件自测试指令序列的自测试状态而切换到所述冗余分配模式。
6.根据权利要求5所述的设备,其中,所述缓冲器控制电路被配置为响应于在执行所述软件自测试指令序列之后返回到先前处理而切换到所述正常模式。
7.根据权利要求4至6中的任一项所述的设备,包括配置寄存器,所述配置寄存器用于存储可编程控制参数,所述可编程控制参数用于控制所述缓冲器控制电路是在所述冗余分配模式下还是在所述正常模式下操作。
8.根据权利要求1至3中的任一项所述的设备,其中,所述缓冲器控制电路被配置为:当所述至少一个处理电路处于用于执行除软件自测试指令序列以外的指令的功能状态时,在所述冗余分配模式下操作。
9.根据前述权利要求中的任一项所述的设备,其中,所述错误处理响应包括更新状态寄存器以指示已检测到错误。
10.根据前述权利要求中的任一项所述的设备,包括多个所述缓冲器,其中,所述错误处理响应包括更新状态寄存器以指示所述多个缓冲器中的哪一个遇到了检测到的错误。
11.根据前述权利要求中的任一项所述的设备,包括错误检测码存储电路,所述错误检测码存储电路用于存储与所述N个冗余条目的集合中的至少一个冗余条目相...
【专利技术属性】
技术研发人员:巴拉吉·韦尼,马蒂亚斯·洛塔尔·伯特歇尔,姆布·埃约勒,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。