发明名称 一种微处理器指令级随机验证中加速取指的装置和方法
摘要 本发明公开一种在微处理器指令级随机验证中加速取指的装置和方法,该装置包括微处理器,随机指令控制模块,内存模块;微处理器包括指令高速缓存模块;随机指令控制模块,用于读入验证微处理器的指令和数据信息,并生成页表;根据页表将全部指令和数据写入到内存模块中;并将内存模块中至少一部分指令写入到微处理器的指令高速缓存模块中;内存模块,用于存储验证微处理器的指令和数据;指令高速缓存模块,用于存储至少一部分验证微处理器的指令;微处理器,用于以指令高速缓存模块优先、内存模块次之的方法,从指令高速缓存模块或者内存模块中取指令,并从内存模块中取数据后执行验证。其使得微处理器内部的流水线能够完全流水,验证充分。
申请公布号 CN101819608B 申请公布日期 2012.09.05
申请号 CN201010102570.3 申请日期 2010.01.27
申请人 龙芯中科技术有限公司 发明人 王朋宇;陈云霁;沈海华;胡伟武
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京远大卓悦知识产权代理事务所(普通合伙) 11369 代理人 史霞
主权项 一种在微处理器指令级随机验证中加速取指的装置,包括微处理器,其特征在于,还包括随机指令控制模块,内存模块;所述微处理器包括指令高速缓存模块;其中:所述随机指令控制模块,用于读入验证微处理器的指令和数据信息,并生成页表;根据页表将全部指令和数据写入到内存模块中;根据页表和微处理器中的指令高速缓存模块的高速缓存行的大小判断后,将内存模块中至少一部分指令写入到微处理器内部的指令高速缓存模块中;所述内存模块,用于存储验证微处理器的指令和数据;所述指令高速缓存模块,用于存储至少一部分验证微处理器的指令;所述微处理器,用于以指令高速缓存模块优先、内存模块次之的方法,从指令高速缓存模块或者内存模块中取指令,并从内存模块中取数据后执行验证;所述根据页表和微处理器中的指令高速缓存模块的高速缓存行的大小判断后,将内存模块中至少一部分指令写入到微处理器内部的指令高速缓存模块中,包括下列步骤:步骤D1,判断处理过指令数n是否等于总的要处理的指令数;如果是,则执行步骤D5;否则执行步骤D2;步骤D2,根据一个高速缓存行的大小,确定每次要处理的指令条数m;步骤D3,对m条指令中的每条指令,根据页表生成该指令的物理地址,利用物理地址生成该指令在高速缓存行中的标签;步骤D4,比较m条指令的标签;如果所有m条指令的标签相同,则将该m条指令写入到一个高速缓存行,同时将标签也写入到该高速缓存行,并将处理过的指令数n加上m;否则,如果前m‑1条指令的标签相同,则将前m‑1条指令写入到一个高速缓存行,同时将前m‑1条指令的标签也写入到该高速缓存行中,从第m条指令依次往前减一条指令,将剩下的指令的标签进行循环比较,前多少条指令的标签相同,就将前多少条指令写入到同一个高速缓存行中,直到最后一条指令; 步骤D5,指令写入指令高速缓存模块过程结束。
地址 100080 北京市海淀区科学院南路10号