* Fernando Poza <fernando/dot/poza/at/ies-def.upm.es> [2002-11-29 09:48 (CET)] > las cosas han evolucionado como cuenta por ahi, o sea, disparatadamente, > yo tiendo a pensar que las diferencias entre los micros de ahora y el > 386 deben ser abismales. Eso depende, lo que no ha cambiado casi nada, es el set de instrucciones de IA32, que solo se ha incrementado en una instruccion (CPUID) y las extensiones MMX/MMX2, y 3DNOW (AMD). Dichas extensiones son para operaciones con más de un dato, diferenciándose ambas, en que la de Intel corta la FPU y las de AMD no. Pentium II es básicamente identico al Pentium MMX, y creo recordar (no estoy muy seguro) que CPUID se introdujo en el Pentium III, así como las MMX2, pero que el Pentium IV no incorpora ninguna instruccion adicional. 'Pero' más adelante te comento en dónde SI se pueden hacer optimizaciones... > En algún mensaje se ha dicho que la diferencia no es tan grande. ¿Esto > es realmente asi?. Puede ocurrir que el propio código fuente, o el > compilador, no aproveche los micros en cuestión, con lo que, > efectivamente, no se ganaría mucho recompilando. El compilador no sé hasta que punto puede reconocer y utilizar 'hábilmente' dichas extensiones, pero dicen que sí, que se ganan FPS si recompilas kernel, librerias principales, y los programas multimedia (incluyendo XWindow). Sin embargo, lo que sí ha cambiado es el diseño de los micros, y sobre todo, el funcionamiento de sus cachés, que era simple en el 386 y luego se comvirtio en doble (datos/código), con pipeline (prefetch), dual pipeline, etc... Esta es la parte en donde un compilador SI puede optimizar, ya que lo unico que tiene que hacer para aprovecharlo, es reordenar el código que genera (recordemos que lo único que hace, es coger código fuente y convertirlo en código máquina, es decir, instrucciones propias de la arquitectura destino, en este caso IA32) > En fin, lo que no entiendo es como en debian, o en donde se prepare la > distribución no realizan la compilación para un micro un poco más > actualizado. El caso de las optimizaciones para caches etc no deberia tener grandes consecuencias, pero si se incluye el uso de extensiones, significa que el binario resultante NO correrá en micros inferiores sin esa extensión, es decir, si el compilador detecta un uso optimizado de MMX, no funcionará en Pentium, 486, ni 386... Personalmente, en ese sentido, me gusta la aproximación de gentoo, compilarlo todo :) -- Rafael Gawenda 2:346/7.549@fidonet Registered LiNUX user #93375 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Caerse, está permitido; levantarse, es obligatorio! (Proverbio Ruso)
Attachment:
pgpJIScUi6MjY.pgp
Description: PGP signature