Hola :) El Miércoles, 27 de Diciembre de 2006 14:16, Carlos E. R. escribió:
El 2006-12-27 a las 08:33 -0300, Juan Erbes escribió:
En los tiempos que compilaba el kernel para mi AMD K6, tanto éste, como el Pentium, Pentium Pro y el PII, pertenecen a la categoría i586, mientras que el PIII pertenece ya a la categoría i686, al igual que el Athlon, P4, y todos los micros modernos.
Bueno, pero no es exacto. El p4 tiene la suya propia. Ese es uno de los problemas (pequeños) de la distro de 32 bits, que no se optimiza para el pentium 4, sino para el pentium ¡UNO!
cer@nimrodel:~> uname --machine --processor --hardware-platform i686 i686 i386
/usr/lib/rpm/rpmrc:
optflags: i586 -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 optflags: i686 -O2 -g -m32 -march=i686 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2
_i586, pentium_ Intel Pentium CPU with no MMX support.
_i686_ Same as `generic', but when used as `march' option, PentiumPro instruction set will be used, so the code will run on all i686 familly chips.
La opción que define el juego de instrucciones es "-march"; "-mtune" no lo cambia:
`-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:
`-march=CPU-TYPE' Generate instructions for the machine type CPU-TYPE. The choices for CPU-TYPE are the same as for `-mtune'. Moreover, specifying `-march=CPU-TYPE' implies `-mtune=CPU-TYPE'.
Entonces no os equivoqueis: la SuSE de 32 bits está optimizada para el pentium uno A lo sumo, para el PentiumPro. Nada de Pentium IV ni historias modernas.
Efectivamente, SUSE/Novell (igual que otras distros) optimiza para Pentium (a secas, no, tampoco se incluyen extensiones MMX, SSE ni 3DNow! o similares). NO optimiza para k7, k6, PentiumPro ni nada por el estilo. EXCEPTO (siempre hay un "excepto" o un "pero" ;) algunos paquetes que _SÍ_ están optimizados para la sexta generación de procesadores de Intel, incluyendo K7 en adelante de AMD (aka PentiumPro, PII, PentiumIII, PentiumIV, ...). Son todos aquellos paquetes que aparecen como i686.rpm. YaST2 automáticamente instala estos paquetes si se detecta la plataforma correctamente. En algunos repositorios (packman, por ejemplo) hay paquetes para i586 y para i686 (creo haber visto también para otros, K7). Me imagino que compilan con --mtune=i686 en vez de --march=i686 porque esta última es más específica de plataforma ... ¿o era al revés? ... Más cosas que me tengo que repasar ... Obviamente, no menciono paquetes para K8 (aka AMD64/Opteron) ni core 2 (aka EM64T) ya que es una arquitectura diferente que incorpora extensiones de memoria de 64 bits (entre otras cosas). Esto se hace para que sea lo más compatible posible. Lo mismo ocurre con K8 y core 2, la versión se llama x86-64 y sólo hay una. Lo que se intenta es generalizar.
Otra cosa es el kernel.
Rafa -- "Even paranoids have enemies." Rafa Grimán Systems Engineer Silicon Graphics Spain Santa Engracia, 120 - Planta Baja 28003 Madrid Spain Tel: +34 91 3984200 Tel: +34 91 3984201 Móvil: +34 628 117 940 http://www.sgi.com OpenWengo: rgriman Skype: rgriman --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org