一种阵列处理器的制作方法

文档序号:6576544阅读:309来源:国知局
专利名称:一种阵列处理器的制作方法
技术领域
本发明属于半导体芯片技术领域,具体涉及一种阵列处理器。
背景技术
阵列处理器(Array Processor)具有强大的计算能力,高度灵活的可配置性和可 扩展性,逐渐成为高性能集成电路的发展方向。然而由于半导体芯片的制造工艺复杂,阵列 处理器集成越来越多的计算单元,导致生产过程易产生芯片缺陷,这些缺陷可能会使芯片 不能正常工作或失效,造成芯片废弃,大大降低芯片的良率和可靠性,提高芯片生产成本。
由于工艺不稳定性,在某些特定环境下(如高温或者受到某类射线的干扰),芯片 中某些模块在运行中也会出现失效的现象,导致芯片整体功能错误。 现有的阵列处理器容错检测技术,大多针对芯片由于制造工艺问题出现的硬失效 情况,即在芯片正常工作之前,通过容错电路判断芯片是否出现故障,继而采取规避措施提 升芯片良率。但无法检测和纠正正常工作中由于环境参数发生改变导致的芯片失效,无法 保证阵列处理器在恶劣环境下的稳定工作。

发明内容
本发明要解决的问题是克服现有阵列处理器无法在正常工作中进行故障检测,提 供一种阵列处理器,实现了阵列处理器在正常工作中的故障检测。 为实现上述目的,本发明提供的技术方案是一种阵列处理器,包括多个由计算单 元和通讯单元相连组成的功能单元,所述功能单元之间相连形成网络,还包括至少一个故 障检测单元,所述故障检测单元与其邻近的功能单元相连接,用于对功能单元进行故障检 本发明实施例中,所述故障检测单元包括学习模块、第一存储器和比较模块,其 中 学习模块,与所述功能单元相连,用于获取所述功能单元的参考状态值并产生与 该功能单元对应的故障匹配因子; 第一存储器,与学习模块连接,用于存储故障匹配因子; 比较模块,分别与所述功能单元和第一存储器连接,用于比较所检测的功能单元
的状态信息与其对应的故障匹配因子的相似度或相反度,判断功能单元是否出现故障。 本发明实施例中,所述阵列处理器还包括一定数量的闲置功能单元,所述故障检
测单元的检测结果输出端与通讯单元相连,当某个功能单元检测为故障时,该功能单元的
通讯单元启动重构操作,激活一个闲置功能单元代替所述故障功能单元。 与现有技术相比,本发明通过在阵列处理器中加入多个故障检测单元,多个故障
检测单元之间互相连接形成检测网络,每个故障检测单元负责对周围区域内的功能单元进
行检测检测,从而实现正常工作时对整个阵列处理器芯片的故障检测功能。 进一步的,故障检测单元还可以根据自身状态的变化进行学习并总结规则,通过实时比较功能单元的状态与规则得到检测结果,根据检测结果规避故障单元,使阵列处理 器具有动态容错能力,保证阵列处理器在工作中出现软失效时,能通过实时内建的故障检 测单元进行功能纠错和修复,实施冗余功能单元重构,从而提高阵列处理器的可靠性,保证 自身任务的正确执行,大大提高了阵列处理器在各种环境下工作的可靠性,延长了阵列处 理器的工作寿命。


图1是本发明实施例提供的一种阵列处理器结构示意图; 图2是本发明实施例提供的一种故障检测单元结构示意图; 图3是本发明实施例提供的一种故障检测单元结构示意图; 图4是本实施例提供的一种功能单元接收故障检测单元检测顺序示意图。
具体实施例方式
下面通过具体的实施例并结合附图对本发明作进一步详细的描述。 本发明的基本思想是通过在阵列处理器中加入多个故障检测单元,多个故障检测
单元之间互相连接形成检测网络,每个故障检测单元负责对周围区域内的功能单元进行检
测检测,从而实现正常工作时对整个阵列处理器芯片的故障检测功能。 请参阅图1所示,图1为本发明实施例提供的一个基本的阵列处理器加上故障检 测网络组成的可容错阵列处理器结构示意图。其中,阵列处理器网络包括若干计算单元 (Processing Element,PE) 1、通讯单元(本实施例为路由单元Router或交换单元Switch, R/S) 2、以及连接所述计算单元1和通讯单元2的互联网络3。计算单元1和通讯单元2组 成一个功能单元。所述功能单元之间通过互联网络3网状连接。计算单元l用于处理数据, 通讯单元2用于功能单元之间的通讯,计算单元1通过通讯单元2与周围的计算单元1进 行通讯。本发明还在阵列处理器中加入故障检测单元4,所述故障检测单元4与其邻近的功 能单元相连接,每个故障检测单元4对其连接的功能单元进行故障检测。所述故障检测单 元4可以位于功能单元中的计算单元1或通讯单元2中,也可以独立于计算单元1和通讯 单元2,设置在每个功能单元之间。 本发明实施例中,所述计算单元1和通讯单元2都是可配置的,通过配置所述计算 单元1可以改变各个计算单元的具体功能,通过配置所述通讯单元2可以改变计算单元1 间的连接结构,从而满足不同的算法要求。 所述故障检测单元4之间可复用阵列中功能单元连线5,也可通过专用连线6相 互连接,形成故障检测网络。故障检测网络和阵列处理器网络之间通过连线5连接起来,实 现故障检测单元4对阵列功能单元的检测。每个故障检测单元4对其近邻范围内的功能单 元进行故障检测,其负责检测的功能单元可以是一个,也可以是邻近的多个(本实施例为4 个)。每个故障检测单元4所作用的区域可以是相互独立的,也可以是重叠的,根据具体的 设计约束、容错能力需求和制造工艺等因素确定。同样,每个功能单元可以接受邻近的一个 故障检测单元4检测,也可接受邻近多个(本实施例为4个)故障检测单元4检测。检测 的内容可以是功能单元工作状态,也可是功能单元的运行结果,如标志位和操作码等,这些 信息可从功能单元的寄存器或存储器中读出。
此外,本发明阵列处理器的阵列两侧分别增加一列的闲置功能单元(图中未示 出)。当故障检测单元4检测出某一功能单元出现故障时,故障的功能单元将相应的故障信 号线置位,与该故障的功能单元相关的通讯单元2将接收到这个信号,并由该通讯单元2启 动重构操作,激活附近的闲置功能单元代替该故障的功能单元。 请参阅图2所示,图2是本实施例提供的一种故障检测单元结构示意图。所述故 障检测单元4包括学习模块41、第一存储器42、比较模块43、检测网络输入多路器44、功能 单元状态信息输入多路器45、检测结果输出多路器46、检测网络输出多路器47、计数器48 和定时器49。 请参阅图3所示,本发明实施例中,所述学习模块41进一步包括第二存储器411、 随机值产生器412和匹配因子选择模块413。其中,第二存储器411与随机值产生器412相 连接,用于存储各个待测功能单元的参考状态值(例如标志位、特征码)。所述参考状态值 会根据待测功能单元输入的状态信息在学习时间范围内进行更新。随机值产生器412根据 功能单元的参考状态值产生随机值作为候选故障匹配因子,匹配因子选择模块413通过执 行选择算法,从候选故障匹配因子中选取较优的故障匹配因子作为阵列处理器判断功能单 元是否故障的判断条件,然后将选出的故障匹配因子存储在第一存储器42中。该模块可由
状态机实现,也可采用程序控制器的实现方案;特别的,选择算法包括但不限于正向选择算
法、反向选择算法、克隆选择算法等借鉴生物免疫学原理的自学习方法。当功能单元的状态
信息正常时,即故障检测单元认为状态转换是正常的时候,学习模块41会根据当前的功能
单元状态与原有的参考状态值进行比较,假设将当前功能单元状态值替换掉参考状态值中
的一个可以使得这组参考状态值内部呈现更大的差异,则进行该替换操作,形成新的参考
状态值组。同时学习模块41在新的参考状态值基础上产生更优的故障匹配因子。该过程
实现了故障检测单元的自学习和自适应。在芯片刚开始工作的一段时间内,故障检测单元
4所寄存的规则很大程度上反映的是预设的规则,当阵列处理器运行了一段时间之后,功能
单元的运行状态通过自学习机制对功能单元状态规则的影响将越来越大。 所述故障匹配因子由一段二进制码表示,二进制码的内容及码长可以是预先设置
好的,也可以由学习模块41通过观察功能单元正常工作一段时间后总结得到,也可以从其
他故障检测单元4交换得到。 学习模块41的输入主要有第一存储器42寄存的故障匹配因子、当前功能单元的 状态信息和通过检测网络传送过来的邻近故障检测单元所存储的故障匹配因子。
本发明实施例中,所述学习模块41产生故障匹配因子的流程是若候选故障匹配 因子与所述参考状态值的相似度低于一定阈值(该阈值可由设计者自定义),并且第一存 储器42中故障匹配因子的数量尚未达到预设上限,则直接将该候选故障匹配因子存入第 一存储器42中,否则将候选故障匹配因子与存储器中所检测的功能单元对应的故障匹配 因子比较,判断候选故障匹配因子相似度是否大于相似度最大者,或者相反度是否大于相 反度最大者,如果满足条件则用该候选故障匹配因子替换存储器中原有的相似度最大,或 者相反度最大的那个故障匹配因子,否则放弃该候选故障匹配因子。 本发明实施例中,由于每个故障检测单元4对邻近4个功能单元进行检测,所以第
一存储器42被划分为四部分,分别记录四个功能单元的故障匹配因子。 举例说明,本实施例中第一存储器42中最多只能存储N个故障匹配因子,那么对应于某个功能单元就有N/4个故障匹配因子,故障检测单元4在检测该功能单元时,将该功 能单元的状态信息与N/4个故障匹配因子比较,在比较时可以采用一一比较然后统计分数 的形式判断功能单元是正常还是故障,或者当比较到某个故障匹配因子判断功能单元为故 障时即不用再继续进行比较的方式。 所述第一存储器42和第二存储器411可以是市场上各类存储介质的存储器,包括 但不限于SRAM (Static RAM)、寄存器等。特别的,本发明中第一存储器42和第二存储器411 可以是同一个存储器。 所述比较模块43接收当前功能单元1状态信息和第一存储器42相应存储器段的 故障匹配因子,将当前功能单元状态按照一定的规则(例如连续相同位、海明距离、位间约 束等)与相应存储器段的故障匹配因子进行比较。如果功能单元的状态信息与故障匹配因 子在一定程度上相似或相反,则认为该功能单元出现故障。如果学习模块41采用的是正向 选择算法,则产生的故障匹配因子表达的是故障信息,则比较相似程度,如果相似程度大于
一定阀值,则认为功能单元故障;如果学习模块41采用的是反向选择算法,则产生的故障 匹配因子表达的是正常信息,则比较相反程度,如果相反程度小于一定阀值,则认为功能单 元故障。所述阀值由设计者根据实际经验选取恰当值。相似或相反程度的确定由比较模块 43完成。同时,通过检测结果输出多路器46发出信号通知负责实施重配置的单元(在本实 施例中为路由单元或交换单元)。 所述计数器48与第一存储器42、功能单元状态信息输入多路器45、和检测结果输 出多路器46相连接,用于控制第一存储器42 、功能单元状态信息输入多路器45和检测结果 输出多路器46。计数器48作为选择信号,使故障检测单元4按一定顺序轮流检测邻近的四 个功能单元。 而对于任何一个功能单元,在一个具体实施例中,按照图4所示,从0到3的顺序, 在每个时刻都会有一个故障检测单元对其进行检测。即在同一时间内,故障检测单元4只 对一个功能单元进行故障检测。例如,当计数器48为3时,故障检测单元4检测的是其左 下角的功能单元。这时,功能单元状态输入多路器45会选择右上角功能单元的状态输入, 使它与存储器段3所寄存的状态规则相比较,其结果会送到检测结果输出多路器46,而下 一次计数器48的值是0时,则对该故障检测单元4的右下角的功能单元进行检测,如此循 环检测。 本发明实施例中,由于每个故障检测单元4对邻近4个功能单元进行检测,所以计 数器48采用了 0-3计数器,检测网络输入多路器44、功能单元状态信息输入多路器45、检 测结果输出多路器46、检测网络输出多路器47均采用4-1多路器。 本发明实施例中,所述定时器49与学习模块41相连接,用来计时,在一段给定时 间内控制学习模块41对功能单元自身状态进行监测,通过自学习方法获得故障匹配因子, 即在系统正常工作一段时间后,故障检测单元4才能有效进行故障检测。多个故障检测单 元4可以共用一个定时器。 本发明实施中,如果功能单元检测为故障,发出信号通知负责实施重配置的单元, 本实施例中负责实施重配置的单元为路由单元或交换单元。当故障检测单元4检测出某一 功能单元出现故障时,故障的功能单元4将相应的故障信号线置位,与该故障功能单元相 关的路由单元或交换单元将接收到这个信号,并由该路由单元或交换单元启动重构操作,激活附近的闲置功能单元代替该故障功能单元。 需要说明的是,在阵列处理器工作前,本发明实施例会先进行算法映射以确定阵
列上各个功能单元的任务以及功能单元间的连接关系。确定了各个功能单元所负责的任务
后,就可以获得相应功能单元的基本参考状态值。完成功能单元的配置或程序加载后,通过
检测网络将各个功能单元的基本参考状态值加载到相应的检测单元的比较模块中对应于
该功能单元的存储器段,加载完成后再配置好通讯单元,让处理器开始正常工作。 综上所述,本发明提供一种阵列处理器,通过在阵列处理器中加入多个故障检测
单元,多个故障检测单元之间互相连接形成检测网络,每个故障检测单元负责对周围区域
内的功能单元进行检测检测,从而实现对整个阵列处理器芯片的检测功能。 同时,故障检测单元还可以根据自身状态的变化进行学习并总结规则,通过实时
比较功能单元的状态与规则得到检测结果,根据检测结果规避故障单元,使阵列处理器具
有动态容错能力,保证阵列处理器在工作中出现软失效时,能通过实时内建的故障检测单
元进行功能纠错和修复,实施冗余功能单元重构,提高阵列处理器的可靠性,保证自身任务
的正确执行,大大提高了阵列处理器在各种环境下工作的可靠性,延长了阵列处理器的工
作寿命。 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
权利要求
一种阵列处理器,包括多个由计算单元和通讯单元相连组成的功能单元,所述功能单元之间相连形成网络,其特征在于,还包括至少一个故障检测单元,所述故障检测单元与其邻近的功能单元相连接,用于对功能单元进行故障检测。
2. 根据权利要求1所述的阵列处理器,其特征在于,所述故障检测单元包括学习模块、 第一存储器和比较模块,其中学习模块,与所述功能单元相连,用于获取所述功能单元的参考状态值并产生与该功 能单元对应的故障匹配因子;第一存储器,与学习模块连接,用于存储故障匹配因子;比较模块,分别与所述功能单元和第一存储器连接,用于比较所检测的功能单元的状 态信息与其对应的故障匹配因子的相似度或相反度,判断功能单元是否出现故障。
3. 根据权利要求2所述的阵列处理器,其特征在于,所述学习模块包括第二存储器、随 机值产生器以及匹配因子选择模块,其中第二存储器,用于存储待测功能单元的参考状态值;随机值产生器,其一端与第二存储器连接,用于根据功能单元的参考状态值随机产生 故障匹配因子;匹配因子选择模块,与随机值产生器连接,用于通过执行选择算法,从候选故障匹配因 子中选取所述故障匹配因子。
4. 根据权利要求3所述的阵列处理器,其特征在于,所述匹配因子选择模块用于判断 所述第一存储器中的故障匹配因子的数量是否达到预设上限,如果尚未达到预设上限,则 直接将该候选故障匹配因子存入存储器中;如果已达到预设上限,则将候选故障匹配因子 与第一存储器中所检测的功能单元对应的故障匹配因子比较,判断候选故障匹配因子相似 度是否大于相似度最大者,或者相反度是否大于相反度最大者,如果满足条件则用该候选 故障匹配因子替换存储器中原有的相似度最大,或者相反度最大的那个故障匹配因子,否 则放弃该候选故障匹配因子。
5. 根据权利要求4所述的阵列处理器,其特征在于,当故障匹配因子表达的是故障信 息时,所述比较模块用于比较功能单元的状态信息和故障匹配因子之间的相似程度,如果 相似程度大于一定阀值,则认为功能单元故障;当故障匹配因子表达的是正常信息时,所述 比较模块用于比较功能单元的状态信息和故障匹配因子之间的相反程度,如果相反程度小 于一定阀值,则认为功能单元故障。
6. 根据权利要求2所述的阵列处理器,其特征在于,所述故障检测单元用于检测多个 功能单元,所述故障检测单元还包括计数器、功能单元状态信息输入多路器和检测结果输 出多路器,其中功能单元状态信息输入多路器的输入端分别连接多个功能单元,输出端连接学习模 块,用于将各功能单元的参考状态值输出到学习模块;检测结果输出多路器的输入端连接比较模块,输出端输出故障检测单元对功能单元的 检测结果;计数器,分别与第一存储器、功能状态信息输入多路器和检测结果输出多路器相连接, 用于控制故障检测单元按一定顺序对功能单元进行故障检测。
7. 根据权利要求2所述的阵列处理器,其特征在于,所述故障检测单元还包括检测网络输入多路器和检测网络输出多路器,检测网络输入多路器的输入端分别和周围其他故障 检测单元连接,输出端连接本故障检测单元的学习模块,用于输入其他故障检测单元的故 障匹配因子;检测网络输出多路器的输入端与本故障检测单元的第一存储器连接,输出端 分别与周围其他故障检测单元连接,用于输出故障匹配因子给其他故障检测单元。
8. 根据权利要求2所述的阵列处理器,其特征在于,所述计数器为0-3计数器;检测网 络输入多路器、功能单元状态信息输入多路器、检测结果输出多路器、检测网络输出多路器 均为4-1多路器;第一存储器至少划分为四部分,分别记录四个功能单元的故障匹配因子。
9. 根据权利要求2所述的阵列处理器,其特征在于,所述阵列处理器还包括定时器,每 个定时器至少跟一个故障检测单元连接,所述定时器用来控制故障检测单元中的学习模块 在一段给定时间内对功能单元的状态进行监测,使学习模块通过自学习方法获得故障匹配 因子。
10. 根据权利要求1-9任一项所述的阵列处理器,其特征在于,所述阵列处理器还包括 一定数量的闲置功能单元,所述故障检测单元的检测结果输出端与通讯单元相连,当某个 功能单元检测为故障时,该功能单元的通讯单元启动重构操作,激活一个闲置功能单元代 替所述故障功能单元。
全文摘要
本发明公开了一种阵列处理器,包括多个由计算单元和通讯单元相连组成的功能单元,所述功能单元之间相连形成网络,还包括至少一个故障检测单元,所述故障检测单元与其邻近的功能单元相连接,用于对功能单元进行故障检测。本发明通过在阵列处理器中加入多个故障检测单元,多个故障检测单元之间互相连接形成检测网络,每个故障检测单元负责对周围区域内的功能单元进行检测检测,从而实现正常工作时对整个阵列处理器芯片的故障检测功能。
文档编号G06F15/80GK101706767SQ20091010959
公开日2010年5月12日 申请日期2009年8月13日 优先权日2009年8月13日
发明者叶兆华, 吴泽俊, 戴鹏, 王新安, 雍珊珊 申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1