XiangShan FrontEnd源码浅析:ITTAGE & RAS
ITTAGE概述源代码:/xiangshan/frontend/ITTAGE.scalaITTAGE是xiangshan中用于预测间接跳转(jalr)跳转目标地址的预测器。如果是基于函数返回的jalr,xiangshan规定由RAS来进行预测,其他的间接跳转则交由ITTAGE来进行预测。ITTAGE
ITTAGE概述源代码:/xiangshan/frontend/ITTAGE.scalaITTAGE是xiangshan中用于预测间接跳转(jalr)跳转目标地址的预测器。如果是基于函数返回的jalr,xiangshan规定由RAS来进行预测,其他的间接跳转则交由ITTAGE来进行预测。ITTAGE
FTB概述源代码:/xiangshan/frontend/FTB.scala参数FTB的基本参数如下所示: trait FTBParams extends HasXSParameter with HasBPUConst { val numEntries = FtbSize // 2
概述源代码:/xiangshan/frontend/SC.scalaSC实现为一个trait(特征),TAGE通过继承这个特征(实现多继承)来启用SC相关的功能。参数// SCNTables = 4// SCNRows = 512// SCCtrBits = 6// SCHistLens = Seq
概述源代码:/xiangshan/frontend/Tage.scalaXiangShan的TAGE采用2拍延迟的TAGE主预测输出,3拍延迟的SC来校正TAGE主预测输出的结构。TAGE主预测器每周期预测2个Br的结果(numBr=2)。参数trait TageParams extends Has
XiangShan是中科院计算所的高性能RISC-V微处理器项目,基于其开源的特性,可以从中一窥高性能微处理器的一些设计理念以及思路等。本系列的文章将从XiangShan开源的微处理器核的前端(除译码器外)代码出发,尝试浅析其分支预测、取指以及指令缓存的微架构设计等。更多关于XiangShan的信息