Ok, I see your point, but I'm considering the "max" number of BP accesses.

Regards,

Fernando

--
Fernando A. Endo, PhD student and researcher

Université de Grenoble, UJF
France



2013/4/25 Arthur Perais <[email protected]>

>  Isn't it rather "fetchWidth or until the first taken branch"?
>
> Le 25/04/2013 11:10, Fernando Endo a écrit :
>
> Hello,
>
>  I'm using the stable gem5 (jun 2012).
>
>  Taking a look at the DefaultFetch<Impl>::fetch method
> (src/cpu/o3/fetch_impl.hh), I found that the branch predictor can be
> accessed more than once per cycle (function lookupAndUpdateNextPC(.)):
>
>  // Loop through instruction memory from the cache.
> // Keep issuing while fetchWidth is available and branch is not
> // predicted taken
> while (numInst < fetchWidth && !predictedBranch) {
>
>    ...
>
>    // Extract as many instructions and/or microops as we can from
>   // the memory we've processed so far.
>   do {
>      ...
>     predictedBranch |= lookupAndUpdateNextPC(instruction, nextPC);
>     ...
>   } while ((curMacroop || decoder[tid]->instReady()) && numInst <
> fetchWidth);
>
>    ...
> }
>
>  So, it seems for me that the max number of accesses per fetch tick is
> equal the fetchWidth = 3. Is it or I'm missing something?
>
>  Considering fetchToDecodeDelay=3, the number of branch predictor acesses
> per cycle is exactly 1.
>
>  Thanks for your help,
>
> --
> Fernando A. Endo, PhD student and researcher
>
> Université de Grenoble, UJF
> France
>
>
>
> _______________________________________________
> gem5-users mailing 
> [email protected]http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
>
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to