Thank you for the lengthy valuable reply Thanks so much Mohan ----- Original Message ----- From: "Deron Meranda" <deron.meranda@xxxxxxxxx> To: "For users of Fedora Core releases" <fedora-list@xxxxxxxxxx> 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@xxxxxxxxxxxx> 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@xxxxxxxxxx > To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list > >