Subject: re: Need sparc openboot reference (fwd)
To: None <eeh@netbsd.org>
From: Kapil Chowksey <kch@kchowksey@hss.hns.com>
List: port-sparc
Date: 01/30/1999 21:05:45
On Saturday, 30 January, Eduardo E. Horvath wrote:
> > I'd wonder about the performance of using ASI's....
>
> Should be faster since they explicitly bypass the MMU and don't take TLB
> miss traps. However, the current scheme using gcc macros is not optimal
> since gcc can't do as good a job at scheduling the instructions. The best
> solution would be to modify gcc so pointers could be explicitly assocated
> with ASIs.
Bypass ASI's should be better from the cache standpoint also because
using virtual addresses pollutes an on-cpu D$ cache line. Now, we will
the hitting the E$ cache.
I think the pointer approach that you mention will hurt gcc's register
allocation because the immediate-indexed addressing modes will not be
available eg. compiler cannot generate :
ldxa %l2, [%l1 + FOO_OFFSET] ASI_BYPASS
but it will have to do
set FOO_OFFSET, %l3
ldxa %l2, [%l1 + %l3] ASI_BYPASS
--
Kapil Chowksey "Viva GNU !"
kch@kchowksey@hss.hns.com