Find the answer to your Linux question:
Results 1 to 2 of 2
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Linux Guru techieMoe's Avatar
    Join Date
    Aug 2004

    CPU Naming Schemes - x86 (386,486,586), AMD 64, IA64 & EM64T

    A Brief Explanation of CPU Naming Schemes:

    The X86 processors started with the Intel 8086 processor way back in 1978. They were incrementally improved (80186, 80286) and then Intel released the Intel 386 (i386) in 1980. That was then followed by he 486 (i486), the Pentium (i586), and the Pentium Pro/2/3/4 and Celeron (i686). At the same time, rival AMD released their Athlon/Duron/T-bird (also i686).

    Since all these processors were based on the same architecture (basically they read/wrote 1's and 0's in the same way), and their names all contained "86", the whole family was collectively called "X86". All the X86 processors including and after the 386 are 32-bit.

    The difference between a Pentium/Celeron and an Athlon/Duron or Athlon/Sempron is that Pentium and Athlon are the top-performing, more expensive models whereas the Celeron/Duron/Sempron are cheaper, less powerful chips. They are not a different architecture.

    Since 2000, the trend has been to move toward 64-bit processors, and several different architectures popped up. DEC's Alpha and Motorola's PPC chips have been 64-bit for a while, but Intel's Itanium and Xeon and AMD's Athlon64 are the new kids on the block.

    The difference between the Itanium (IA64) and PowerPC (PPC) versus the Athlon64 is that the Itanium and PPC have completely different architectures (they speak different 1 and 0 languages), whereas the Athlon64 speaks the same language as the 32-bit X86 processors, but adds 64-bit memory registers. Therefore the name of the Athlon64 in generic terms is "X86_64".

    Intel, not to be outdone, has since redesigned its 64-bit Xeon processors to use the same kind of architecture as the Athlon64, calling it "Intel Extended Memory 64 Technology" (EM64T). Basically they couldn't say they copied AMD without being laughed at in irony (since AMD got its start by simply copying Intel's chips). Both the AMD64 and the Intel EM64T processors are collectively called "X86_64".

    The Intel Core processors come in two types. The original Core Duo processor is a 32-bit processor with two cores (i686). The Core 2 Duo is a 64-bit processor with two cores. The Core Duo (to the best of my knowledge) is a regular X86 processor, while the Core 2 Duo is an X86_64.

    Certain models of the Pentium 4 processor (not just the Xeon) were shipped with "EM64T" technology. These processors (such as the Intel Pentium 4 521) are essentially the same as an AMD64 in their architecture, and are capable of running both 32-bit software and OSes as well as 64-bit. Software compiled for AMD64 should work on these processors.

    In 2008, Intel developed a new brand name called i7, which despite its confusing name is NOT a new i786 architecture. Instead, it's just another set of X86_64 chips. For more information, look here.
    Last edited by techieMoe; 03-26-2010 at 10:48 AM.
    Registered Linux user #270181

  2. #2
    Linux Guru
    Join Date
    Oct 2001
    Täby, Sweden
    Just thought I'd add a bit to this for those that want a more in-depth clarification of Intel CPU naming. This may be a bit much, but that's simply because Intel CPU naming is complex and hard to get a grasp of.

    First of all, Linux and many other operating systems refers to different Intel CPU generations as i386, i486, i586 and i686. Strictly speaking, i386 refers to the 80386 processor family, i486 refers to the 80486 processor family, i586 refers to Intel Pentium or Pentium MMX processors, and i686 refers to all Pentium Pro and later processors.
    However, since all Intel CPUs are backward compatible with all previous Intel CPUs (yes, apart from the socket and memory interface, the latest AMD Athlon64 or Intel Pentium4 processor could run the same programs that the first IBM PC could run, although the reverse obviously isn't true), the i386 can also be used to refer to i386 and later processors. Since most operating systems today only deal with 80386 CPUs and later (since the earlier ones don't support virtual memory and stuff), they therefore often use i386 to refer to the Intel architecture as a whole, since the i386 term includes all Intel CPUs that they can run on.

    Intel stopped at i686 since the Pentium Pro's architecture was so flexible that they didn't need to change it fundamentally after that. To check, from within Linux, which i?86 you have, check the contents of the file /proc/cpuinfo. If it says "cpu family: 6", you have an i686. Similar for 3, 4 and 5.

    Frequently, the name IA32 is also used. It stands for "the 32-bit Intel Architecture", and it refers to all 32-bit Intel CPUs, that is to say every 80386 CPU or later. In other words, it is the term that really should be used instead of "i386" to refer to all CPUs that are compatible with the 80386 CPU. 32-bit is to separate it from the earlier 16-bit CPUs, not from the newer 64-bit CPUs.

    The name IA64 does not refer to the newer 64-bit Athlon64 and EM64T processors. IA64 is Intel's Itanium architecture, which is a completely different thing. While IA64 processors have an IA32 compatibility module, noone uses IA64 at home. There are some servers that use IA64, but it's not very common even in the server market.

    The 64-bit architecture that AMD pioneered and Intel followed, i.e. the architecture used in the Athlon64s and Intel's EM64T CPUs, is referred to by many names. The most common ones are AMD64, x86-64, x86_64 or x64.

    The term x86 does strictly refer to all Intel-compatible processors since the 8086, but it's much more commonly used in the same sense as IA32 or i386, i.e. to refer to all processors compatible with the 80386.

    Trivia time:
    1. While Intel's backward compatibility seems ambitious, it's nothing compared to that of IBM's commitment. Even the latest iSeries/zSeries POWER servers from IBM are still binary compatible with the original IBM System/360 mainframe that was released back in the 1960s. This, from what I know, is accomplished with the clever use of pluggable microcode.
    2. Did you know that it was Intel that designed the first microprocessor (i.e. a processor on a single chip) ever? That's right: the 4-bit Intel 4004. Relased in late 1971, its maximum clock speed was a staggering 740 kHz.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts