一种超前指针法实现前端流水线中指令预取的方法技术

技术编号:24330659 阅读:61 留言:0更新日期:2020-05-29 19:29
本发明专利技术公开了前端流水线技术领域的一种超前指针法实现前端流水线中指令预取的方法,该超前指针法实现前端流水线中指令预取的方法如下:在底层硬件通过超前预取指针超前访问cache的tag逻辑实现提前预知cache miss以及预知fetch的pc所要访问的数据在data sram中的具体位置以及超前分支预测提前预知分支跳转,因此可以减少由于分支跳转而擦除icache模块中流水访问的数据,进一步减少了icache的功耗,缩短了前端流水线的流水级数以及当预知icache miss后可以做到真正pc指向miss的cache line之前提前将数据L2调度回来,因此很大程度上减少了前端流水线上由于icache miss造成的流水线bubble,提高了前端流水线的执行效率。

【技术实现步骤摘要】
一种超前指针法实现前端流水线中指令预取的方法
本专利技术公开了一种超前指针法实现前端流水线中指令预取的方法,具体为前端流水线

技术介绍
由于目前绝大多数关于cpu在体系结构设计中,CPU的前端流水线采用icache和分支预测同时进行的方式,而icache/分支预测无论采用串行或者并行访问,通常需要2-3个时钟的延时,也就是说假设分支指令跳转的情况下,需要在访问完icache和分支预测器之后才能知道指令跳转结果,如果跳转此时需要擦除在这条跳转指令之前访问icache的三级流水,这样势必浪费期间产生的动态功耗,另外当icache发生cachemiss时才去访问L2cache,此时的icache缺失代价会使前端流水线产生相应等cycle的bubble,因此需要解决上述问题,需要对icache的tag逻辑在体系结构的算法流程上进行改进,也就是需要一个硬件预取pc对cache的tagindex以及分支预测器进行快速访问并将访问的结果存入预取缓存中,当instructionbuffer有空闲entry时才基于预取缓冲中取出cache的位置信息访问本文档来自技高网...

【技术保护点】
1.一种超前指针法实现前端流水线中指令预取的方法,其特征在于:该超前指针法实现前端流水线中指令预取的方法如下:/nFetch发送1个节拍的访问模式,连续的采用预取模式访问cache和分支预测器,分支预测器将访问结果以及icache_tag访问结果返回给fetch之后fetch基于访问结果决定下一步操作;/n如果分支预测器方向预测不跳转并且cache命中则将分支预测方向结果以及cache_tag命中哪一路的信息以及当前pc写入预取缓存;/n如果方向预测器预测跳转,则访问目标地址预测器之后生成新的pc再次采用预取模式访问icache得到icache_tag的结果后连同new_pc的预测结果一起写入...

【技术特征摘要】
1.一种超前指针法实现前端流水线中指令预取的方法,其特征在于:该超前指针法实现前端流水线中指令预取的方法如下:
Fetch发送1个节拍的访问模式,连续的采用预取模式访问cache和分支预测器,分支预测器将访问结果以及icache_tag访问结果返回给fetch之后fetch基于访问结果决定下一步操作;
如果分支预测器方向预测不跳转并且cache命中则将分支预测方向结果以及cache_tag命中哪一路的信息以及当前pc写入预取缓存;
如果方向预测器预测跳转,则访问目标地址预测器之后生成新的pc再次采用预取...

【专利技术属性】
技术研发人员:费晓龙
申请(专利权)人:华夏芯北京通用处理器技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1