This is a question I've been asking myself lately. I went down a bit of a research rabbit hole and came out with some actual appreciation for the architecture. It's basically Berkley RISC - the ORIGINAL RISC - but commercialized by Sun. But they did more than that, they actually made the ISA completely free and open source. No royalties required. And they even released most of two of their at the time high-end 64-bit CPUs under a GPL license as well, these being the UltraSPARC T1 and UltraSPARC T2. Oracle still has all the files available for download as well!
And then in 2017, something happened. Both Oracle and Fujitsu, the main companies driving SPARC, just... stopped. They released one last iteration in September, then Oracle just laid off the entire SPARC hardware design division. Oracle wanted to shift to, uh, x86? Specifically Intel's x86? The ones that are cooking themselves?
Fujitsu, meanwhile, kept going with some incremental tweaks for a few more years, but then they went "fuck all UNIX" and partnered with ARM to make ARM CPUs instead. Which is the complete and total opposite of SPARC's model. And by that I mean licensing model, as ARM is basically an old clone of Berkley RISC that is totally proprietary and made by companies that don't like it when people want to use their devices.
I've looked up the list of companies that worked with and/or made SPARC CPUs. 99% of them are defunct now, namely being gobbled up by other companies who then switched to a different architecture, usually ARM or RISC-V, and setting fire to anything legacy. All that's actually left is an aerospace firm that makes radiation-hardened CPUs for space exploration, and a group in Russia that looks like to have also switched to something else, this time an in-house ISA.
The official site for the group that oversees the ISA, SPARC International, Inc., is kind of in a sad state. The security certificates expired in May of 2024, and there has been no new activity or postings since 2020. I don't know if they're still in operation. I'm honestly considering writing them a letter and asking if everything is okay there.
So seriously, what the hell happened? It's a CPU architecture that's very mature and is just as open, if not more open, as the younger RISC-V. It has everything you would need to make free software people salivate, while also handling larger workloads than Intel's CPUs and sip power while doing so. I mean sure, the main customer was people needing high end servers, so these server CPUs would be totally overkill, like telling people to be using Threadrippers or Xeons in their desktop machines for watching YouTube and playing Fortnite. But a cut-down version should make total sense! Hell, if you were to take the UltraSPARC T2, scale it down to one of TSMC's more recent production nodes to get more performance out of the design, and only provide 4 cores, that's more threads than an Intel Core i9 14900. And people are just, abandoning this?!
What the hell happened?
EDIT: Okay I'm editing this into the post because this is something I forgot to mention that really adds to the mystery. In terms of other open source implementations, there was also the S1 Core. It only had a single core from the UltraSPARC T1, but was much more simpler and had tooling that could be used from regular Linux instead of Solaris. But it's been vaporized from the internet. The official site now redirects to a completely unrelated RISC-V project, and nearly every mirror of the original project has bitrotted away. All that remains is an archive.org snapshot...
Better get around to making this follow-up, now that Cohost is on a time limit.
Responding to some of the excellent comments!
the whispers in the wind say that the viability of linux+openbsd server ecosystems slowly burned through closed source unix business models. there wasnt any ROI left in solaris/sparc so oracle moved thousands of those engineers to the linux group before laying off the rest
Okay yeah I can see that for Solaris, but even Oracle was pushing hardcore for mainline Linux support on SPARC. And they got it! Linux supports all of the SPARC CPUs fully, you just need to compile everything for it. But the hardware being pricey didn't help, hence why I was suggesting that lower-end models be created to better foster an ecosystem.
I don't know if you do podcasts, but in case you do, and haven't already listened to these, you might want to put these in your ears:
- the Oxide and Friends episode “A Requiem for SPARC”, featuring a number of former Sun staffers (none of whom worked directly on the silicon, mind)
- the Microarch Club interview with Robert Garner, one of the engineers who worked on the SPARC ISA at Sun
I'll have to give these a listen some day!
SPARC is fascinating to me, and I've struggled to get a clear picture of exactly why it failed. I think a lot of it is economics, as @sudocurse points out: Sun continued to make big, expensive workstations and servers while the scrappy, post-dot-com-bust startups realized that x86 parts out of dumpsters might only be half as reliable, but cost a quarter as much, so they could buy three times as many and still come out ahead on both cost and total compute. Like, the E10k was a technical monster – a terrifying, towering engineering achievement, in both physical and conceptual magnitude – but in retrospect, everyone who ever deployed one was arguably negligent in their fiduciary responsibility to their employer. (I'm gonna catch heat for that remark – I know that the software ecosystem for managing anything other than big-iron Unix was severely deficient at the time, and that it was likely severely impractical to run commodity x86 at scale prior to, say, 2003 or 2004. Genuinely, I'd love to learn more about operating the systems of this era; please feel free to share material.)
The big reason I was looking at other architectures was because x86 is becoming too unreliable, what with Intel's CPUs cooking themselves and all. Cost cost cost is a big factor, very much well understood.
I also get the impression that the architecture had some significant technical deficiencies that limited its scalability in comparison with x86. In particular, I don't think SPARC ever got any form of speculative execution, and every compiler or kernel engineer who ever talks about SPARC remarks on how complex register windows made everything.
Okay, so I had to look deeper into this because something wasn't connecting with me. SPARC uses overlapping windows of registers; the first 8 are global, the next 8 are the output of the previous subroutine, the next 8 are registers with a "local" scope, and the last 8 are the input to the next subroutine. The idea is that you can pass arguments to a subroutine by just having them in the output registers, and then when the subroutine is called, the view into the register space shifts so the input registers become the output registers. Then when the subroutine returns, the view shifts back and you now have your returned values without needing to eat into your global registers or push/pop the stack. This can be a bit confusing, yes... but in that case, why did these same people move to ARM? ARM has a similar, but more restrictive version of this! You need to use global registers or the stack to pass values to subroutines, because it shifts the view into the register space without any overlap! That feels a bit more constrained to me, IMHO. Though I'm only able to go by the specs for 32-bit ARM, as the docs for 64-bit ARM are a complete mess to navigate.
Now, MIPS and RISC-V go for the "make it the programmer's problem" angle by just having a huge wall of general purpose registers and expecting the programmer to know how to best use them all, which ends up making the RISC-V registers kinda confusing to me and also result in a lot of stack activity.
As for speculative execution, yes SPARC had it. It's been in Fujitsu's offerings since SPARC64 V, and Oracle added it in the SPARC T3. Unfortunately these haven't been open sourced yet...
Every once in a while I check eBay for SPARC machines and man, they do not go cheap. One day, maybe!
Yeah, the newer ones are costly! But I've seen some of the older ones go for under $200?