Arthur T Knackerbracket has processed the following story:
Intel had a solution ready to add 64-bit features to the "classic" 32-bit x86 ISA, but the company chose to push forward with the Itanium operation instead. A new snippet of technology history has recently emerged from a year-old Quora discussion. Intel's former "chief x86 architect," Bob Colwell, provides a fascinating tidbit of previously unknown information.
AMD engineer Phil Park was researching the history behind the x86-64 transition, when he discovered the conversation. Colwell revealed that Intel had an inactive internal version of the x86-64 ISA embedded in Pentium 4 chips. The company's management forced the engineering team to "fuse off" the features.
The functionality was there, but users could not access it. Intel decided to focus on the 64-bit native architecture developed for Itanium instead of x86-64. The company felt that a 64-bit Pentium 4 would have damaged Itanium's chances to win the PC market. Management allegedly told Colwell "not once, but twice" to stop going on about 64-bits on x86 if he wanted to keep his job.
The engineer decided to compromise, leaving the logic gates related to x86-64 features "hidden" in the hardware design. Colwell bet that Intel would need to chase after AMD and quickly implement its version of the x86-64 ISA, and he was right. Itanium CPUs had no native backward compatibility with 16-bit and 32-bit x86 software, so the architecture was one of the worst commercial (and technology) failures in Intel's history.
[...] Bob Colwell made significant contributions to Intel's history, managing the development of popular PC CPUs such as Pentium Pro, Pentium II, Pentium III, and Pentium 4 before retiring in 2000. Meanwhile, today's x86 chips marketed by Intel and AMD still retain full backward hardware compatibility with nearly every program developed for the x86 architecture.
(Score: 3, Interesting) by RamiK on Friday October 25, @12:17AM (11 children)
( https://en.wikipedia.org/wiki/Pentium_4 [wikipedia.org] )
For reference, although AMD introduced the x86-64 ISA around '99, they only released their first chip a year before Intel:
( https://en.wikipedia.org/wiki/X86-64 [wikipedia.org] )
So, either way Intel wouldn't have released before AMD. Well, unless they had the feature available and fused before the Prescotts... But that seems rather far fetched. No?
compiling...
(Score: 5, Insightful) by owl on Friday October 25, @03:07AM (3 children)
It's possible they did have it. But given that at the time Intel was neck deep in the Itanium swamp as the official Intel blessed path to 64-bit processing, it seems unlikely. And if they secretly did, keeping the feature fused off would have been to prevent their x86 chips from (in their mind) cannibalizing sales of the Itanium.
What is more likely is that up until AMD released the x86-64 spec, Intel had zero plans to move x86 to 64-bit (as that path was supposed to be by going Itanium) and they may have stuffed it into a P4 revision after the spec. was released but left it fused off (again, to prevent cannibalizing Itanium) while they waited to see what the reaction would be when AMD did finally release a chip. I.e., cover their bets. If 64 bit x86 took off, they could "unfuse" in a new P4 release and be able to offer a chip. If 64 bit x86 fell like a lead balloon, they could just leave it fused off and no one would be the wiser, and Itanium would still be the official "64-bit path".
(Score: 3, Touché) by JoeMerchant on Friday October 25, @11:37AM (2 children)
I realize that 640k is all the RAM that normal users will ever need, but by the early 2000s it was pretty obvious, even without video applications, that 32 bits of address space was only sufficient for normal users because of the (falling) current price of RAM.
Like 16 bits before it, once more than 2GB of RAM came down to mainstream price points, the pressure to expand 32 bit addressing would soon become overwhelming.
At least we didn't have to endure a 286 like paged addressing mode as an interim step on the way from 32 to 64 bits.
🌻🌻 [google.com]
(Score: 2) by owl on Saturday October 26, @09:04PM (1 child)
All true. But at the time Intel very much desperately wanted you to migrate to Itanium for 64-biit addressing in a CPU. If they (Intel) had wanted to expand x86 to 64-bits they could easily have done so themselves, likely well before AMD released their extension (which is the one we are all using today in x86 powered systems). Intel had no difficulty going from 8-bit (8080) to 16-bit (8086) to 32-bit (80386). They certainly could have made a 32->64 bit jump on their own.
But Itanium was what was distracting them at the time (just like the iAPX432 before distracted them and is why there was even a 8086 in the first place). And that rabid attachment to Itanium let AMD one-up them in producing a 64-bit x86 extension.
(Score: 2) by JoeMerchant on Saturday October 26, @09:49PM
I think I was intel marketing hubris, trying to segment 32/64 as a consumer/professional demarcation.
Problem is the consumer market is spear headed by budget performance enthusiasts who weren't going to settle for 32 bit for long.
I wonder how much of the "32 bit is faster" press flak at the time was intel backed to push that concept
🌻🌻 [google.com]
(Score: 3, Interesting) by turgid on Friday October 25, @10:38AM (6 children)
In 2001 I sat in a very interesting lecture by a guy from SuSE talking about the AMD64 architecture and porting Linux to it. He had a demo of Linux running in an emulator running on a 32-bit Athlon. It was pretty obvious that AMD64 was a very nice, rational extension to x86 and that by comparison itanium was ludicrous.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 3, Insightful) by RamiK on Friday October 25, @12:44PM (5 children)
I've been following RISC-V profile ratification process long and close enough that I can tell you with some certainty that there's years apart between running linux in an emulator of a planned modification to an ISA and running it on actual hardware even nowadays. And that's years following the actual hardware design and verification...
Incidentally, RVA23 just got ratified and Google stated it will be the baseline ABI requirement for Android: https://www.edn.com/rva23-profile-ratification-bolsters-risc-v-software-ecosystem/ [edn.com]
compiling...
(Score: 3, Touché) by turgid on Friday October 25, @01:17PM
By 2001 they had gcc, binutils, the kernel, GNU user land and an X server running.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 3, Interesting) by turgid on Friday October 25, @01:23PM (3 children)
And by 2003 the Opteron was on the market. By the way, the Solaris port took six weeks.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 2) by RamiK on Friday October 25, @02:53PM (2 children)
When AMD announced the ISA extension in '99, they already had emulators and a softcore in a simulator. So, that's two years to finish the compiler port and port the kernel and another year to tape out. And that's when you're starting out with working emulators and sims. Intel started with as spec sheet.
So, I stand by my first statement: Intel probably couldn't have released before AMD.
compiling...
(Score: 2) by turgid on Friday October 25, @02:58PM
Well, AMD came up with it, so I'd expect them to have been first. Remember Yamhill and Intel Core?
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 2) by owl on Saturday October 26, @09:11PM
Had Intel not been distracted by Itanium and instead focused on "extending x86 to 64-bit' they very likely could have beat AMD to the punch. As it was they poured a huge amount of engineering into Itanium, and from an outside observation viewpoint, it appeared that they viewed 32-bit x86 as "the end of the road" for the x86 lineage at the time.
Imagine if all the engineering that was poured into Itanium had instead been poured into "lets extend x86 to 64 bits". Had they done so, then likely the only reason they would have been beaten by AMD at the time would have been from simply waiting too late to start the work. But if they'd started an "x86 extension" at the same time they started Itanium, and instead of Itanium, it is much more likely they would have had the design, and chips, out before AMD's spec. appeared.
Of course they did not do this, so this is all just speculation. But a lot could have been done on an x86 extension if the Itanium effort had instead been "lets extend x86 yet again".