Register Window with Appropriate Window
Integer Unit: Register Window
- When a procedure called, the register window shifts by sixteen registers, hiding the old input registers and old local registers and making the old output registers the new input registers.
- Moreover, Input registers: arguments passed to a function
- Local registers: to store any local data.
- Also, Output registers: When calling a function, the programmer puts his argument in these registers.
Advantage: Register Window
- Make very fast procedure calls as they avoid the need to save a processor’s current in memory, further reducing off-chip traffic.
- Also, Instead, the state variables held in the current window, and the next window is opened for the new procedure.
- A refinement on this idea in that the input and output registers of adjacent windows overlap, allowing variables and parameters to be passed to the next process without physically moving data.
- Moreover, The additional registers hidden from view until you call a subroutine or other function. Where other processors would push parameters on a stack for the called routine to pop off, SPARC processors just “rotate” the register window to give the called routine a fresh set of registers.
- Also, The old window and the new window overlap, so that some registers shared.
Data types supported by SPARC processor
The SPARC architecture recognizes three fundamental data types:
- Signed Integer— 8, 16, 32, and 64 bits
- Unsigned Integer— 8, 16, 32, and 64 bits
- Floating-Point — 32, 64, and 128 bits
The format widths defined as:
- Byte — 8 bits
- Halfword— 16 bits
- Word/Single word — 32 bits
- Also, Tagged Word— 32 bits (30-bit value plus 2 tag bits)
- Double word— 64 bits
- Quadword— 128 bits
SPARC is “big-endian”- it stores multiple byte objects in memory with the most significant byte at the lowest address.