By "resources", I assume you are referring to each of the stage in the
out-of-order pipeline? Those stages' implementation codes (fetch, decode,
rename, etc..) are located inside the cpu/o3 directory. Branch prediction
typically is done in fetch stage, so if you look inside the fetch.hh source
code, it includes the header file of "cpu/pred/bpred_unit.hh". So if go up
one level, to the cpu/pred directory, that is where the branch predictor
implementation code is located.

As far as value predictor, I am not sure how you are going to implement it,
but it probably needs to work with or link to other stages/resources such
as iew, instruction queue, rob..

Hope this helps.

On Sat, Mar 17, 2018 at 3:44 PM, Pawan Joshi <>

> Okay, that makes sense. But isn't there a separate "resources" directory
> where I can see stuff like branch predictors implemented? I don't have any
> br. pred. in my current cpu/o3 directory.
> I wanted that as I can get a template to work with.
> Pawan
> _______________________________________________
> gem5-users mailing list
gem5-users mailing list

Reply via email to