a ver vamos a aclarar un par de conceptos
los MHZ no son medida monetaria primera cosa que hay que aclarar.
para entender que pasa con los ghz y su escalado hay que entender la forma en que se fabrican los CPU y tambien entender algunos principios básicos de como funcionan las computadoras.
cómo se fabrican los cpu's?
a grosso modo:
empiezan como tubos de silicón, estos tubos son cortados en obleas o las muy famosas waffers estos son sometidos a una cantidad de procesos químicos que los hacen suceptibles al siguiente paso, que es el etching, es en el etching donde toma importancia la miniaturización, básicamente se trata de grabar el circuito en la oblea (o los grupos de circuitos, mientras más pequeño cada circuito, caben mas en cada oblea, de ahi que diseños existentes se benefician de un menor costo de producción al ser rediseñados en menor escala) el proceso de etching se logra por medio de la fotolitografía, es decir se graba el patrón en la oblea de silicio y después se expone a luz ultravioleta, esta convierte los químicos en conductores, es decir, crea transistores en la superficie.
una vez el circuito es trazado, se corta la oblea de silicio y se procede a la fase de pruebas, se mira cuantos de los procesadores de hecho nacieron sin defecto, o si los defectos pueden ser ignorados o desactivados (desactivando la parte del circuito q los tiene) que tan rápido pueden correr, se analiza la velocidad correcta para evitar la electromigracion el mayor tiempo posible y es aqui donde se determinan los rangos de velocidad q el procesador puede tener, una vez determinado todo esto, se procede a producirlos en masa.
ahora, reflexionemos un poco sobre esto, la velocidad en mhz que un circuito puede alcanzar no se sabe a ciencia cierta hasta que no se ha producido, se pueden hacer estimados, pero no siempre se alcanzan con éxito (ejemplo: los phenom).
La reducción de tamaño del core ayuda a disminuir la cantidad de voltaje necesaria para su operacion porque puede operar sin disipar muchos watts, si se han fijado, la disminución de tamaño ha seguido un camino mas o menos estable hasta ahora, pero hay dos problemas a tomar en cuenta para explicar porqué los mhz no han subido a pesar de que se han seguido encogiendo, uno es la complejidad del chip, mientras mas complicado el diseño, más difícil es hacer que suba de velocidad porque hay mas puntos potencialmente débiles que no soportan el voltaje necesario para operar a una determinada velocidad, o porque el diseño está deliberadamente pensado para ser complicado y no alcanzar una velocidad particularmente alta (ejemplo los core 2), esto es un cambio de estrategia que se tomó en los nuevos procesadores (a partir de los core y de los phenom) a diferencia de otras arquitecturas anteriores que se focalizaban en más megahertz a costa de menos rendimiento por ciclo (ej la arquitectura Netburst de los Pentium 4). el segundo punto a considerar es la electromigración, el fenómeno que hace que se corten las pistas de flujo de corriente dentro del cpu, como dije antes, a mas mhz mas voltaje es necesario y por tanto el flujo de electrones dentro de cada pista se hace mas grande, el problema, claro está, es que estas pistas se han estado haciendo mas y mas pequeñas, imagínense esto como tratar de pasar demasiada presion de agua por una manguera, es exactamente lo que pasa con la electromigración.
entonces, que es lo que importa? la cantidad de operaciones que un procesador puede ejecutar en un ciclo o MIPS y que tan eficiente es para ejecutarlos. como topamos en mhz, lo siguiente es mejorar la eficiencia del trabajo, mejorar la cantidad de trabajo hecho a la vez y la paralelización de operaciones, el pentium 1 fue tan superior al 486 porque implementó paralelizacion interna de instrucciones (ej, podia hacer mas de una suma al mismo tiempo) los siguientes procesadores implementaron otra versión mas avanzada de paralelizacion de procesos llamada SMID(una instruccion múltiples datos) , o lo que el pueblo conoció como MMX, que era básicamente, que el procesador podia ejecutar una operacion aritmetica o lógica sobre un grupo de datos a la vez en vez de solo uno, de ahi vienen los SSE1,2,3,4,4.1 3dNow! etc etc. todos son implementaciones de los mismos conceptos aplicados en distintas maneras.
y caemos a la actualidad, los procesadores actuales son mucho más eficientes que los anteriores para procesar datos, ejecutan muchas instrucciones por ciclo de reloj y son capaces de un paralelismo de instrucciones muy bueno... PERO... solo pueden trabajar en un solo Hilo de programa o thread (entiéndanse los threads como una serie de instrucciones que tienen que ser ejecutadas consecutivamente) aquí es donde entran los multicore, estos procesadores tienen paralelismo de instrucciones Y de threads (bueno técnicamente los q tienen hyperthreading tambien pero eso es otro pisto) el problema con el paralelismo de threads es que no se puede implementar tan fácilmente como se implementa el paralelismo de instrucciones (que básicamente consiste en llamar la instrucción paralelizadora en tu programa, cosa q los compiladores pueden hacer automáticamente algunas veces.) el problema con el paralelismo de threads es que tenes que programar pensando en cómo sacar partido de este paralelismo, es decir no es tan simple como escribir un programa lineal, tenes que buscar deliberadamente en tu algoritmo alguna forma de explotar el paralelismo de threads.
curiosamente, el paralelismo de instrucciones y de threads de los procesadores x86 están muy limitados por la arquitectura arcaica de los mismos x86 que por razones de retrocompatibliidad se mantiene, es por esto que los GPU en las tarjetas de video son capaces de ejecutar tres, cuatro, hasta cinco veces mas MIPS que los procesadores x86, porque no tienen necesidad de tener retrocompatibilidad básica, simplemente, son capaces de ejecutar código antíguo simplemente reconfigurando sus stream processors para este fin.
WORD BITCHES