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