Why are x86 and x64 named as such?

This is the slightly edited version of my answer on Quora from 2019.

x86 is easy, it comes from the CPU series starting with 8086. 8086 was a 16-bit CPU with a 20-bit address bus. Then came 80286 which had a 24-bit address bus. The first 32-bit CPU in the series was 80386 or shortly 386. They all used the same instruction set architecture though, so the series were called 80x86. It was shortened to x86 soon after. The later 486 and Pentium series were all x86 CPUs.

x64 is more complicated. After the proliferation of 32-bit architectures and RAM chips getting cheaper, there started a demand to have 64-bit consumer-level CPUs that could address more than 4GB of memory. There were some techniques to go beyond that limit that involved changing the visible “window” into the memory like EMS in DOS but they were cumbersome and slow.

Intel first addressed this by creating an entirely new processor architecture called Itanium and called it IA64 in short. It was based on a RISC-like architecture (similarly named EPIC). It relied on compilers to work on execution optimization such as parallel execution and pipelining, rather than the CPU itself. That made the design simple and cheap but demanded great compiler smarts which didn’t exist back then. It also required emulation in order to run x86 apps which was extremely slow.

Meanwhile, AMD started on their own 64-bit architecture and called it AMD64, which was a derivative of x86 instruction set with 64-bit registers. It was almost the same architecture which made porting assembly code and compilers very easy and it could also run 32-bit x86 apps without emulation.

Microsoft at the time had ported Windows to both Itanium and AMD64 architectures.

When it was apparent that the industry was moving towards AMD64, Intel created their own CPUs with AMD64, but obviously wouldn’t call it AMD64 so they called it EM64T.

Microsoft and other OS vendors had ended up with this same architecture with two different names. Many software like some Linux distros had already been using AMD64 as the platform identifier but Intel was probably pushing them towards something neutral. I remember there were discussions at Microsoft on how they should call this AMD64/EM64T aka “xxx64” flavor. I think some Unix flavors already called it x86–64 by then, but it was longer than x64 and looked complicated too.

Microsoft decided to go with x64 when creating “Windows XP Professional x64 Edition”. Yes, there was a 64-bit version of Windows XP, as a matter of fact, there were two: there was also an Itanium version called, confusingly, “Windows XP 64-bit Edition”.

I think Microsoft thought x64 was a more marketable name than x86–64 so went with it. After the name got popular, the industry followed the suit.

At least, that’s the story I know.