SPARC Architecture - muneeb-mbytes/computerArchitectureCourse GitHub Wiki
SPARC Architecture
- The SPARC is one of the example for RISC type processors. The term SPARC stands for scalable processor architecture and scalability here means that the same instruction set could be implemented in different ways with different technologies.
Some Unique Features of SPARC
Register Windows
-
Register windows, an optimization for lowering register traffic on procedure calls, are the main distinctive characteristic of SPARC. Every procedure call allocates a new register from one of several banks of registers that are in use.
-
With eight registers used for each of the globals, locals, incoming parameters, and outgoing parameters, SPARC can have two to 32 windows. (An implementation of SPARC can have as few as 40 physical registers and as many as 520, although most have 128 to 136, so far.) This is because each window has 16 distinct registers.
Disadvantage of Register Window
- The risk associated with register windows is that a higher register count could cause the clock rate to decrease. With regard to early implementations, this was not the case. Since 1987, numerous technologies have been developed using the SPARC architecture (with register windows) and the MIPS R2000 architecture (without). Due mostly to the fact that cache access times are faster than register access times in various implementations, the SPARC clock rate has not been lower than the MIPS clock rate for several generations.
Fast Traps
-
Version 9 of SPARC has quick trap creation support. It allows the window overflow and underflow trap handlers to be interrupted by extending the single level of traps to at least four levels. The handler is faster because of the additional levels since they eliminate the requirement for the handler to explicitly examine the code for page faults or misaligned stack pointers.
-
This multilayer handler added two new instructions to return: DONE, which does not return, and RETRY, which retries the interrupted instruction. The instruction RETURN will return from the trap in nonprivileged mode in order to allow user-level traps.
Support for LISP and Smalltalk
- Addition and subtraction are labeled as the main remaining mathematical operations. The languages LISP and Smalltalk were on the minds of the SPARC designers for a while, which had an impact on several of the features that have already been covered, such as register windows, conditional trap instructions, calls with 32-bit instruction addresses, and multiword arithmetic.
what is LISP? and Smalltalk?
- LISP is a popular programming language, that was widely used during late 1950s. It was Designed to manipulate symbolic rather than numeric data. Programming in Lisp includes the following benefits:
- Lisp provides an interactive program development environment
- Lisp allows incremental compilation
- Lisp provides automatic memory management
- Lisp is an extensible language, allowing application
- Smalltalk was also one of the most popular languages for agile software development methods, rapid application development (RAD) or prototyping, and software design patterns. The highly productive environment provided by Smalltalk platforms made them ideal for rapid, iterative development.