I wonder how Itanium is not affected at all. What does IA-64 different compared to the other modern architectures? AFAIK Itanium is also a RISC design. Is it because predictive branches have to be known when compiling the code beforehand, hence it isn’t relying on speculation in the same manner as the other designs?
Also I wonder how AMD Zen Memory Encryption could be used to harden a system against this type of vulnerability and if it would have a negative performance impact. But I think this is something the future will show… I fear it won’t work because SME/SEV is made for virtualization, not for native running systems, hence it would cause other issues, meaning incompatibilities, meaning instabilities and performance loss… Nightmare…
The Itanium 2 processor designers took advantage of explicit parallelism to design an in-order, six-instruction-issue, parallel-execution pipeline.
These structures include the instruction buffer, which decouples the front end, where instruction fetch and branch prediction occur, from the back end, where instructions are dispersed and executed.
So, in-order execution but with branch prediction; I’m forgetting if out-of-order is needed for Spectre/Meltdown or not, but the branch prediction sounds like its normal, the “explicit parallelism” is what needs to be compiled for and takes the place of out-of-order execution.
So, in theory, Intel could try to expand on the Itanium 2 architecture to create a modern Spectre/Meltdown proof CPU?
I really wonder how these issues are going to effect the mainstream CPU market. Probably will effect server CPU’s first I imagine, but maybe other CPU companies might take advantage of this and somehow make it into home PC’s again, like Texas Instruments maybe?
I just hope they make them compatible with LGA 1151 sockets if they do decide to go that route. It would really suck to have to replace both the CPU and the motherboard on my new desktop
According to what Eben Upton wrote (here) in order to explain why the Raspberry Pi is not affected, out-of-order execution is part of the problem, so my strong guess is that Spectre doesn’t work when things are done in-order.
I had no idea that the Itanium architecture aka IA-64 is an in-order design… Again, thanks.
Funny this thread, when I first heard about Spectre I thought “what ISN’T vulnerable…”
You’ve missed Ultrasparc III and III CU.
Of all the Sparc processors listed, I think these would be the closest to the modern desktop speed wise. When I replaced a Sun Blade 2000 (with two 1.0GHz US III CUs) with an AMD x2 4800+ back in the day, I thought I would be in a treat by the benchmarks. I was disappointed, the AMD didn’t feel appreciably faster with Linux using modern applications and in a lot of cases was significantly slower.
My experience with the T1 Ultrasparc processors is that they were very, very slow for single threaded applications. (These and later ones were directed towards heavily-threaded server applications.)
I would categorize Ultrasparc II somewhere between “filthy old stuff” and “new enough”.
I found a 730 pages spec but it’s not exactly something to go through in an afternoon.
There’s also a US-III vs IA64 comparison.
As far as I understand from a quick read the US-III is an in-order superscalar microprocessor that uses only speculative loads and static branch prediction. The execution units and queue are also quite limited.
If that is all, it should render it immune to this problem.
Maybe find something somewhere on page 450 (Mispredicted Branches) or somewhere in that enormous PDF.
Maybe you can provide some more input, but I’m not well enough acquainted with UltraSPARC to be able to say for certain. (Kind of winging it here )
I haven’t heard from authority if the Sun Sparc processors are immune to spectre, neither Oracle or Fujitsu have spoken up.
Including Sparc in a conversation like this is fun, but academic. I like Sun hardware because it is all so over-engineered. There are definite drawbacks to actually using Sun hardware.
Well, at least my Atom 330 based pfSense box is safe. That’s about all the good news for me, though. Most of my current in-use stuff is almost certainly affected.
I have these systems available to test if they’d be useful:
From what I’ve read around so far, pretty much most of the mainstream Intel CPU’s post Pentium 1 are vulnerable, so any i3’s, i5’s, and i7’s (Which sucks cuz I just built a PC with a 6770k i7). Idk about the Xeon’s, Athlon’s, or Phenom’s though.
And the A8 should just be as well since it’s ARM.