Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Dec 1997 01:00:25 -0800 (PST)
From:      Jason Evans <jasone@canonware.com>
To:        Greg Lehey <grog@lemis.com>
Cc:        Ric Flinn <rmf@radiks.net>, freebsd-sparc@FreeBSD.ORG
Subject:   Re: Register windowing
Message-ID:  <Pine.BSF.3.96.971221003424.367P-100000@mozart.canonware.com>
In-Reply-To: <19971221184451.62453@lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 21 Dec 1997, Greg Lehey wrote:
> I think this sums up the issues pretty nicely.  I suppose the only
> point to be made is that the number of windows in the register file
> varies greatly from one processor to another.  Considering the
> interest in older processors, the code should be flexible enough to
> potentially be able to choose different strategies dependent on the
> processor.

Some definitions gleaned from manuals (used in this context):

register window (or simply window) - An individual group of 24 registers
representing the state of a stack frame, as saved when preparing for a
function call.

register file - The full set of integer registers available to user code.

I can't find a term for a group of more than one register window.  Is
there one?  You refer to the register file, but I think you're actually
referring to this.  The manuals refer to NWINDOWS as being a constant
defined by each implementation, but that doesn't work very well for
discussions.

The sun4u processor has 8 register windows.  Anyone know what the sun4m,
sun4c, etc. has?  If we use a simple solution such as trying to keep half
of the windows full, the code won't need to be changed for each processor
other than a few constants, but still, it would be good to know for future
reference. 

Jason

Jason Evans
Email: [jasone@canonware.com]
Home phone: [(650) 856-8204]
Work phone: [(408) 774-8007]
Quote: ["Invention is 1% inspiration, 99% perspiration" - Thomas Edison]




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.971221003424.367P-100000>