发明名称 支持同步EDAC校验的高效取指流水线
摘要 一种支持同步EDAC校验的高效取指流水线,流程为:(1)程序地址产生栈AG;(2)程序地址发送栈AS,用来接收Tag体返回的数据并进行命中判断;且进行Tag体伴随式计算、判断Tag体是否存在错误和对1位错误进行纠正;当AS栈获得的Tag体信息发生1位错误时,暂停流水线,对其进行纠错,再命中判断,确认是读取数据体还是读取下一级存储器;(3)程序访问等待栈WT,用来等待从数据体或下一级存储器返回的指令包并进行选择;且进行数据体伴随式计算、判断数据体是否存在错误、对1位错误进行纠正、Tag体和数据体的EDAC编码写入;(4)程序取指包接收栈RE。本发明具有高效性、纠错能力强、硬件开销小、对程序员具有透明性等优点。
申请公布号 CN103279329B 申请公布日期 2015.07.29
申请号 CN201310166448.6 申请日期 2013.05.08
申请人 中国人民解放军国防科学技术大学 发明人 陈书明;刘宗林;刘必慰;孙永节;梁斌;刘胜;雷元武;鲁建壮;孙书为;余再祥
分类号 G06F9/38(2006.01)I;G06F11/10(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 周长清
主权项 一种支持同步EDAC校验的取指流水线,其特征在于,包括:(1)程序地址产生栈AG,用来产生当前取指包的地址,并向一级指令Cache的Tag体发送读请求;(2)程序地址发送栈AS,用来接收Tag体返回的数据并进行Tag体伴随式计算、判断Tag体是否存在错误、对1位错误进行纠正、命中判断,当AS栈获得的Tag体信息没有发生错误时,如果命中则向数据体发送读请求;如果不命中则暂停流水线,并向下一级存储器发送读请求;当AS栈获得的Tag体信息发生1位错误时,需要暂停流水线,对Tag体进行纠错,再进行命中判断,确认是读取数据体还是读取下一级存储器;(3)程序访问等待栈WT,用来等待从数据体或下一级存储器返回的指令包,当指令包从数据体返回时,进行数据体伴随式计算、判断数据体是否存在错误、对1位错误进行纠正,一旦发生1位错误,首先暂停流水线,对数据体进行纠错,然后再进行后续处理;当指令包从下一级存储器返回时,将返回的数据进行EDAC编码并写入到Tag体和数据体,然后再进行后续处理;(4)程序取指包接收栈RE,用来对接收到的取指包进行边界对齐和调整;在上述流水线中,在程序地址发送栈AS和程序访问等待栈WT一旦发现2位错,控制逻辑将会重新读取对应的存储体,只有连续两拍访问存储体均出现2位错的时候,系统才会进入2位错处理状态。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院微电子与微处理器研究所