8 ms·
> This annoyed them and they decided to make a new CPU that no one would want to use. I thought this was sarcasm, but the tone continues throughout the article
by SavantIdiot 5y ago
> This annoyed them and they decided to make a new CPU that no one would want to use.
I thought this was sarcasm, but the tone continues throughout the article. Are people this really painfully misinformed? The ISA was brilliant. The execution, not so much. It was a far more scalable architecture, completely "clean" from x86 baggage (I'm talking about the ISA, not the thermal issues Madison and McKinley had with the floating point units). It even ran Windows and had two compilers (one from HP and one from Intel), and it decoded x86!
Then again, people were also hot on Transmeta at the time, so perhaps the author is confusing things.
> better known for the good designs you killed
Like?
Intel sat on Yamhill (64b "star-T" for x86) for a year, and when I was brought on, the project had issues in both instruction fetch and execution-unit area. It was not a good design, and was not ready because it was cobbled together at the last minute. Quite literally. AMD beat Intel to both 64-bit and 1 GHz, and we all (architects) knew it.
Looking at it one way, Itanium was a product that was ahead of its time. In 1995~97 Google didn't even exist yet, Amazon was just getting started. Server farms with their own power plants were something reserved for investment banks as redundant backup, US eCommerce was well under $1Billion/yr . I'm 100% certain that if Intel had brought the yields up on Itanium and taken an early loss to build market share, it would have been the dominant architecture in integer cloud today.
But in reality they had to beat AMD, because AMD was going after their cash cow (commodity x86) with a vengeance, and winning. Couldn't fight two wars at once, and thus, Itanium withered.
So looking at it another way, one could argue Itanium was too late because the internet scaled out fast in late 1990, and Itanium was caught with its pants down, so x86 filled in the gap.
Either way, Arm is more likely to take away server market from x86 than IA64, going forward, but that's a not a sure thing.
I could (30% chance) see VLIW making a comeback if capacity weren't such a problem, it is far more suited to e-commerce cloud instruction mixes, and with hypervisors and docker-like virtualization so much faster than VM, it could happen.
- chasil 5y agoI know that I don't have sufficient engineering background to debate you, but still I see ARM's Johnny-come-lately 64-bit implementation that has gone farther up and down than would ever have been possible for Itanium (Fujitsu with the top supercomputer, and any 64-bit phone illustrate the point). So I am drawn to Linus Torvald's commentary on IA64: "IA64 made all the mistakes anybody else did, and threw out all the good parts of the x86 because people thought those parts were ugly. They aren't ugly, they're the "charming oddity" that makes it do well. Look at them the right way and you realize that a lot of the grottyness is exactly _why_ the x86 works so well (yeah, and the fact that they are everywhere ;)." https://yarchive.net/comp/linux/x86.html https://yarchive.net/comp/linux/x86.html
- SavantIdiot 5y agoI wish I knew which parts Linus was talking about. Segmented addressing? Can't be that. Assymetric registers? Probably not that. Vitual 86 mode? Meh. Variable instruction length? God I hope not. Begs the question: what oddities? I think this is the most astute statement he makes: "yeah, and the fact that they are everywhere." > ARM's Johnny-come-lately 64-bit implementation that has gone farther up and down What do you mean? Arm is primarily embedded IP, where 64b only recently has come en vogue (unless you mean A5/A7?, I'm talking Cortex-M). Arm competitors are really Renesas, Synopsys, TI, and a number of Chinese chips, and 64b isn't a prioirity in most of that space. Not defending anyone, just not sure what you mean.
- chasil 5y agoCould Itanium have done this? https://www.arm.com/blogs/blueprint/fujitsu-a64fx-arm https://www.arm.com/blogs/blueprint/fujitsu-a64fx-arm
- SavantIdiot 5y agoProbably not: this is a boutique machine defined with an esoteric architecture, not a general-purpose integer computer for the cloud, which I was what I was talking about in my grand-parent-comment.
- chasil 5y agoPerhaps the key point is the era of design. The P4 was built with an enormous pipeline (~20 stage?) in the hopes of reaching a 10ghz goal that was never going to happen. The Itanium was designed a decade before, programmed for parallelism that was also never going to happen. The M1 is not an esoteric machine, and if Apple had bundled an Itanium of equal computational ability, all of those NOPs would burn a hole through the casing. ARM's 64-bit implementation is obviously something special, esoteric or not it is more powerful than anything produced by Intel in several measures.
- 5y ago
- kstrauser 5y ago> I thought this was sarcasm, but the tone continues throughout the article. It was sarcasm, but the tone continued because I think Itanium was an enormous waste of time and other resources. > The ISA was brilliant. I completely disagree. The ISA depended on enormous leaps in compiler technology in order to make it useful. However pretty it may have been, it couldn't be implemented in a performant way. It'd take ugly-but-practical over pretty-but-impossible any day of the week, especially when I get to use languages that abstract the ugliness away from me.
- SavantIdiot 5y agoI think that statement suffers from hindsight bias: x86 is great now because of enormous leaps in compiler technology to work. Yes, compilers do need to evolve with CPUs, they don't just grow on trees! Put another way: given a choice between stuffing an electric engine in a Ford Fiesta, and a Tesla, Itanium could have been the Tesla in the hands of another company, but the market went after the Fiesta retrofit because it was here-and-now, not coming-soon. EDIT: changed from "you" to "that statement"; added analogy.
- kstrauser 5y agoI don't believe that's historically accurate at all. x86 compiler performance has been good enough for a long, long time. Yes, newer versions are clearly a lot better than ones from the mid 90s, but the performance improvements would be described in terms of percentages, not orders of magnitude. IA-64 required a complete rethinking of compiler design to solve NP-hard problems on a large scale just to get passable performance. Translating C to ASM that keeps execution units busy is radically different on IA-64 than pretty much anything else.
- SavantIdiot 5y ago> x86 compiler performance has been good enough for a long, long time. > NP-hard problems on a large scale just to get passable performance. First, it is hard to refute a claim, or find meaning in it, when you start using terms like "passable" and "good enough". Second, I think this overstates the need for optimal scheduling because Itanium SPEC performance was "passable" out of the gate.