[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] another compiler oddity
Hi Yashi,
Yasushi SHOJI wrote:
> one of my co-worker found this. in a flat funciton, accessing block
> ram is _slower_ thank dram. if you make inner loop a function, block
> ram is faster as i expected.
>
> any thoughts?
Interesting... You want to be careful with tests like this - there
could well be other factors.
AFAIK LMB/BRAM transactions are fixed at 2 cycles per access - it's
deterministic. Similarly, a cache access (hit) will also be 2 cycles.
Did you disable the instruction cache for this test? Because microblaze
cache is direct mapped, if you cross a particular power-of-two address
boundary (ie the physical cache size) you may end up thrashing the
icache, which would negatively impact the results. The fact that you
got different results with inline code vs a function call might support
this interpretation.
Also, how different were the results, and how repeatable?
Cheers,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/