Without that who knows what we’d be running? x86 doesn’t have to be the best, it just has to be the cheapest for the performance. Intel probably doesn’t realize just how lucky they are that IBM insisted on a second source and they licensed the architecture. Because there is no off the shelf solution for any of these things with a competitive second source they will always struggle to gain market share because the costs will always be higher for the performance than the x86-64 world is. That said MIPS, PPC, Alpha AXP, and even to an extent ARM/ARM64 all face the same issue: cost (and compatibility). While I understand the economics of why the Alpha situation happened (and would always have happened for the same reason MIPs and PPC went away) there will always be a part of me that wonders “what could have been” if the 64bit version of NT had hit the market instead of the 32bit version and the benchmarks really did justify the expense. I’m just guessing about what happened afterward because nobody informed me that they had gotten Pinball working and added it back. Whatever the problem was, somebody fixed it, and then they went back and re-tested Pinball with this fix, and everything worked great, so they put Pinball back. Or maybe there was a compiler bug, and the compiler team fixed that. My theory as to what happened is that some time after I removed Pinball from the product, the C runtime team realized that they had a compatibility bug in the way they set the default rounding mode, and they fixed it. My guess is that it had to do with the default rounding mode established by the C runtime library. NCommander did find a collision detection bug on the Itanium, although that bug was nowhere as severe as the one that existed on the Alpha AXP. And that’s the system that had the broken collision detector. I could test my 64-bit port on a physical Alpha AXP system to validate that it was successful. The team set to work, and we had 64-bit Windows running on physical Alpha AXP hardware long before we had any physical Itanium hardware. The hard part was going from 32-bit to 64-bit. Once you got a 64-bit version of Windows working for the Alpha AXP, it should be a comparatively small amount of additional work to port it to Itanium. The assumption was somewhat validated by experience: The 32-bit Windows code base had been ported to many 32-bit processors, with relatively few architecture-specific issues. The assumption is that most of the effort in porting Windows to the Itanium is in the 32-bit to 64-bit transition, and not in dealing with quirks of the specific 64-bit processor you are porting to. But the Alpha AXP did have the advantage of existing in physical form, so the system could finish booting before the heat death of the universe. Now, 64-bit Windows on the Alpha AXP would never ship. Solution: Port the Alpha AXP version of 32-bit Windows to 64-bit Windows. It’s just that 32-bit Windows used only the 32-bit subset. The Alpha AXP is internally a 64-bit processor.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |