On Dec 20, 2007 11:41 AM, Stefan Teleman <Stefan.Teleman at sun.com> wrote: > > > Shawn Walker wrote: > > On Dec 20, 2007 11:17 AM, Stefan Teleman <Stefan.Teleman at sun.com> wrote: > >> > >> Marcelo H Majczak wrote: > >>> Regarding the i386, why is it -xchip=pentium4 and > >>> -xcache=8/64/4:256/128/8 ? > >>> The cache seems under specd for most recent chips while pentium4 leaves > >>> the > >>> pentium mobile out (pentium3)... > >> Pentium M is a P3 ? > > > > It is essentially the same as a P3, but has very different performance > > characteristics. > > > > There was a Mobile version of the Pentium 4 as well (I have one at > > home unfortunately). > > On Pentium M class processors, cpuid with %eax set to 0 returns 02H/80000004H, > which is identical for Pentium 4, Intel Xeon and Pentium M. For all practical > purposes, these three processors are indistinguishable from each other. > > For Pentium 3, cpuid returns 03H. > > Therefore, Pentium M identifies itself as a Pentium 4 class processor, and not > Pentium 3 (which does not return the Extented Function Information).
Pentium M may be Pentium 4 class, but as I mentioned, has very different performance characteristics. The Pentium M is based on the Pentium 3 architecture and includes some tricks from the P4 as well. More here: http://arstechnica.com/articles/paedia/cpu/pentium-m.ars > >>> Now an honest question, what is the impact of under specing the cache? > >> Less chances of cache thrashing for CPU's with a smaller L2. > > > > I wonder what the value of specing the cache out is. Isn't studio > > capable of selecting the appropriate value on its own? > > It will select the best cache ratios for the particular CPU you are compiling > on. This may be different, and inappropriate, for someone else's box running > the > same bits. Right, I know it can do that. I was just wondering if it could do it for what you're targeting instead of your current system. However, this creates an interesting problem. When you specify the cache settings in the CFLAGS, etc. do you specify them for the minimum spec of a particular processor class? As an example, AMD64 code runs on Intel procesors, but Intel Core 2 Duo have a different amount of cache than Opterons, etc. There's also extreme editions of the processors and lower-end ones as well. Is performance going to be severely degraded for systems that have much less cache than what you specified, or not nearly as good as it could be on processors that have a lot more? -- Shawn Walker, Software and Systems Analyst http://binarycrusader.blogspot.com/ "To err is human -- and to blame it on a computer is even more so." - Robert Orben
