martes, 18 de diciembre de 2018

Ryzen 3000 vs Intel 10 generación y un poco de historia




Se nos acerca el 2019 y hay mucho revuelo sobre el futuro de los microprocesadores x86, por un lado AMD ha presentado su nueva microarquitectura Zen 2, y por el otro Intel ha revelado su futura microarquitectura basada en los nucleos Sunny Cove.

Personalmente, e imagino que como a muchos de ustedes me encanta hacer predicciones. Primero porque es divertido y segundo, porque bueno, uno aprende a medida que va desarrollándolas. Así que, por que no, esta entrada va a estar condimentada con algunas predicciones, pero eso a lo ultimo, claro.

En esta entrada, la primera entrada del blog, vamos a hablar de Zen 2, de Sunny cove, de los ryzen 3000 y de los procesadores Ice lake. Pero para empezar con buen pie vamos a dar un repaso a los procesadores que actualmente se encuentran en el mercado, vamos a comentar algunos aspectos básicos y por ultimo vamos a dar algunas predicciones y a analizar un poco el mercado.

AMD is Ryzen!


AMD tiene hoy en día varias lineas de procesadores de ultima generación en el mercado, Athlon, Ryzen y Threadripper. Cada uno enfocado a distintos usuarios con distintas necesidades y limitaciones, pero seamos sinceros, la absoluta mayoría de nosotros esta mas interesado en los Ryzen que en cualquier otra cosa, este año AMD ha sacado al mercado la serie 2000 de los ryzen, con su máximo exponente el Ryzen 7 2700X. 

AMD viene jodido, la serie FX que sacaron al mercado en el periodo 2012-2016 era una basura. No podía competir, en algunos casos, ni siquiera con las gamas bajas. Luego comentaremos por que. Era tanta la diferencia que Intel acaparó la totalidad del mercado y AMD o fue tomada como una marca de CPUs de mala calidad o simplemente se desconoció su existencia entre los consumidores. Con la ya archiconocida microarquitectura Zen, AMD ha vuelto al juego, en parte. 

Cuando AMD presento el Ryzen 7 1700X y luego el Ryzen 7 1800X Intel contaba con el i7 7700k. Pero ¿Que características tenia el 7700k?

Se puede hablar largo y tendido de microprocesadores, se puede profundizar tanto como uno quiera, desde lo básico hasta lo mas técnico, sin embargo, hay algunos factores que podríamos llamar la materia prima de los procesadores, que a efectos prácticos hace muy simple la comparativa. 

Primero el IPC o Instrucciones por Ciclo, no me voy a detener aquí a explicar como funciona, básicamente es el numero de instrucciones que se realiza en lo que tarda el CPU en realizar una vuelta, 2 instrucciones por ciclo van a ser el doble de eficientes que solo 1. Lo interesante en este caso es que, como todo en esta industria, nunca tenemos números reales, pero hay un método para comparar el IPC de determinados procesadores. El IPC se obtiene comparando dos procesadores a la misma frecuencia de reloj realizando una tarea determinada.

Performance Single core de procesadores MAD e Intel en el periodo 2004-2017
(IPC y performance single core no son exactamente lo mismo, sin embargo en este caso si)

En 2016 el Intel i7 6700k era la reina absoluta

El i7 7700k Kaby lake utiliza la misma microarquitectura que Skylake, en el mercado desde finales de 2015 con los 6700k, la sucesora de haswell y la ultima en ofrecer incremento de IPC, caso curioso y que da mucho que decir es que tanto el 6700k como el 9900k tienen el mismo IPC, eso significa que con la misma frecuencia y el mismo numero de núcleos, serian básicamente el mismo procesador. Y eso dice MUCHO.

La única diferencia entre el i7 6700k (4 nucleos, 8 hilos y oc hasta 4.6 Ghz) y el i7 7700k (4 nucleos, 8 hilos y oc hasta 5.0 Ghz) es la frecuencia de reloj. Básicamente la mejora es de un 8 a 9%. 

Intel lleva la delantera desde hace muchos años, eso le confiere una especie de monopolio de facto, lo único que no debe hacer es quedar por debajo de AMD, luego, tanto el mercado como el mindshare son suyos. Esto significa que pueden realizar ligeros aumentos anualmente y aun así continuar acaparando el mercado.

El 7700k fue la ultima gota de jugo que intel podía sacarle a continuar vendiendo procesadores de 4 núcleos, algo que lleva haciendo desde 2011 con sandybridge. ¿Por que hacían eso? Porque controlaban el mercado.

Su única competencia es AMD y lo único que tenia en el mercado para competir era la serie de procesadores FX. La serie FX utilizaba primero la microarquitectura Bulldozer y luego Piledriver. AMD estaba jodida desde dos frentes, su IPC es aproximadamente un 60% inferior al del Skylake, solo eso aseguraba que no compitiese, pero no es tan solo eso, estaban atados al nodo de 32 y 28 nanometros de globalfoundries (antes IBM). ¿Que significa eso? 

Significa que para competir con los 14nm de intel en frecuencia de reloj tenían que elevar el TDP de sus procesadores de forma exponencial. Es tan así que el único CPU que competía con el 6700K en términos de frecuencia de reloj era el FX-9590, un CPU con un TDP de 220W, no cualquier motherboard podía llevarlos, y no cualquier cooler mantenerle una temperatura aceptable.  Este CPU costaba entre 300 y 350 dolares y traía un cooler enfriado por agua de stock, y a pesar de que llegaba a unos increibles 5.0 Ghz de frecuencia máxima el simple hecho de que sky lake este a un 60% por encima en términos de IPC significa que el FX es arrasado en single core.

Vamos a explicar un poco como funciona comparando ambos procesadores, el FX 9590 y el i7 6700k. 

Primero vamos a tomar nuestro FX y vamos a overclockearlo hasta 5000 Mhz, tenemos un cpu de ''8 núcleos'' (o algo así) a una frecuencia muy muy alta. El 6700k solo puede alcanzar 4.6Ghz, sin embargo, tiene alrededor de un 60% mas de IPC. Es decir, el 9590 es tan efectivo en singlecore como un i7 6700k a 2760 Mhz, o en otras palabras alrededor de un 50% inferior. Lo que es peor, el FX tiene 8 núcleos, pero de hecho podríamos decir que tiene dos CCX con 2 clusters de 2 núcleos que comparten cache L2, esto significa que es bastante inferior a lo que podría ser si no llevara esos clusters con cache compartida. Bueno, esto tiene una ventaja, debieron ser asquerosamente baratos de producir a comparación con los procesadores monolíticos de intel. Esto es por el binning, se los dejo de tarea para que lo busquen en Internet.

AMD sabia que sus procesadores simplemente no competían, ademas, para peor, estábamos en la época en la que los juegos jamas utilizaban mas de 4 núcleos, y muchos ni siquiera eso. Entonces, a efectos prácticos, si conseguías un i3 6100 iba a ser superior al FX-8350 para juegos, incluso en algunos casos, hasta un Pentium podría competirle. Todo eso en un procesador con solo 2 núcleos! Es la pequeña desventaja de tener un IPC de mierda.



Por eso es que siempre se recomienda estar un poco enterado de que es el IPC antes de comparar CPUs, no es lo mismo una frecuencia de reloj de un procesador que la de otro. El ejemplo anterior es perfecto.


Con Ryzen comienza la ''guerra de los núcleos''

No todas son malas noticias para AMD, afortunadamente tenían en desarrollo la microarquitectura Zen con hasta un 50% mas de IPC. Un aumento gigantesco, brutal. Pero hay un problema, como no iba ser de otra forma. Los Procesadores basados en Zen (los Ryzen) compiten, si, pero hasta ahí.


Comparemos.

Por un lado tenemos al Ryzen 7 1700X con una frecuencia máxima de 3900 Mhz, aquí esta el problema. La materia prima no solo esta compuesta por el IPC de la microarquitectura o la cantidad de núcleos, también por la litografía. Los Ryzen de primera generacion utilizan los 14nm de GloFo, que son una licencia de Samsung, quienes no producen microprocesadores dedicados a performance, si no a eficiencia, y cual es el problema, con esa litografía los Ryzen no escalan bien. 

En 2016 intel podría haber sacado al mercado los 9900k y llamarlos i9 7900k, perfectamente, sin muchos problemas. No le convenía. ¿Que iba a sacar después si no?

El IPC de zen es muy similar al IPC de skylake, quizás un 6-8% inferior. El caso es que un 7700k alcanza 5.0 ghz y un 1700x alcanza 3.9 Ghz, el 1800x (un 1700x con mejor binning y mayor TDP) alcanza 'solo' 4.1 ghz. En singlecore un 7700k es un 20-25% superior a un 1800x, los números hablan por si mismos, sin emabargo como ya hemos mencionado, el 7700k solo tiene 4 nucleos y 8 hilos, el ryzen tiene el doble, y cuesta mucho menos. Eso si le da bastante maniobra para competir, por primera vez! Pero no es suficiente!

Intel en todo esto sigue con lo suyo, ''mejora'' sus procesadores aumentando los núcleos, básicamente. el 8700k tiene 6 nucleos, 12 hilos... el 8086k lo mismo, un poco mejor de binning. Técnicamente es mejor que el 7700k debido a que lleva mas núcleos y básicamente acorta por mucho la ventaja en multicore del 1700x/1800x. Y lo que es mas, los nuevos juegos comienzan a utilizar mas núcleos, dándole algo mas de ventaja en los juegos mas modernos. 

AMD lanza el 2700x y compañía. Este trae mejoras interesantes. Microarquitectura ZenCon un 3% mas de IPC, acercandolo mucho mucho a skylake (diferencia de 2-3% a favor de intel). Y mayores frecuencias de reloj. El 2700X alcanza 4.3 Ghz, lo cual lo deja entre 16-18% inferior al 8700k en singlecore, con dos nucleos mas y a menor precio, compite bastante bien, aunque sigue por detrás. 

A fines de 2018 intel presenta el i9 9900k y compañia, lo mismo de siempre, pero con 2 núcleos mas (8 núcleos / 16 hilos) y un poquito mas de frecuencia de reloj máxima hasta en algunos casos a 5.1 ghz. Lo cual le da, si, un 18-20% de ventaja sobre el 2700X. Al doble de precio, claro. 

Lo curioso es que si comparamos un i7 8086k con un i9 9900k en juegos, no hay diferencia, 1-2 fps a lo sumo como vemos en los benchmarks de este vídeo. Eso es porque son el mismo CPU pero con 2 cores mas. El i7 9700k es incluso mejor que el 9900k para juegos, por que? porque no lleva hypertreading, y si lo hacian de 6 núcleos, entonces iba a ser exactamente lo mismo que un 8086k! Lo resolvieron entonces quitandole el hypertreading pero manteniendo 8 núcleos.  Ventajas de ser un monopolio de facto. 



Ahora si, ¿que es lo que nos depara el futuro?



Si AMD jamas hubiese traido Zen y Ryzen probablemente en 2019 veríamos una 10ma generación sobre skylake, en 14nm, y quizá 10 núcleos. Y el TDP a vaya uno a saber cuantos Watts, pero eso si, estaría como de 95W. Ja!

Pero por suerte para nosotros, consumidores, AMD ha vuelto. Ha presentado Zen 2, los 7nm, procesadores Rome para servidores en forma de chiplets, y ha prometido mucho, no es la primera vez que promete y no cumple, pero bueno. 

Partimos de la base del Ryzen 2700X a 4.3 Ghz. En un nodo de 12nm de GloFo. Esto cambia, pasa a ser 7nm de TSMC. Mucho mas denso, incluso, mucho mas denso que los 14nm de intel, aunque un poco menos que sus 10nm. Esto de la litografía tiene mucho de marketing, otro día hablaremos de ello.



El caso es que si cambias la materia prima, la litografía, bueno, no es que tu microprocesador mejore pero si te da mas posibilidades. Esto es, que a la misma frecuencia, mucho menor calor generado, por ende mucho menor TDP. Pero a AMD no le interesa tener un menor TDP, le interesa mantenerlo y elevar la frecuencia. ¿Cuanto? he ahí el dilema. 

Un 20% mas de frecuencia de reloj significa alcanzar 5.1 Ghz, lo que significa alcanzar al i9 9900k. ¿Es posible? Bueno, dejenme decirles que los 7nm de TSMC son casi 3 veces mas densos que los 14nm de GloFo, no es para tomarselo tan a la ligera. Sin embargo, creo que podemos dar un margen. La mejora puede ser entre un 10 y un 20%, en algún punto puede que este. No mas, ¿Por que? Porque hay una barrera a partir de los 5 Ghz, el calor aumenta exponencialemente, es decir, no escala bien, eso es por el silicio. 

Un 10% significa 4.7 Ghz, un 2700X a 4.7Ghz no esta nada mal. Y 20% o un 2700X a 5.1 Ghz ya alcanza al 9900k. 

Otro aspecto a mencionar es el numero de núcleos, anteriormente AMD utilizaba CCX con 4 nucleos cada uno, eran modulares, lo cual los hacian muy baratos de hacer con respecto a los núcleos monolíticos de intel. 

Con los procesadores Epyc 2 hemos visto un chiplet con 8 CCX de 8 núcleos cada uno,  si el Ryzen 3700X utiliza 2 dies con 8 núcleos cada uno, estamos hablando de un CPU de 16 núcleos y 32 hilos. Eso no esta NADA mal. 

Pero esto no se queda aquí, la microarquitectura también cambia, llega el Zen 2 con un incremento de IPC, ¿cuanto? No se sabe. Algunos dicen 10%, otros incluso 20%. 

Yo pienso que como todo, hay que trazar un rango de posibilidades.

Por un lado tenemos un 3700X con 16 núcleos, 32 hilos, 4.7 Ghz y un incremento del 10% de IPC. Es decir, es muy superior al i9 9900k en multicore y esta a la par en singlecore. Si esta es la predicción mas conservadora, estas son malas noticias para Intel. 

Por el otro tenemos un 3700X con 16 núcleos, 32 hilos, 5.1 Ghz y un incremento del 20% de IPC. Es decir, el 9900k queda absolutamente superado.

https://www.amd.com/en/press-releases/2018-11-06-amd-takes-high-performance-datacenter-computing-to-the-next-horizon

Pero intel no se esta quedando dormida en los laureles, no del todo, o así aparenta. Lleva un tiempo detrás de los 10nm, se suponia que el 7700k debería haber sido icelake en 10nm pero no, no lo fue. Es mas, estuvieron haciendo refritos durante años. 

Ahora están en apuros, tienen si o si que traer algo nuevo, algo superior, algo innovador, se termino el tiempo en el que traer el mismo CPU con un par de núcleos mas es suficiente.

El futuro 10900k llegara a finales de 2019, quizá incluso a principios de 2020. Los 10nm permiten un mejor TDP, permiten frecuencias de reloj mas elevadas, no mucho mas, pero si algo mas, y la nueva microarquitectura tiene que si o si mejorar el IPC si intel quiere seguir con su modelo de traer refritos.

¿Cuanto? Vamos a ver. 

La frecuencia de reloj por un lado dudo mucho que supere los 5.3 Ghz, a menos que quieran emular y superar al FX 9590.

El numero de núcleos tiene que aumentar si aumenta en los ryzen, quizá 10 núcleos sea suficiente, es decir, con una frecuencia de reloj ya en sus máximos, las próximas generaciones tienen que tener mas núcleos, o mejorar el IPC, es probable que se guarden los 16 núcleos para el 11900k. 

La nueva microarquitectura con núcleos sunny cove tiene que si o si aumentar el IPC un 20%, como mínimo. Y la era del skylake ha terminado, tiene que mejorar continuamente si quieren competir. 

Un 10900k con 10 núcleos, 20 hilos. 5.3 Ghz y un incremento del 20% de IPC sobre skylake es muy interesante. Pero si las predicciones mas favorables para AMD son ciertas, no serian la gran cosa. 

Desgraciadamente carecemos de información de ambos lados, afortunadamente en el CES de 2019, en enero, supuestamente vamos a recibir información de los ryzen 3000. Allí no sabremos que tanto va a mejorar intel, pero si sabremos que tanto deben mejorar. 

Creo que se viene una época dorada para el mundo de los CPUs! 

No hay comentarios:

Publicar un comentario