Moving data in/out of memory on a Sparc

Matt Goheen matt at srs.uucp
Fri Aug 4 04:28:47 AEST 1989


I sent this to SunSpots a few days ago, but comp.sys.sun has been
a bit quiet lately, so I'll try again here...

-----
Put simply, what is the FASTEST way to move data in/out of a Sparc chip's
registers?

Put complexly and in much detail:
    We need to fill as many registers as are available with 32 bit
    integers from memory.  The data in memory can be laid out in
    whatever way is necessary to speed access (most likely
    contiguously but perhaps not).  From my limited experience with
    Sparc assembly, it would seem that on the 4/110, there are 8
    global, 8 local, 8 input and 8 output registers.  Can we use
    them all from an assembly routine as long as we restore the
    necessary ones before we return?  It looks to me that loading
    double words into register pairs using inline code is the
    fastest method (using the ldd instruction), am I wrong (probably)?
    This would be for a 4/110, would anything change if it were for
    a Sparcstation (different memory subsystem)?  How about other
    Sun Sparc systems?

Thanks to any and all respondents, your assistance is greatly appreciated,

-- 
- uucp:		{rutgers,ames}!rochester!srs!matt	Matt Goheen 	-
- internet:	matt at srs.uucp OR matt%srs.uucp at harvard.harvard.edu	-
- 	"We had some good machines, but they don't work no more."	-



More information about the Comp.unix.wizards mailing list