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

Reply via email to