←back to thread

331 points giuliomagnifico | 2 comments | | HN request time: 0s | source
Show context
bombcar ◴[] No.45377061[source]
Youngsters today don't remember it; x86 was fucking dead according to the press; it really wasn't until Athlon 64 came out (which gave a huge bump to Linux as it was one of the first OSes to fully support it - one of the reasons I went to Gentoo early on was to get that sweet 64 bit compilation!) that everyone started to admit the Itanium was a turd.

The key to the whole thing was that it was a great 32 bit processor; the 64 bit stuff was gravy for many, later.

Apple did something similar with its CPU changes - now three - they only swap when the old software runs better on the new chip even if emulated than it did on the old.

AMD64 was also well thought out; it wasn't just a simple "have two more bytes" slapped on 32 bit. Doubling the number of general purpose registers was noticeable - you took a performance hit going to 64 bit early on because all the memory addresses were wider, but the extra registers usually more than made up for it.

This is also where the NX bit entered.

replies(4): >>45377177 #>>45377584 #>>45377642 #>>45377870 #
drob518 ◴[] No.45377177[source]
Itanium wasn’t a turd. It was just not compatible with x86. And that was enough to sink it.
replies(10): >>45377228 #>>45377279 #>>45377290 #>>45377368 #>>45377474 #>>45377560 #>>45377649 #>>45378005 #>>45378555 #>>45379366 #
eej71 ◴[] No.45377368[source]
Itanium was mostly a turd because it pushed so many optimization issues onto the compiler.
replies(2): >>45377786 #>>45388704 #
1. CoastalCoder ◴[] No.45377786[source]
IIRC, wasn't part of the issue that compile-time instruction scheduling was a poor match with speculative execution and/or hardware-based branch prediction?

I.e., the compiler had no access to information that's only revealed at runtime?

replies(1): >>45379932 #
2. duskwuff ◴[] No.45379932[source]
Yes, absolutely. Itanium was designed with the expectation that memory speed/latency would keep pace with CPUs - it didn't.