Reputation:
I am currently studying computer science, and one of my required courses covers "computer organization and architecture" - or, in other words, an introduction to assembly language. This particular course uses the SPARC language, because the department machines are only compatible with SPARC (or so I've heard).
I have heard a little about assembly languages, and I know that there are different types like x86, ARM, and MIPS. My question is: what type of assembly language is SPARC? (Or is SPARC it's own type of assembly language?) What makes SPARC different from, say, the assembly language I might use on my desktop computer at home that runs Windows with an Intel processor? Finally, just because I am curious, is it valuable to know SPARC by itself, or should I perhaps look into learning other assembly languages after I understand the basics?
Upvotes: 5
Views: 955
Reputation: 4877
SPARC is an architecture, not a language — it is, specifically, the architecture used by Sun Microsystems' high-performance server CPUs. Because it is a fundamentally different architecture from those used by Intel, et al. (e.g., x86), it has a different instruction set, and as such, a different assembly language.
Different architectures are better at doing different things, but nowadays, there's a lot of similarity among modern processors. SPARC has a history of being very good at doing "server-y" things, one reason for that being that it was one of the first to implement some very powerful concurrency primitives that make high-performing, non-blocking data structures possible.
While SPARC assembly might not be the most useful skill unless you explicitly plan on building high-performance code for Sun machines, it's always good to be exposed to new technologies!
Upvotes: 7