制命中 控制器产生Cache不命中指示,由Cache控制器以存储器地址中的Cache索引作为地址,通 过标记BCH编码器将Cache标记存储器中相应位置的Cache标记写入全0,行有效标志置为 无效状态,并写入相应的BCH校验码,作废当前的Cache行,以后按照所使用的Cache管理 策略重新装入该Cache行,转步骤(5);
[0039] (5)在读不命中时,Cache根据处理器内核送来的存储器地址,从主存储器中读取 4个数据字(字数量与Cache行大小相同),将数据字依次送数据BCH编码器生成数据字 的BCH校验码,将数据字及生成的校验码一起写入Cache数据存储器的相应行中,然后根据 存储器地址生成的Cache标记,将Cache标记及Cache行有效标志一起送标记BCH编码器 生成标记字的BCH校验码,将Cache标记、Cache行有效标志及生成的BCH校验码一起写入 Cache标记存储器中由Cache索引(存储器地址位10~4)指明的位置,完成Cache行的更 新。
[0040] 由于采用了前述[63, 39]BCH码生成多项式,本实施例能够对Cache数据存储器和 Cache标记存储器中的最多任意4位错误进行容错。
[0041] 所述的Cache管理策略在具体实施时具有如下限制:(1)映像规则只能选择直接 映像、两路组相联或四路组相联,(2)不支持按写分配。
[0042] 本发明实现的嵌入式微处理器高速缓存多位数据翻转错误的检测及容错装置与 方法,利用BCH编码与Cache数据重装方法,解决了嵌入式微处理器高速缓存中多位随机数 据错误的检测与容错问题,可以提高嵌入式微处理器在空间环境下工作的可靠性。
[0043] 在不脱离本发明精神的范围内,本发明可以具有多种变形,如:Cache容量变化、 映像规则的选择等,均可在不同的实施中改变。这些变形也包含在本发明所要求保护的范 围之内。
【主权项】
1. 一种嵌入式微处理器高速缓存多位数据翻转错误的检测及容错装置,其特征在于: 包括标记BCH编码器、Cache标记存储器、标记BCH校验器、数据BCH编码器、Cache数据存 储器、数据BCH校验器、Cache控制器和命中控制器;所述标记BCH编码器在进行Cache写访 问时,对写入的Cache标记进行BCH编码,生成校验码,与Cache标记一起存入Cache标记 存储器;所述Cache标记存储器用于存储Cache标记字和标记字的BCH校验码,所述Cache 标记字包括Cache标记和行有效标志两部分;所述标记BCH校验器在进行Cache访问时,对 Cache标记存储器输出的Cache标记及校验码进行BCH校验,生成校验错误标志,供命中控 制器决定是否命中;所述数据BCH编码器在进行Cache写访问时,对输入数据进行BCH编 码,生成校验码,与输入数据一起存入Cache数据存储器;所述Cache数据存储器用于存储 Cache数据字和数据字的BCH校验码;所述数据BCH校验器在进行Cache读访问时,对Cache 数据存储器输出的Cache数据及校验码进行BCH校验,生成校验错误标志,供命中控制器决 定是否命中;所述Cache控制器根据输入的存储器地址对Cache标记存储器、Cache数据存 储器的读写进行控制,根据输入的存储器地址与Cache标记判断Cache是否命中,输出命中 标志,选择Cache数据输出;所述命中控制器根据Cache控制器的命中标志、标记BCH校验 器的校验错误标志与数据BCH校验器的校验错误标志决定是否产生有效的Cache命中标 志,在命中有效时将Cache控制器选择的Cache数据输出给处理器内核。2. -种嵌入式微处理器高速缓存多位数据翻转错误的检测及容错方法,其特征在于: 所述嵌入式微处理器高速缓存多位数据翻转错误的检测及容错装置包括标记BCH编码器、 标记BCH校验器、数据BCH编码器、数据BCH校验器、Cache控制器、Cache标记存储器、Cache 数据存储器和命中控制器;所述嵌入式微处理器高速缓存多位数据翻转错误的检测及容错 装置采用如下步骤与方法对Cache中的数据错误进行检测与处理: (1) 初始复位时,将Cache标记存储器中所有Cache标记均写入全0,所有行有效标志 均置为无效,所有Cache标记字的BCH校验码均设置为有效的BCH校验码; (2) 处理器进行存储器读或写访问时,Cache控制器根据存储器地址从Cache标记存 储器中读出Cache标记、行有效标志及BCH校验码,送标记BCH校验器进行BCH校验,如果 BCH校验错误,强制命中控制器产生Cache不命中指示,由Cache控制器通过标记BCH编码 器将Cache标记存储器中相应位置的Cache标记写入全0,行有效标志置为无效状态,并写 入相应的BCH校验码,作废当前的Cache行,以后按照所使用的Cache管理策略重新装入该 Cache行;如果Cache标记的BCH校验正确,分两种情况:处理器访问类型为存储器写访问 时,转步骤(3),处理器访问类型为存储器读访问时,转步骤(4); (3) 按照所使用的Cache管理策略,根据步骤(2)读出的Cache标记、行有效标志及存 储器地址判断Cache是否命中,如果命中,将处理器送来的数据经数据BCH编码器形成BCH 校验码后,和数据一起写入Cache数据存储器的相应位置,结束对Cache的操作;如果不命 中,直接结束对Cache的操作; (4) Cache控制器按照所使用的Cache管理策略,根据步骤(2)读出的Cache标记、行 有效标志及存储器地址判断Cache是否命中,如果不命中转步骤(5);如果命中,根据存 储器地址从Cache数据存储器中读出Cache数据和BCH校验码,送数据BCH校验器进行 BCH校验,如果校验正确,根据Cache管理策略,由命中控制器输出命中信号,选择正确的 Cache数据送给处理器内核,结束对Cache的操作;如果BCH校验不正确,强制命中控制器 产生Cache不命中,由Cache控制器通过标记BCH编码器将Cache标记存储器中相应位置 的Cache标记写入全0,行有效标志置为无效状态,并写入相应的BCH校验码,作废当前的 Cache行,以后按照所使用的Cache管理策略重新装入该Cache行,转步骤(5); (5)在读不命中时,Cache根据处理器内核送来的存储器地址,从主存储器中读取与 Cache行大小相同数量的数据字,按照所使用的Cache管理策略,将数据字依次送数据BCH 编码器生成数据字的BCH校验码,将数据字及生成的校验码一起写入Cache数据存储器的 相应位置,然后由存储器地址生成Cache标记,将Cache标记及Cache行有效标志一起送标 记BCH编码器生成标记字的BCH校验码,将Cache标记、Cache行有效标志及生成的BCH校 验码一起写入Cache标记存储器相应位置,完成Cache行的更新。3. 根据权利要求2所述的嵌入式微处理器高速缓存多位数据翻转错误的检测及容错 方法,其特征在于:所述Cache管理策略、映像规则选择直接映像、两路组相联或四路组相 联,不支持按写分配。4. 根据权利要求3所述的嵌入式微处理器高速缓存多位数据翻转错误的检测及容错 方法,其特征在于:能够检测及容错的数据错误位数由所选择的BCH编码方式决定。
【专利摘要】一种嵌入式微处理器高速缓存多位数据翻转错误的检测及容错装置与方法,其特征在于:所述检测及容错装置包括标记BCH编码器、Cache标记存储器、标记BCH校验器、数据BCH编码器、Cache数据存储器、数据BCH校验器、Cache控制器和命中控制器,依据所选用的Cache管理策略,使用BCH编码及Cache重装方法对Cache标记存储器和Cache数据存储器中的多位数据错误进行检测与容错。
【IPC分类】G06F11/10
【公开号】CN105005513
【申请号】CN201510507410
【发明人】张伟功, 邱柯妮, 丁丽华, 王晶, 李涛, 王珍珍, 董佳琪, 朱晓燕, 徐远超
【申请人】首都师范大学
【公开日】2015年10月28日
【申请日】2015年8月19日