实时系统的容错处理器技术方案

技术编号:13989733 阅读:104 留言:0更新日期:2016-11-13 15:27
本发明专利技术涉及实时系统的容错处理器。描述了使用在两个或多于两个不同的线程中运行的指令的时间和/或空间分离的容错多线程处理器。指令由两个或多于两个线程中的每个取出、解码并执行以针对两个或多于两个线程中的每个产生一个结果。然后使用比较硬件逻辑来比较这些结果,且如果在所得到的结果之间有不匹配,则错误或事件产生。该比较被在逐个指令基础上执行,使得错误被快速地识别(且因此可被解决)。

【技术实现步骤摘要】
背景容错系统是被设计成甚至在存在一些错误的情况下也继续工作的系统。这样的系统因此可涉及错误检查机制的冗余和使用。在实时容错系统中,在计算中的错误可被快速识别并解决很重要。实时容错系统可以例如被用在这样的系统中:其中安全是关键的(例如汽车、飞机、航天器或核电站的控制系统)、其中维护是频繁的(例如对于太空应用例如在卫星上)或其中错误可能有严重的后果(例如在金融系统中)。在所有这些应用中,错误需要被尽可能快地(例如实时地)识别和解决,因为以后矫正它们可能是不可行的或不可能的。下面所述的实施方式不限于解决已知的容错处理器的任何或所有缺点的实现。概述本概述被提供来以简化的形式介绍一系列概念,其在下面在详细描述中被进一步描述。这个概述并不打算识别所要求保护的主题的关键特征或本质特征,也不打算用作在确定所要求保护的主题的范围时的帮助。描述了使用在两个或多于两个不同的线程中运行的指令的时间和/或空间分离的容错多线程处理器。指令由两个或多于两个线程中的每个取出、解码并执行以为两个或多于两个线程中的每个产生结果。然后使用比较硬件逻辑来比较这些结果,并且如果在所得到的结果之间有不匹配,则错误或事件产生。该比较在逐个指令基础上被执行,使得错误被快速识别(且因此可被解决)。第一方面提供多线程处理器,其包括:调度器,其被在硬件逻辑中实
现并被在第一操作模式中布置为引起使程序中的指令由多个线程中的每个取出;执行级,其被在硬件逻辑中实现并被在第一操作模式中被布置为执行指令的每个被取出的实例以产生指令的多个结果,多个线程中的每个线程一个结果;以及比较硬件逻辑,其被在第一操作模式中被布置为比较指令的多个结果以确定是否所有结果都匹配。第二方面提供操作多线程处理器的方法,其包括:由多个线程中的每个取出程序中的指令;执行指令的每个被取出的实例以产生指令的多个结果,多个线程中的每个线程一个结果;以及比较多个结果。另外的方面提供:在其上编码有用于产生如本文所述的处理器的计算机可读程序代码的计算机可读存储介质;在其上存储有计算机可读指令的非暂时性计算机可读存储介质,所述指令当在计算机系统处被执行用于根据电路元件的定义和定义用于组合那些电路元件的规则的数据产生数字电路的表示时引起计算机系统产生如本文所述的处理器;以及在其上编码有用于产生被配置成执行本文所述的方法的处理器的计算机可读程序代码的计算机可读存储介质。如将对技术人员明显的是,优选特征可在适当时进行组合,并可与本专利技术的任何方面进行组合。附图简述将参考以下的附图通过示例的方式来描述本专利技术的实施方式,在附图中:图1示出示例容错多线程有序处理器的示意图;图2是示出例如在图1中示出的处理器的多线程处理器的示例容错操作模式的流程图;以及图3示出来自图1中所示的处理器的比较硬件逻辑的示例实现的示意图。公共参考数字在全部附图中用于指示类似的特征。详细描述下面仅通过示例的方式来描述本专利技术的实施方式。这些示例表示申请人当前已知的实施本专利技术的最佳方式,尽管它们不是以其这可被实现的仅有的方式。本描述阐述示例的功能和用于构造并操作示例的步骤的顺序。然而,相同或等效的功能和顺序可由不同的示例实现。容错处理器必须甚至在存在多个错误的情况下也继续操作。在现有容错处理器中使用的技术涉及使用多个处理器核心来执行相同的代码,其中结果在每个操作结束时被比较。如果结果不相同,则该比较用信号通知错误。可选地,在有多于两个核心的场合,投票系统可用于决定哪个结果是正确的(即:其中由占多数的核心得到的结果被视为正确的结果)。在本文描述了使用在单个处理器核心内的多线程(且特别是细粒度多线程)并使用在多线程处理器管线中的两个不同线程中运行的指令的时间和/或空间分离的容错处理器的可选设计。这导致在处理器的尺寸(或面积)和处理器的功率消耗两者中的降低(与多个核心的使用相比较)。如下所述的容错处理器因此可特别适合于在空间和/或功率被约束的情况下的应用(例如电池供电的便携式计算设备、可穿戴的设备等);然而,它们还可被用在其它应用中。图1示出实现细粒度多线程并因而在每个循环上改变线程的示例容错多线程有序处理器100的示意图。在这个示例中,多线程处理器100是两线程处理器(具有被表示为线程0和线程1的线程);然而,方法还可适用于具有不同数量的线程(例如四个或多于四个线程)的多线程处理器。多线程处理器100包括多级管线,其包括取出级102、解码级106、发布级111、执行级109、存储器存取级112(尽管这可在一些处理器中被省略)和写回级114。执行级109、存储器存取级112(在被提供的情况下)和写回级114被在线程之间共享,而在前端(包括取出级102、解码级106和发布级111)中,一些元件(例如缓冲器)对每个线程是分离的(即重复的)。在各种示例中,解码级106也可以是重复的,对每个线程有单独
的解码级106。取出级102被配置成从程序(以程序顺序)取出如由程序计数器(PC)指示的指令。程序可被存储在存储器104(其可包括高速缓冲存储器以减小访问存储器的时延)中。在取出级102内的调度器105(其可被称为“管线调度器”)控制指令被取出的顺序和由哪个线程取出。解码级106被布置成解译已经由取出级102取出的指令,且这一般涉及从一个或多个寄存器文件(FR)读取,且在图1中所示的示例中,为每个线程提供单独的寄存器文件107、108。发布级111选择将被在每个循环执行的线程并因而控制指令沿着管线被传递到执行级109的顺序。发布级111可因此被描述为包括第二调度器(其中第一调度器是在取出级102中的调度器105)。在一些处理器中,可省略这个发布级111(且在各种示例中,它可由共享的指令缓冲器来代替),使得指令以它们被取出的顺序通过处理器管线继续前进(且因而调度器105隐含地按其被执行的顺序来控制指令)。执行级109包括一个或多个功能(或执行)单元110。每个功能单元110负责执行指令,且功能单元可被配置成执行特定类型的指令。例如,一个或多个功能单元110可以是加载/存储单元、整数单元、浮点单元(FPU)、数字信号处理(SDP)/单指令多数据(SIMD)单元或乘积累加(MAC)单元。加载/存储单元执行加载和存储存储器指令,整数单元执行整数指令,FPU执行浮点指令,DSP/SIMD单元具有同时对多个数据点执行相同的操作的多个处理元件,且MAC单元计算两个数字的乘积并将该乘积加到累加器。功能单元和其中的管线可具有不同的长度和/或复杂度。例如,FPU管线一般比整数执行管线长,因为它通常执行更复杂的操作。存储器存取级112(在被实现的场合)被布置成执行任何数据存储器存取。写回级114(其还可被称为提交级或分度单元(graduation unit))将指令的结果提交到寄存器/存储器(例如到寄存器文件107、108)和/或将结果写到输出端(例如到输出设备)。写回级114包括比较硬件逻辑115,且
该逻辑115的操作被在下面进行描述。如图1中所示以及提供单独的寄存器文件107、108,单独的寄存器116、117可用于为处理器110中的每个线程存储当前PC,且单独的指令缓冲器120、122可用于缓存在取出级和解码级1本文档来自技高网
...

【技术保护点】
一种多线程处理器(100),包括:调度器(105),其被在硬件逻辑中实现并被在第一操作模式中布置成引起程序中的指令由多个线程中的每个取出;执行级(109),其被在硬件逻辑中实现并被在所述第一操作模式中布置成执行所述指令的每个被取出的实例以产生所述指令的多个结果,所述多个线程中的每个线程一个结果;以及比较硬件逻辑(115),其被在所述第一操作模式中布置成比较所述指令的所述多个结果以确定是否所有所述结果都匹配。

【技术特征摘要】
2015.05.01 GB 1507585.61.一种多线程处理器(100),包括:调度器(105),其被在硬件逻辑中实现并被在第一操作模式中布置成引起程序中的指令由多个线程中的每个取出;执行级(109),其被在硬件逻辑中实现并被在所述第一操作模式中布置成执行所述指令的每个被取出的实例以产生所述指令的多个结果,所述多个线程中的每个线程一个结果;以及比较硬件逻辑(115),其被在所述第一操作模式中布置成比较所述指令的所述多个结果以确定是否所有所述结果都匹配。2.根据权利要求1所述的多线程处理器,其中所述比较硬件逻辑还被在所述第一操作模式中布置成响应于确定所有所述结果不都匹配来触发错误/事件。3.根据权利要求2所述的多线程处理器,其中所述错误/事件被布置成触发所述执行级的清除并触发所述调度器来引起在所述程序中的所述指令被再次由所述多个线程中的每个取出。4.根据权利要求2所述的多线程处理器,其中所述错误/事件被布置成使在所述处理器内的性能计数器递增。5.根据权利要求2所述的多线程处理器,其中所述多个线程包括多于两个线程,且所述比较硬件逻辑还被在所述第一操作模式中布置成:响应于确定所有所述结果不都匹配,允许将在执行所述指令的实例时由所述多个线程中的占多数的线程获得的结果写到寄存器、存储器和/或输出设备。6.根据权利要求1所述的多线程处理器,其中所述比较硬件逻辑还被在所述第一操作模式中布置成响应于确定所有所述结果都匹配而允许结果被写到寄存器、存储器和/或输出设备。7.根据权利要求1所述的多线程处理器,其中所述比较硬件逻辑包括:一个或多个缓冲器(302),其被布置成存储所述...

【专利技术属性】
技术研发人员:朱利安·贝利
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

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

1