On Tue, Apr 28, 2009 at 1:19 PM, nathan binkert <n...@binkert.org> wrote:

> >> 2) You split the translation if the address crosses blocks.  It seems
> >> that it'd be better to check to see if the access crosses pages, not
> >> blocks to save the extra work.
> >
> > I was told I should use the peer block size because otherwise the peer
> > would get upset. I have no problem with adjusting it to whatever size
> > works.
> Well, I guess it depends if you treat split translations separately
> from split caches.  I don't know the code well enough, but you could
> have one translation that required the cache accesses be split.  I
> don't know how the translation code fits into the flow well enough to
> make a determination on this.
>

I don't see much benefit in doing the split twice (once for page crossings
and a second time for cache line crossings), though if there was a way to
isolate the bulk of the code in a single function that gets called twice it
wouldn't be too bad.  There is some merit in only calling the TLB once on a
single-page cache-line-split transaction though, particularly because
calling it twice in this case will make your TLB access and hit rates
artificially high.  Doing two separate split checks might be the easiest way
of doing this, or there could be a separate test on cache splits that copies
the translation from one request to the other instead of calling the TLB a
second time if the two accesses are on the same page.

Steve
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to