Re: i386,i586,i686

From: Kumara (kumara.jayaweera_at_damad.com)
Date: 02/18/05

  • Next message: John H.: "Re: usb thumb drives no longer mountable by user in fc3"
    To: "Deron Meranda" <deron.meranda@gmail.com>, "For users of Fedora Core releases" <fedora-list@redhat.com>
    Date: Fri, 18 Feb 2005 21:34:57 +0300
    
    

    Thank you for the lengthy valuable reply
    Thanks so much
    Mohan

    ----- Original Message -----
    From: "Deron Meranda" <deron.meranda@gmail.com>
    To: "For users of Fedora Core releases" <fedora-list@redhat.com>
    Sent: Friday, February 18, 2005 8:37 PM
    Subject: Re: i386,i586,i686

    > On Fri, 18 Feb 2005 16:23:04 +0000, Paul Howarth <paul@city-fan.org>
    wrote:
    > > Kumara wrote:
    > > > Hi all,
    > > > i'm not clear of what is
    > > > i386
    > > > i586
    > > > i686 etc..
    > > > could somebody brief me
    > >
    > > A detailed history can be found at:
    > > http://www.pcmech.com/show/processors/35/
    >
    > In terms of what it means in the Linux world, those indicate compiler
    > optimization and processor features required. You should realize that
    > non-Intel processors are typically lumped into those categories too,
    > so for example AMD K7 (Athlon) is considered to be a i686 for most
    > Linux purposes.
    >
    > There may be a few very low level kernel features that are disabled
    > when on very old processors; but in reality the most significant
    > feature differences are for pre-i386 models (and also why Fedora
    > doesn't ship say i286 binaries).
    >
    > It's generally upwards compatible; so i386 binaries will run fine on
    > a i586 or i686 system; but the other way around *may* not work, or
    > if they do may actually be slower.
    >
    > For most binaries (like applications), the compiler optimization
    differences
    > are so small that it's not worth compiling for anything other than i386.
    > However a select few packages, like the kernel, glibc, and openssl,
    > may have dramatic performance benifits when compiled specifcally
    > for the processor you have, so the distro makes different binaries
    available.
    > And the installer will automatically pick the best one your hardware
    > can support.
    >
    > Some useful details is available in the gcc manual (use "info gcc"
    > to browse the manual, then go to "Invoking GCC" -> "Submodel options"
    > -> "i386 and x86-64 Options").
    >
    > As you'll find there are dozens of different chip types. Most of them
    > are nearly identical with perhaps just a few minor differences that
    > can be easily compensated for.
    >
    > So to prevent having to provide a dozen different binaries, most Linux
    > distros (with perhaps Gentoo being an exception) only compile for a
    > small number of chips; the i386, i586, and i686. There's enough
    > difference between those that the compiler optimizations make it worth
    > having them; but in reality the other differences between all the other
    > varieties is so insignificant to not make it worth doing more chip types.
    >
    > Incidentally, for some of the older Red Hat Linux versions, RH did in
    > fact also provide Athlon-specific binaries for the kernel and glibc.
    > But nowdays, in Fedora, all modern 32-bit desktop chips are lumped
    > into i686.
    >
    > What follows is excerpted from the gcc manual:
    > --
    > Deron Meranda
    >
    > *FROM GCC 3.4 MANUAL*
    > 3.17.11 Intel 386 and AMD x86-64 Options
    > ----------------------------------------
    >
    > These `-m' options are defined for the i386 and x86-64 family of
    > computers:
    >
    > `-mtune=CPU-TYPE'
    > Tune to CPU-TYPE everything applicable about the generated code,
    > except for the ABI and the set of available instructions. The
    > choices for CPU-TYPE are:
    > _i386_
    > Original Intel's i386 CPU.
    >
    > _i486_
    > Intel's i486 CPU. (No scheduling is implemented for this
    > chip.)
    >
    > _i586, pentium_
    > Intel Pentium CPU with no MMX support.
    >
    > _pentium-mmx_
    > Intel PentiumMMX CPU based on Pentium core with MMX
    > instruction set support.
    >
    > _i686, pentiumpro_
    > Intel PentiumPro CPU.
    >
    > _pentium2_
    > Intel Pentium2 CPU based on PentiumPro core with MMX
    > instruction set support.
    >
    > _pentium3, pentium3m_
    > Intel Pentium3 CPU based on PentiumPro core with MMX and SSE
    > instruction set support.
    >
    > _pentium-m_
    > Low power version of Intel Pentium3 CPU with MMX, SSE and
    > SSE2 instruction set support. Used by Centrino notebooks.
    >
    > _pentium4, pentium4m_
    > Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set
    > support.
    >
    > _prescott_
    > Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2
    > and SSE3 instruction set support.
    >
    > _nocona_
    > Improved version of Intel Pentium4 CPU with 64-bit
    > extensions, MMX, SSE, SSE2 and SSE3 instruction set support.
    >
    > _k6_
    > AMD K6 CPU with MMX instruction set support.
    >
    > _k6-2, k6-3_
    > Improved versions of AMD K6 CPU with MMX and 3dNOW!
    > instruction set support.
    >
    > _athlon, athlon-tbird_
    > AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE
    > prefetch instructions support.
    >
    > _athlon-4, athlon-xp, athlon-mp_
    > Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and
    > full SSE instruction set support.
    >
    > _k8, opteron, athlon64, athlon-fx_
    > AMD K8 core based CPUs with x86-64 instruction set support.
    > (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and
    > 64-bit instruction set extensions.)
    > _winchip-c6_
    > IDT Winchip C6 CPU, dealt in same way as i486 with additional
    > MMX instruction set support.
    >
    > _winchip2_
    > IDT Winchip2 CPU, dealt in same way as i486 with additional
    > MMX and 3dNOW! instruction set support.
    >
    > _c3_
    > Via C3 CPU with MMX and 3dNOW! instruction set support. (No
    > scheduling is implemented for this chip.)
    >
    > _c3-2_
    > Via C3-2 CPU with MMX and SSE instruction set support. (No
    > scheduling is implemented for this chip.)
    >
    > While picking a specific CPU-TYPE will schedule things
    > appropriately for that particular chip, the compiler will not
    > generate any code that does not run on the i386 without the
    > `-march=CPU-TYPE' option being used.
    >
    > --
    > fedora-list mailing list
    > fedora-list@redhat.com
    > To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
    >
    >

    -- 
    fedora-list mailing list
    fedora-list@redhat.com
    To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
    

  • Next message: John H.: "Re: usb thumb drives no longer mountable by user in fc3"

    Relevant Pages

    • Re: ACKPACK
      ... The ACK produces generic binaries in ack.out format, ... that running on Linux using something like iBCS, but I doubt it's worth the ... > If it's a native compiler, does it do a.out or ELF? ...
      (comp.os.minix)
    • Re: Use of C99 int types
      ... > those that actually are part of the C-implementation for Linux. ... the kernel definitions are part of /usr/include). ... The kernel uses __foobar stuff provided by the compiler because it has ... > the Gimp and GCC run on completely different architectures aswell. ...
      (Linux-Kernel)
    • Re: censored by comp.compilers [was please suggest an OS and language a text]
      ... z/OS has way more hardware capability than Intel ... Linux has basically no doc except what people feel ... than simple file I/O to write a compiler, ...
      (comp.lang.misc)
    • Re: C++ compilers on Linux supporting 64bit architecture?
      ... I don't think a 32bit only processor can produce 64bit binaries. ... It's not the question of processor, but rather compiler support. ... 64 bit Linux compiler, like you'd have to for a 64 bit version of Visual ... workstation running 32 bit Windows on a 32 bit CPU, ...
      (Fedora)
    • Re: censored by comp.compilers [was please suggest an OS and language a text]
      ... The x86 instruction set isn't that complex, ... Windows has a lot of doc but Windows doesn't do 10% of what ... a static compiler can probably be done with little more than file IO. ... a VM involving JIT may need a bit more to be effective (mmap and libdl on Linux, ...
      (comp.lang.misc)