一种嵌入式微处理器高速缓存的混合纠错装置,其特征在于:包括EDAC标记编码器、BCH标记编码器、标记存储器、EDAC标记译码器、BCH标记译码器、EDAC数据编码器、BCH数据编码器、数据存储器、EDAC数据译码器、BCH数据译码器、命中判决器和数据选择器,采用EDAC和二进制BCH混合编码方法对Cache标记存储器和数据存储器中的多位数据错误进行纠错,并能够对1位数据错误进行快速纠错。
【技术实现步骤摘要】
本专利技术涉及一种微处理器高速缓存数据错误的纠错装置,尤其涉及一种嵌入式微 处理器高速缓存多位数据错误的纠错装置。本专利技术还涉及一种嵌入式微处理器高速缓存多 位数据翻转错误的纠错方法。
技术介绍
单粒子翻转(SEU)是在空间应用环境下,由于单粒子入射导致集成电路中存储单 元发生数据翻转错误的事件,是空间环境下电子系统发生故障和工作异常的重要诱因之 一。以往SEU主要表现为单个存储单元的单位数据翻转故障,但是在集成电路采用纳米工 艺后,随着半导体器件特征尺寸的减小、工作频率的上升和节点工作电压的降低,在高速缓 存(Cache)等规整的存储部件中,SEU引发多位翻转(MBU)的概率大大提高,会导致最多8 位随机数据翻转错误,对空间应用的电子系统产生更大的危害。 作为现代微处理器中的一个重要组成部分,Cache完成程序代码与数据的缓冲,向 处理器内核(如流水线)提供指令代码与数据。如果Cache中的存储单元发生数据错误, 就会直接导致微处理器执行错误的指令,或对错误的数据进行运算,进而产生错误的执行 结果。因此,对于空间应用的高可靠微处理器而言,进行Cache系统的数据错误自动纠正具 有重要的意义。 现行的通用微处理器(如alpha2l264、Itanium、Powerpc-alO等)主要采用奇偶 校验和ECC(Error Correcting Codes,错误纠正码)校验码实现Cache的错误保护,它的 局限性是只能纠正单比特错误和检测双比特错误。Chishti等人基于缓存行粒度提出的 MS-ECC方案,面积和性能开销很大。Kim等人提出的的二维校验码可以纠正多位错误,但它 对于分散的随机错误效率较低。Intel在2011年提出VS-ECC方案,针对不同的Cache块使 用纠错能力不同的算法,降低了算法带来的面积和性能开销,但在容错能力方面仍有待提 升。基于分组奇偶校验的数据重载策略目前被用于多种空间微处理器,用于对Cache的数 据错误进行容错,但是该方法只能解决组内1位错误问题,无法应对单粒子诱发的多位随 机错误。总之,现有的技术方案对于MBU引发的2-4位随机错误缺乏行之有效的容错方案。 采用Cache数据错误检测,在出错时强制Cache不命中,通过重装Cache纠正数据 错误,也是一种行之有效的Cache数据翻转故障的容错方法。但是这种方法会降低Cache 的命中率,在使用目前广泛应用的DRAM类存储器的系统中,Cache失效开销一般都比较大, 同时,在纳米工艺下,SEU导致数据错误的概率大大提高,因此,这种基于Cache重装容错方 法会降低处理器的执行效率。 针对空间等环境下高可靠应用的需要,可以采用BCH编码方式对Cache数据存储 器和Cache标记存储器进行保护。BCH(Bose-Chaudhuri-Hocquenheim)编码是一种定义在 有限域GF(q)上线性循环分组码,能够对数据分组中的多个错误进行纠正。二进制BCH码 是一种定义在有限域GF (2)上的BCH码,能检测并纠正数据分组中的多位随机错误的差错 控制码,具有纠错能力强、构造方便、编码简单等优点,在通信领域(如数字广播、3G网络、 光通信等)得到了广泛的应用。 基于BCH编解码的纠错方法可以对Cache中的多位数据错误进行检测与纠正,避 免Cache数据重装带来的额外开销。但是,BCH译码算法较为复杂,发生错误时,需要占用 多个时钟周期,完成伴随式计算、错误位置多项式计算、错误位置求解多个步骤才能完成错 误纠正。对于一位错误和多位错误,BCH译码过程完全相同,纠错时都需要等待译码过程完 成后,才能向CPU内核提供数据,导致CPU内核的流水线插入多个周期的暂停。 尽管在纳米级工艺下,SEU发生概率大大提高,且会引发多位数据翻转,但是,SEU 引发单个数据位的翻转错误仍然是主要的错误模式,占较大比例。对于单个数据位错误,采 用基于扩展海明码的错误检测与纠正(EDAC,Error Detection and Correction,)算法具 有更好的纠错效率,纠错时间更短,只有需要5-6级门延迟即可完成。这样,在单个数据位 错误时,如果采用EDAC算法,可以快速地向CPU内核提供纠正后的数据,不需要在CPU内核 的流水线上插入等待周期,或只有插入1个等待周期。如果能够针对不同错误类型采取不 同的处理算法,降低处理器流水线在SEU故障状态下的等待延迟,就可以提高微处理器在 空间环境下的执行速度。
技术实现思路
本专利技术的目的在于设计一种嵌入式微处理器抗单粒子翻转效应的高速缓存中多 位数据翻转故障的快速纠正装置与方法,能够对SEU导致的多位随机数据翻转错误进行自 动的纠正,并能够对一位数据错误进行快速纠错。 一种嵌入式微处理器高速缓存的混合纠错装置,其特征在于:包括EDAC标记编码 器、BCH标记编码器、标记存储器、EDAC标记译码器、BCH标记译码器、EDAC数据编码器、BCH 数据编码器、数据存储器、EDAC数据译码器、BCH数据译码器、命中判决器和数据选择器;所 述EDAC标记编码器在进行Cache写操作时,对写入的地址标记及行有效标志进行编码,生 成EDAC校验码,与地址标记一起存入标记存储器;所述BCH标记编码器在进行Cache写操 作时,对写入的地址标记、行有效标志及EDAC校验码进行二进制BCH编码,生成BCH校验 码,存入标记存储器;所述标记存储器用于存储标记字和它的EDAC校验码及BCH校验码,所 述标记字包括地址标记和行有效标志两部分;所述EDAC标记译码器在进行Cache访问时, 对标记存储器输出的标记字及EDAC校验码进行校验,对标记字中的1位数据错误进行快速 纠正,并将纠错后的标记字送命中判决器进行Cache命中判决;所述BCH标记译码器在进 行Cache访问时,对标记存储器输出的标记字、EDAC校验码及BCH校验码进行校验,生成错 误纠错标志,对标记字中的多位随机错误进行纠正,将纠错后的标记字送命中判决器进行 Cache命中判决;所述EDAC数据编码器在进行Cache写操作时,对输入数据进行编码,生成 EDAC校验码,与输入数据一起存入数据存储器;所述BCH数据编码器在进行Cache写操作 时,对输入数据及EDAC校验码进行二进制BCH编码,生成BCH校验码,存入数据存储器;所 述数据存储器用于存储Cache数据字和它的EDAC校验码及BCH校验码;所述EDAC数据译码 器在进行Cache读操作时,对数据存储器输出的数据字及EDAC校验码进行校验,对数据字 中的1位随机错误进行纠正,并将纠正后的数据字送数据选择器;所述BCH数据译码器在进 行Cache读操作时,对数据存储器输出的数据字、EDAC校验码及BCH校验码进行校验,生成 错误纠错标志,对数据字中的多位随机错误进行纠正,并将纠正后的数据字送数据选择器; 所述命中判决器将输入的存储器地址中的标记部分,根据BCH数据译码器的指示,与EDAC 数据译码器或BCH数据译码器的输出进行比较,判断Cache是否命中,输出命中指示标志, 控制数据选择器的数据输出;所述数据选择器根据命中判决器送来的命中选择信号和BCH 数据译码器送来的错误指示信本文档来自技高网...
【技术保护点】
一种嵌入式微处理器高速缓存的混合纠错装置,其特征在于:包括EDAC标记编码器、BCH标记编码器、标记存储器、EDAC标记译码器、BCH标记译码器、EDAC数据编码器、BCH数据编码器、数据存储器、EDAC数据译码器、BCH数据译码器、命中判决器和数据选择器;所述EDAC标记编码器在进行Cache写操作时,对写入的地址标记及行有效标志进行编码,生成EDAC校验码,与地址标记一起存入标记存储器;所述BCH标记编码器在进行Cache写操作时,对写入的地址标记、行有效标志及EDAC校验码进行二进制BCH编码,生成BCH校验码,存入标记存储器;所述标记存储器用于存储标记字和它的EDAC校验码及BCH校验码,所述标记字包括地址标记和行有效标志两部分;所述EDAC标记译码器在进行Cache访问时,对标记存储器输出的标记字及EDAC校验码进行校验,对标记字中的1位数据错误进行快速纠正,并将纠错后的标记字送命中判决器进行Cache命中判决;所述BCH标记译码器在进行Cache访问时,对标记存储器输出的标记字、EDAC校验码及BCH校验码进行校验,生成错误纠错标志,对标记字中的多位随机错误进行纠正,将纠错后的标记字送命中判决器进行Cache命中判决;所述EDAC数据编码器在进行Cache写操作时,对输入数据进行编码,生成EDAC校验码,与输入数据一起存入数据存储器;所述BCH数据编码器在进行Cache写操作时,对输入数据及EDAC校验码进行二进制BCH编码,生成BCH校验码,存入数据存储器;所述数据存储器用于存储Cache数据字和它的EDAC校验码及BCH校验码;所述EDAC数据译码器在进行Cache读操作时,对数据存储器输出的数据字及EDAC校验码进行校验,对数据字中的1位随机错误进行纠正,并将纠正后的数据字送数据选择器;所述BCH数据译码器在进行Cache读操作时,对数据存储器输出的数据字、EDAC校验码及BCH校验码进行校验,生成错误纠错标志,对数据字中的多位随机错误进行纠正,并将纠正后的数据字送数据选择器;所述命中判决器将输入的存储器地址中的标记部分,根据BCH数据译码器的指示,与EDAC数据译码器或BCH数据译码器的输出进行比较,判断Cache是否命中,输出命中指示标志,控制数据选择器的数据输出;所述数据选择器根据命中判决器送来的命中选择信号和BCH数据译码器送来的错误指示信号,在Cache命中时,选择EDAC数据译码器或BCH数据译码器的数据,输出给处理器内核。...
【技术特征摘要】
【专利技术属性】
技术研发人员:张伟功,王晶,丁丽华,邱柯妮,李涛,王珍珍,董佳琪,朱晓燕,徐远超,
申请(专利权)人:首都师范大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。