[sf-lug] use 32 or 64 bit on 64 bit capable hardware: Re: installing minimal debian and building on that

Rick Moen rick at linuxmafia.com
Sun Dec 9 03:47:18 PST 2018


Just a few comments about the messed-up terminology in this area
(after noting that I appreciate and agree with everything Michael said,
here):

Quoting Michael Paoli (Michael.Paoli at cal.berkeley.edu):

> Note also that Debian's i386 no longer supports the Intel i386
> CPU - minimum CPU requirements have slowly crept up over the
> years, for current Debian stable, presently, see:
https://www.debian.org/releases/jessie/i386/ch02s01.html.en#idp61968064


Above (which is of course correct and important) illustrates part of ow
the nomenclature has gradually become confusing and tangled:  Way back
in the 1980s, 'i386' started being used for the Intel x86 architecture
with 32-bit addressing, which by extension also covered many other
companies' compatible CPUs.  This was widely also called 'Intel CPUs', 
even though the intended reference also included compatible CPUs _not_
made by Intel, and excluded Intel-made CPUs of other, incompatible
families such as Freescale.

So, from the get-go, 'i386' and 'Intel CPU' were poor names for the
concept.  And 'i386' became even more problematic when it was also used
to mean '32-bit operation on or requiring 486, Pentium, K6, PPro, PII'
and on and on.

Somewhere in this time period, the term 'x86' arose meaning 'any CPU
that's an equivalient or superset of the Intel 386 , irrespective of 32-
or 64-bit nature and irrespective of manufacturer.  

Intel's first attempt at a 64-bit extension of x86 was, in short, a dud.
The initial CPU was called Itanium (which the wags dubbed 'Itanic').
This specific 64-bit architecture was called 'IA64'.  But it failed in
the marketplace for reasons including it not being able to run 32-bit
x86 software, and also because -- and also because AMD soon came out
with something cheaper and more attractive.

That AMD offering was the AMD64 _compatible_ 64-bit extension to x86,
starting with the Opteron CPU, then Athlon, and various successors.
These were such a huge and instant success that Intel was obliged to
imitate AMD64 with its own AMD-clone CPUs.  At first, Intel called this
copycat architecture 'EM64T' (Extended Memory 64 Technology), starting
with the Xeon CPU, then Pentium 4, then various sucessors.  'EM64T' got
dropped like a rock about two years later because everyone was ignoring
the name, and officially Intel's implementation of AMD's design is now
called 'Intel 64', but hardly anyone uses that name, either.

Some while later, someone invented the term 'x86_64' as a vendor-neutral
term meaning '64-bit x86 that's some sort of clone or extension of
AMD64'.  And, eventually, 'IA32' got coined as the corresponding term
meaning '32-bit x86'.

So, in short, the terminology is a horrible mess.  I mostly stick to the
terms 'x86_64" and "IA32" to mean the 64-bit and 32-bit (respectively)
architectures descended from Intel's 386 (but excluding IA64) -- beause
those two names were coined to sidestep ambiguity, and mostly succeed.



More information about the sf-lug mailing list