10 ms·
Athlon 64: How AMD turned the tables on Intel
- txdv 1y agoI remember my Athlon 64 machine. The last one to run Windows XP.
- nrb 1y agoCore memories for me were my pc builds for the Athlon Thunderbird and later the Athlon 64 FX-60. What an experience it was to fire those machines up and feel the absolutely gigantic performance improvements.
- whalesalad 1y agoI had a Soltek socket 754 build with chrome OCZ memory and a 9800 pro that was flashed to XT. I loved that the motherboard was black/purple. Makes me want to play need for speed underground and drink some bawls energy
- bombcar 1y agoYoungsters 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.
- drob518 1y agoItanium wasn’t a turd. It was just not compatible with x86. And that was enough to sink it.
- bombcar 1y agoIIRC it didn't even do great against POWER and other bespoke OS/Chip combos, though it did way better there than generic x86.
- p_l 1y agoWith ex-Digital customers running OpenVMS, they held onto last-generation Alpha machines because they were substantially faster than the new Itanium ones in all practical uses. This is also why HP was finally forced to resurrect the nearly-complete EV7 chips
- philipkglass 1y agoI used it for numerical simulations and it was very fast there. But on my workstation many common programs like "grep" were slower than on my cheap Athlon machine. (Both were running Red Hat Linux at the time.) I don't know how much of that was a compiler problem and how much was an architecture problem; the Itanium numerical simulation code was built with Intel's own compiler but all the system utilities were built with GNU compilers.
- fooker 1y ago>Itanium wasn’t a turd It required immense multi-year efforts from compiler teams to get passable performance with Itanium. And passable wasn't good enough.
- bombcar 1y agoWasn't the only compiler that produced code worth anything for Itanium the paid one from Intel? I seem to recall complaining about it on the GCC lists.
- deleted 1y ago[deleted]
- ndiddy 1y agoFun fact: Bob Colwell (chief architect of the Pentium Pro through Pentium 4) recently revealed that the Pentium 4 had its own 64-bit extension to x86 that would have beaten AMD64 to market by several years, but management forced him to disable it because they were worried that it would cannibalize IA64 sales. > Intel’s Pentium 4 had our own internal version of x86–64. But you could not use it: we were forced to “fuse it off”, meaning that even though the functionality was in there, it could not be exercised by a user. This was a marketing decision by Intel — they believed, probably rightly, that bringing out a new 64-bit feature in the x86 would be perceived as betting against their own native-64-bit Itanium, and might well severely damage Itanium’s chances. I was told, not once, but twice, that if I “didn’t stop yammering about the need to go 64-bits in x86 I’d be fired on the spot” and was directly ordered to take out that 64-bit stuff. https://www.quora.com/How-was-AMD-able-to-beat-Intel-in-delivering-the-first-x86-64-instruction-set-Was-Intel-too-distracted-by-the-Itanium-project-If-so-why-Shouldn-t-Intel-with-its-vast-resources-have-been-able-to-develop-both https://www.quora.com/How-was-AMD-able-to-beat-Intel-in-deli...
- wmf 1y agoIt wasn't recent; Yamhill has been known since 2002. A detailed article about this topic just came out: https://computerparkitecture.substack.com/p/the-long-mode-chronicles https://computerparkitecture.substack.com/p/the-long-mode-ch...
- kstrauser 1y ago"If you don't cannibalize yourself, someone else will." Intel has a strong history of completely mis-reading the market.
- zh3 1y agoAndy Grove, "Only the paranoid survive":- Quote: Business success contains the seeds of its own destruction. Success breeds complacency. Complacency breeds failure. Only the paranoid survive. - Andy Grove, former CEO of Intel From wikipedia: https://en.wikipedia.org/wiki/Andrew_Grove#Only_the_Paranoid_Survive https://en.wikipedia.org/wiki/Andrew_Grove#Only_the_Paranoid... Takeaway: Be paranoid about MBAs running your business.
- bigstrat2003 1y agoI remember at the time thinking it was really silly for Intel to release a 64-bit processor that broke compatibility, and was very glad AMD kept it. Years later I learned about kernel writing, and I now get why Intel tried to break with the old - the compatibility hacks piled up on x86 are truly awful. But ultimately, customers don't care about that, they just want their stuff to run.
- zokier 1y agoIt is worth noting that at the turn of the century x86 wasn't yet so utterly dominant yet. Alphas, PowerPC, MIPS, SPARC and whatnot were still very much a thing. So that is part why running x86 software was not as high priority, and maybe even compatibility with PA-RISC would have been a higher priority.
- tliltocatl 1y agoWell, according to some IA-64 was a planned flop with the whole purpose of undermining HP's supercomputer division.
- cogman10 1y agoNah, HP made bank on their superdome computers even though they had very few clients. People paid through the nose for those. I worked on IA-64 stuff in 2011, long after I thought it was dead :D. The real thing that killed the division is Oracle announcing that they would no longer support IA-64. It just so happened that like 90% of the clients using Itanium were using it for oracle DBs. But by that point HP was already trying to get people to transition to more traditional x86 servers that they were selling.
- hawflakes 1y agoThe hardware folks at HP were big into the outdoors. The story went that it was named Halfdome but customers outside the US who weren't familiar with Yosemite would ask where the other half was. https://en.wikipedia.org/wiki/Half_Dome https://en.wikipedia.org/wiki/Half_Dome
- miladyincontrol 1y agoHow AMD turned the tables on Intel? It always felt more like a tale of how Intel turned their back on x86.
- speed_spread 1y agoAt least with Itanium Intel was trying something fresh. In comparison, the Pentium 4 arch was extra bad because it had a very long pipeline to achieve high core frequencies. Branch mispredictions were thus very costly. And it was soon obvious that the process wouldn't scale much above 3Ghz without wasting humongous amounts of power, defeating the long pipeline's purpose.
- aurizon 1y agoHow many feet does Intel actually have? It seems as if they have shot themselves in 4 or 5 - is it any wonder they can hardly walk?
- wmf 1y agoWhen you have 90% market share you can afford to make a lot of mistakes.
- PaulKeeble 1y agoThey have also made a lot of successful products and come backs. While the Pentium 4 lost out to the Athlon's and their marketshare dropped they then released the Core series of CPUs and the Core 2 Duo was a huge hit and marked the beginning of the dark ages for AMD until they released Ryzen. As a company they have had long periods of dominance potted with big losses to AMD on the CPU front which they always claw back. They seem this time to be taken out by their inability to get their fabs online more than anything their competitor is doing.
- wbl 1y agoChiplets were a great move that kept yields up on aggressive process shrinks and prices low.
- panick21_ 1y agoAMD was beating the on performance before Athlon and Athlon 64 made it simply clear to everybody. Intel spent literally 8 years and many, many billions and billions of $ to do everything possible to prevent AMD from getting volume. The had so much production capacity and AMD so little, that they basically had the ability to pay every single large OEM not to use AMD. If you as company used AMD, you would instantly lose billions of $, you would be the last Intel costumer served, you wouldn't get the new chips early on and potentially much more. OEM were terrified of Intel. Because Intel and Microsoft were so dominate OEMs made terrible margin, and Intel could basically crush them. Intel used to joke that OMEs were their distributes nothing more. This was to the point where AMD offered free chips to people and they refused it. AMD had a long period of time where they had better product, but the couldn't sustaining investing in better products and fighting so many legal battles. And the regulators around the world took to long and were to soft on Intel. Intel in the 80s invested big in memory, and got crushed by Japan. They invested big into the iAPX 186 and got crushed, it was horrible product. Luckily they were saved by the PC and were then able to have exclusivity on the back of the i386. By the late 90s AMD was better then them and that persisted for almost 10 years. And then they took the lead for for about 8 years and then lost it. And they didn't lose it because of the fabs I don't think. When they lost on the fabs they just fell further behind. Its really the late 80s and 90s gigantic PC boom that gave them the crazy manufacturing and market lead that AMD was not able to overcome the 10 years after that.
- zerocrates 1y agoI was one of those weird users who used the 64-bit version of Windows XP, with what I'm pretty sure was an Athlon 64 X2, both the first 64-bit chip and first dual-core one that I had.
- speed_spread 1y agoXP64 shared a lot with Windows Server 2003. Perhaps the best Windows ever released.
- seabrookmx 1y agoDid 2003 have symlinks? 7 and 2008R2 were pretty good too. All downhill from there..
- jborean93 1y agoIt had junction points and hard links but symbolic links were added in Vista/Server 2008.
- chasil 1y agoThis seems odd, as there was a POSIX layer in Windows from the beginning, and I can't see how it could do without symbolic links. https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
- jborean93 1y agoNo idea if the POSIX subsystem used NTFS or some other filesystem but if it was NTFS it probably just used the same reparse data buffer. It's just that Windows only added a symlink buffer structure in Vista/2008. You can manually use the same data buffer in older Windows versions it just won't know what to do with them just like all the other reparse data structures.
- 1y ago
- deaddodo 1y agoNitpick: The author states that removal of 16-bit in Windows 64 was a design decision and not a technical one. That’s not quite true. When AMD64 is in one of the 64-bit modes, long mode (true 64-bit) or compatibility mode (64-bit with 32-bit compatibility), you can not execute 16-bit code. There are tricks to make it happen, but they all require switching the CPU mode, which is insecure and can cause problems in complex execution environments (such as an OS). If Microsoft (or Linux, Apple, etc) wanted to support 16-bit code in their 64-bit OSes, they would have had to create an emulator+VM (such as OTVDM/WineVDM) or make costly hacks to the OS.
- EvanAnderson 1y agoMicrosoft has just such an emulator. Via Windows source code leaks the NTVDM (Virtual DOS Machine) from 32-bit Windows versions has been built for 64-bit Windows targets[0]. I don't understand why Microsoft chose to kill it. That's not in their character re: backwards compatibility. [0] https://github.com/leecher1337/ntvdmx64 https://github.com/leecher1337/ntvdmx64 Edit: Some nice discussion about the NTVDMx64 when it was released: https://www.vogons.org/viewtopic.php?t=48443 https://www.vogons.org/viewtopic.php?t=48443
- deaddodo 1y agoNTVDM requires Virtual 8086 mode in the processor. This doesn't exist in the 64-bit modes, requiring a software emulator. That is why OTVDM/WineVDM exist. You can see all of this explained in the README for the very project you linked: ``` How does it work? ================= I never thought that it would be possible at all, as NTVDM on Win32 uses V86 mode of the CPU for fast code execution which isn't available in x64 long mode. However I stumbled upon the leaked Windows NT 4 sourcecode and the guys from OpenNT not only released the source but also patched it and included all required build tools so that it can be compiled without installing anything but their installation package. The code was a pure goldmine and I was curious how the NTVDM works. It seems that Microsoft bought the SoftPC solution from Insignia, a company that specialised in DOS-Emulators for UNIX-Systems. I found out that it also existed on MIPS, PPC and ALPHA Builds of Windows NT 4 which obviously don't have a V86 mode available like Intel x86 has. It turned out that Insignia shipped SoftPC with a complete emulated C-CPU which also got used by Microsoft for MIPS, PPC and ALPHA-Builds. ``` As to why they didn't continue with that solution, because they didn't want to rely on SoftPC anymore or take on development themselves for a minuscule portion of users who would probably just use 32-bit Windows anyways.
- sciencesama 1y agoWill there be A 128bit revolution coming soon ?
- Avalaxy 1y agoWhy would there be?
- tliltocatl 1y agoNot until we have technology for exabyte-scale memories (read: not any time soon).
- nick__m 1y agoHaving 128bit in the adress bus is useless, no questions there ! But what about pointers provenance, tagging and capability. Having more bits would be useful to implement something like CHERI.
- seabrookmx 1y agoYes, it's called IPV6 :)
- floxy 1y agohttps://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX10 https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX...
- wicket 1y agoA couple of details missing from the article: - Intel quietly introduced their implementation of amd64 under the name "EM64T". It was only later that they used the name "Intel64". - Early Itanium processors included hardware features, microcode and software that implemented an IA‑32 Execution Layer (dynamic binary translation plus microcode assists) to run 32‑bit x86 code; while the EL often ran faster than direct software emulation, it typically lagged native x86 performance and could be worse than highly‑optimised emulators for some workloads or early processor steppings.
- p_l 1y agoEL was considered so bad, either Microsoft or HP speed ran an emulator implementation of their own which enabled HP-designed Itanium 2 to lack it.
- _blk 1y agoGood article. I remember being very skeptical of Athlon because the K6 I owned before was subjectively muss less stable than any Intel I had used until then. So felt it was only a question of time until IA64 would establish itself. Since, after all, Intel had the power to buy itself into a leader position. That feeling that AMD isn't quite as stable never really left until a few years ago, where with Spectre, I then thought that Intel was now playing catch-up with mobile-phone-like tactics rather that being design-superior. Now again, Intel had a great opportunity with Xe but it feels like they just can't get their horsepower transferred onto the road. Not bad by any means, but something's just lacking. Meanwhile, Qualcomm is announcing it's snapdragon X2 .. if only they could bring themselves to ensuring proper Linux support ..
- panick21_ 1y agoIntel and trying to kill their most successful product name a better duo. When amd64 came out, Sun should have started to migrate out of SPARC. Ironically it is Itanium that killed of most of the RISC competition, but its the Athlon that actually delivered on that killing blow.
- flanked-evergl 1y agoI still worked with SPARC as recently as 10 years ago. Horrible CPUs. Price for performance wise, a SPARC CPU with Solaris was significantly worse than a Xeon processor with Linux, probably by at least one order of magnitude if not more. Amazing how Sun managed to get people to pay for that garbage.
- panick21_ 1y agoPath dependency has long been the savior of under-performing companies. The amount of coasting all the companies from IBM down did once they had an install-base is crazy. Sun just couldn't do it in the long term because the software that ran on Solaris was to easy to move to Linux and arguably their install base was to small.
- aljgz 1y agoYou go to a small shop recommended by a friend, he convinces you to get AMD despite Intel still being the reigning default. You get it home, doing a little research you realize the CPU is the best performance per price in the recent CPUs. Now you know you trusted the right person
- tverbeure 1y agoAbout this part: > In 2004, Intel wrote off the Itanium and cloned AMD64. AMD introduced x86-64 in 2003. You don't just clone an ISA (even if based on AMD documents), design it, fab it etc. in a year or two. Intel must have been working on this well before AMD introduced the Athlon64.
- mjg59 1y agoThe ISA was published in 2000, there was plenty of time to start working on an implementation before AMD shipped actual product.
- tverbeure 1y agoThanks! I didn’t know AMD published it that early, but that makes much more sense then Intel “cloning” it as a reactive move to Athlon64 having it. (Though you could certainly make the case that it was reactive move by Intel marketing to enable it.)
- GartzenDeHaes 1y ago> they wouldn’t have to worry about competing CPU designs, at least not for a very long time. US Government sales require two vendors, which I think is why AMD had x86 licenses in the first place.
- colejohnson66 1y agoIBM*. They approached Intel for the 8088 for the 5150, but said "We want a second source". So Intel reeled in AMD. Second sourcing at the time was pretty common.
- deleted 1y ago[deleted]
- 9front 1y agoThe Itanium was a new 64bit architecture. AMD64 is just addition to the 32bit Intel architecture. Itanium didn't make it, so we're stuck with backward compatibility all the way to 8080 in today's x86 processors. That's all in the past! What I'm looking forward is to the future SoC releases with Intel cores and Nvidia graphics.
- fluoridation 1y ago>What I'm looking forward is to the future SoC releases with Intel cores and Nvidia graphics. As far as I know those are still going to be x86s, only with Nvidia dies tacked on.
- chasil 1y agoActually, AArch64 appears to be preferred by many. Apple has discarded all 32-bit legacy, implementing only 64-bit in their equipment to great success. Fujitsu did the same with their supercomputer that was the best-performing in the world for a time. Had Intel bought ARM, then espoused their architecture in the age of the Athlon, perhaps things would have been very different.
- hawflakes 1y agoFunny enough when Intel and DEC settled their lawsuit Intel got StrongARM[1] from DEC which was pretty fast for its time. It was a pretty cool, literally, chip that didn't need a heatsink. I had a Shark set-top appliance prototype. The offical name was DNARD — Digital Network Appliance Reference Design. [1] https://en.wikipedia.org/wiki/StrongARM https://en.wikipedia.org/wiki/StrongARM [2] https://collection.maynardhistory.org/items/show/8946 https://collection.maynardhistory.org/items/show/8946
- jmyeet 1y agoThis is a pretty bad recounting of history. Just from memory I can recall more of this and some missing details are important. First you have to know that Intel licensed the instruction sets to AMD and Cyrix (and possibly others?) in the 1990s. If you were around at that time, you could buy Cyrix 486dx2/66, 486dx4/100, 486dx4/133 and other CPUs that were really first to operate at a multiple of clock speed. Earlier CPUs didn't do this. But these deals were two-way, meaning Intel had the right to use any x86 extensions other manufacturers created; 2. Intel didn't like this. They'd also lost a trademark dispute over 486 where USPTO said you couldn't trademark a number. This was entirely the reason the Pentium was called the Pentium and not the 586. Intel didn't want to share. The instruction set cross-licensing was another issue; 3. Because of this, Intel wanted to go 64 bit from scratch. You have to remember that at this time the whole CISC vs RISC debate was unsettled. There were a variety of RISC UNIX servers and workstations from companies like SGI, Sun, HP, DEC, etc. Intel wanted to compete in this space. So they partnered with HP and came up with EPIC as the architecture name. The first CPU was Merced and it was meant to be released in 1996 (IIRC) but it was years late; 4. Intel thought their market dominance could drive the market. Obviously this would leave AMD (Cyrix was out by this point) in the cold. So AMD came out with the x86_64 extensions for 64 bit support and Athlon was born; 5. Oh, additionally in the 90s we had the (initially) Megahertz but later Gigahertz race between Intel and AMD. This is because clock speed became a marketing point. It was stupid because it ignored IPC (instructions per clock) but consumers responded to it; 6. So Intel's moved from the Pentium 3 to the Netburst architecture of the Pentium 4, which was designed to hit high clock speeds. You have to remember that even in the late 90s a lot of people thought clock speeds would keep going up to 10GHz. Anyway, Intel "won" this Gigahertz race with the Pentium 4 but lost the war as I'll explain; 7. So in the early 2000s, Intel needed a solution for laptops. They came up with the Centrino platform. I think this was the first laptop where Wifi was a first-class citizen. Anyway, Centrino was wildly successful against any competitors, so much so that people tried to make desktops out of it but it was really hard to acquire the parts; 8. So AMD took the easy route and released the Athlon, which was widly successful and with Intel facing ever-longer delays on EPIC was in a bind. They were forced to respond. They adopted x86_64 and repurposed the Centrino platfrom to create the Core Duo and then Core 2 Duo chips for desktop. To this day, the heritage of the Intel Core CPUs can trace its lineage back to the Pentium 3; 9. AMD further complicated Intel's position by releasing server chips. This is what the Opteron was. And this became a huge problem for Intel. EPIC chips were wildly expensive and, even worse, it required basically a rewrite of all software from the OS level up, compilers included. For several years, Opteron really ate Intel's lunch with Opteron. 10. By 2010 or so Intel had cancelled EPIC and regained their group on server-grade chips (ie Xeons) and AMD's Athlon and Opteron had begun to fade. So Intel had basically won but, don't worry, the 10nm white whale was just over the horizon. I guess my point is that the Athlon can't be viewed or judged in isolation without considering EPIC, Intel's cross-licensing deals, the Gigahertz race, x86_64 and the Pentium 3/4.
- gbraad 1y agoIt never mentioned the release of the x86_64 'emulator' by AMD to prepare and test your 64bit development. Or even the Opteron. Feels like it is more story how the author perceived it than an actual timeline Edit: Looked it up, it is called AMD SimNow! Originally released in 2000. I clearly remember www.x86-64.org existed for this
- tommica 1y agoGreat little article! Intel/AMD fight has been an interesting one all these years
- gethly 1y agoAthlon was my second computer(cpu) after i486. I think the core was K7 architecture and it had 700MHz clock, iirc. I rememebr Athlon/AMD being much cheaper than Intel and it was very exotic even thinking about it as Intel was EVERYWHERE(it was THE computer - "intel inside") and getting AMD was quite literally a question whether I'll even be able to install Windows and run normal programs(we really didn't know back then). I think I had another AMD after that in desktop(1.4GHz, dual core....iirc), then Intel in a laptop and now AMD again in a laptop. Will probably stick with AMD for the future as well.
- m101 1y agoI remember the days of cpu clock speed being displayed on the outside of the computer case using an led display. There was also this turbo button but I'm not sure whether that really did anything.
- fredoralive 1y agoGenerally, Turbo toggled some form of slow mode. Back in the XT era, enough software relied on the original 4.77MHz CPU clock of the PC and XT that faster Turbo XT clones running at 8MHz would have a switch to slow things back down. It persisted for a while into the early ‘90s as a way to deal with software that expects a slower CPU, although later implementations may not slow things down all the way to an XT’s speed.
- mrweasel 1y agoIt's probably important to note that the AMD64 platform isn't what got Intel in it's current situation. After adopting AMD64 Intel once again dominated AMD and the Bulldozer/Piledrive/Excavator series of AMD processors where not doing well in the competition with Intel. With Zen AMD once again turned the tables on Intel, but not enough to break Intel. Intels downfall seems entirely self-inflicted and is due to a series of bad business decisions and sub-par product releases.
- nayuki 1y agoYeah. The article tells a good story and I agree with it. I even bought an Athlon 64 CPU back in ~2004. What I want to add to the story is that when Intel Core 2 came out (and it was an x86-64 chip), it absolutely crushed AMD's Athlon 64 processors. It won so hard that, more or less, the lowest spec Core 2 CPU was faster than the highest spec Athlon 64 CPU. (To confirm this, you can look up benchmark articles around the year 2006, such as those from Tom's Hardware Guide.) Needless to say, my next computer in 2008 was a Core 2 Quad, and it was indeed much faster than my Athlon 64. The Core 2 and all its sequels were how Intel dominated over AMD for about a decade until AMD Zen came along.
- Sponge5 1y agoMy takeaway from the article is that Itanium could have been the equivalent of Apple's switch to M1 if Intel doubled down instead of panicking.
- deleted 1y ago[deleted]
- ksec 1y agoSince most of the patents have expired, I wonder if AMD could open source their baseline x86 ISA as AE86.
- Agingcoder 1y agoFor the first time in a long time I don’t feel that old on hn ( and I do HPC so have a strong interest in the topic ) :-) I’m really enjoying the discussion here - thanks everyone.