Hola :) El Miércoles, 27 de Diciembre de 2006 16:34, Carlos E. R. escribió:
El 2006-12-27 a las 14:41 +0100, Rafa Grimán escribió:
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.
No, tampoco. Los paquetes i686 van optimizados para PentiumPro, nada más. El i686 no es el "sextium", el nombre confunde.
Los procesadores que vinieron después de PentiumPro están basados en la arquitectura del PentiumPro (con alguna herencia del Pentium). Obviamente, los paquetes i686 no le sacan todo el jugo a los PII, PIII, K7, ... porque son paquetes para PentiumPro, han generalizado. Si compilasen para PII, PIII, K7, PIV, ... tendrían que hacer un paquete por cada procesador. Compilando para i686, se tiene la base de la familia de procesadores de sexta generación. Es decir, tenemos las familias o generaciones: Intel AMD ----- --- - 8086/8088 - 80286 Am286 - 80386 Am386 - 80486 Am486 - Pentium y Pentium-MMX K5 - PentiumPro Y PII, PIII, PIV, K6 y K7 PentiumM, Centrino, ... - Core 2 K8 Los paquetes i686 corresponden a la familia de los PentiumPro, pero no tienen en cuenta todas las optimizaciones de cada modelo dentro de la familia, por ejemplo, no tienen en cuenta 3DNow!. En resumen, que estamos diciendo los dos lo mismo 0:)
_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.
En algunos repositorios (packman, por ejemplo) hay paquetes para i586 y para i686 (creo haber visto también para otros, K7).
Si, son algo mejor, pero se quedan cortos.
Es que lo ideal es optimizar para tu CPU, con todas sus extensiones, ... lo malo es que entonces hay poca portabilidad/compatibilidad, tardaríamos mucho en compilar, habría miles de paquetes, ... El que realmente necesite eso ... que se compile sus binarios basándose en su CPU. Pero primero tiene que saber _realmente_ que CPU tiene.
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 ...
Si.
El mtune solo cambia el orden de instrucciones para optimizarlo para la pila y algunas chuminadas más, pero no cambia el juego de instrucciones, que es la clave de la potencia de un procesador mejorado. Por eso compilan con el march tan bajo, porque así saben que al menos funcionará en cualquier micro.
Joer macho, todo el rollo que he soltado antes y tu lo dices en 2 frases ... 0:) A ver si aprendo a no enrollarme tanto ;)
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.
Ya, pero la diferencia entre la 32 y la 64 no sería tan grande si se compilara la 32 para el P4, por ejemplo. No se utiliza toda la potencia del P4.
Eso es cierto, igual que no se usa toda la potencia de los K7 :( 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