Re: [gem5-users] Adding a new resource
Yes, that makes it clear now. Thanks a lot for your help! Pawan Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin On Sat, Mar 17, 2018 at 11:00 PM, Tariq Azmy wrote: > 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 > wrote: > >> 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@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> > > > ___ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] Adding a new resource
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 wrote: > 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@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] Adding a new resource
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@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] Adding a new resource
Hello, if I clearly understood your question you can do that in the SConscript file in the o3 folder. For any new structure you want to add create the equivalent files .hh/.cc (and maybe _impl.hh) and make this structure compile by including a corespondent line in the SConscript file. And then normally use it within the other structures in the pipeline. Hope it helps. -- Kleovoulos Kalaitzidis Doctorant - Équipe PACAP Centre de recherche INRIA Rennes - Bretagne Atlantique Bâtiment 12E, Bureau E321, Campus de Beaulieu, 35042 Rennes Cedex, France - Original Message - > From: "Pawan Joshi" > To: gem5-users@gem5.org > Sent: Friday, March 16, 2018 6:54:33 PM > Subject: [gem5-users] Adding a new resource > Hello all > I am working on adding a new value predictor structure in the O3 CPU, but > cannot seem to find the 'resources' directory where I have to code in my > model. Where will this directory be - src/cpu/o3 doesn't have it. > Thanks > Pawan > ___ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users