Hi all,

*for (i = 0; i < 1000; i++) {*
*      j = j + A[ i ]*
*}*

Suppose such a loop program is executed on gem5 (single-core execution,
with O3 CU model). In that case, the memory hierarchy gets to see only one
access at a time, e.g. only after A[ k ] is completed, A [ k + 1 ] access
is sent to the memory hierarchy. Whereas, if the loop is unrolled (on i),
multiple memory accesses are seen simultaneously. Why is that so? The
memory loads could be serviced independently (even without unrolling the
loop), so why is gem5 taking such a conservative approach?

Any form of help/suggestion is highly appreciated.

Thanks and regards,
Aritra Bagchi
Research Scholar,
Department of Computer Science and Engineering,
Indian Institute of Technology Delhi
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to