By: Gabriele Svelto (gabriele.svelto.delete@this.gmail.com), September 19, 2018 1:39 am
Room: Moderated Discussions
Travis Downs (travis.downs.delete@this.gmail.com) on September 18, 2018 3:08 pm wrote:
> Also, as Wilco points out, once you start mixing latencies things become trickier, like both simple and
> complex addressing in the same loop: things might not work out well due to conflicts in the pipeline:
> including inside the load EUs and then for writeback/bypass etc. So if the opposite of "pointer chasing"
> is "load throughput" then maybe you are better of sticking with 5-cycle loads all the time.
Having variable latencies also makes your scheduler more complex so it must be worth it.
> Also, as Wilco points out, once you start mixing latencies things become trickier, like both simple and
> complex addressing in the same loop: things might not work out well due to conflicts in the pipeline:
> including inside the load EUs and then for writeback/bypass etc. So if the opposite of "pointer chasing"
> is "load throughput" then maybe you are better of sticking with 5-cycle loads all the time.
Having variable latencies also makes your scheduler more complex so it must be worth it.