Skip to main content
amd vs intel

¿Por qué AMD ya no puede alcazar a intel?

amd vs intel
amd vs intel

 

 

En la época de los Pentium 4 de intel, AMD tomó la delantera en métricas de los procesadores como el rendimiento o el consumo gracias a sus athlon de  arquitectura k7 y k8. Esto se debía a dos razones. Una por parte de intel y la otra por la coyuntura de la época en procesos de fabricación.

Con los pentium 4 intel tenía como meta alcanzar enormes velocidades de reloj con sus procesadores. En aquella época en intel se hablaba de 10ghz. Para llegar a esa cifra hay que escoger ciertas decisiones de diseño en el procesador que faciliten la subida en la velocidad de reloj. Las más típicas son el aumentar la latencia de las memorias caché o aumentar las etapas del pipeline del procesador para que la ejecución de cada etapa dure lo menos posible y así poder subir más la frecuencia. Estas decisiones de diseño tienen desventajas.

El aumentar la latencia de la memoria caché hace que los accesos a esta sean como es lógico más lentos y se pierdan ciclos de reloj esperando una respuesta de la caché. El aumentar las etapas del procesador no tendría desventajas si hablásemos de unas condiciones ideales en las que el 100% de las instrucciones se ejecutan correctamente. Para ahorrar accesos a la caché e indirectamente a la memoria RAM, la unidad de control de los procesadores muchas veces manda a ejecución en un procesador cosas que cree que debería estar ejecutando. Mediante estudios estadísticos que la unidad de control va haciendo durante la ejecución de los programas, la unidad de control puede adivinar con gran precisión muchos aspectos que definen el cómo se va a procesar algo en el propio procesador. Como esto igual es un poco abstracto, voy a poner un ejemplo:

  1. Estamos en un programa que en un momento dado entra en un bucle. Si el procesador tuviese que mirar en cada vuelta del bucle las vueltas que faltan para que este acabe, se perdería tiempo por el camino. La unidad de control por lo tanto, intenta predecir las vueltas que dará ese bucle.
  2. En una parte de un programa se da una condición (la del bucle mismamente que hace que se continúe dando vueltas dentro del bucle o se salga de él) que según su resultado hace que la ejecución de ese programa salte a un lado o a otro. La unidad de control intentará predecir ese salto.
  3. Si el predictor de saltos ha funcionado bien, se continúa con normalidad pero, ¿qué pasa si falla?

El el caso de fallo habría que echar atrás todo el pipeline ya que habría que volver a ejecutar ese bucle para que saque el resultado correcto de su ejecución. Se vaciaría todo el pipeline porque no se podría asegurar que alguna de las instrucciones que venía por detrás no utilizase ese resultado para alguno de sus operandos. Es cierto que existen técnicas para reducir esta penalización como la ejecución de instrucciones fuera de orden o en menor medida la tecnología propietaria de intel que llama HyperThreading, pero en aquella época esto no estaba tan desarrollado y esta penalización se juntaba con la latencia de la caché y un acceso a memoria lento, de unos 230 ciclos de reloj.

Por lo tanto, aunque de forma ideal aumentar las etapas del pipeline no tuviese desventajas, en la realidad el rendimiento no se acercaba ni de lejos al ideal.

AMD tomó una decisión de diseño más tradicional, con cachés más normales y un pipeline que no era tan largo como los pentium 4. Esto no le permitía alcanzar velocidades de reloj tan altas pero su rendimiento en la práctica era más cercano al teórico.

Los problemas para intel empezaron. Con ese empeoramiento de la caché y el pipeline tan largo las primeras generaciones de pentium 4 incluso rendían menos que los pentiun 3 anteriores. Su proceso de fabricación no permitía a los pentium 4 alcanzar esas velocidades de reloj tan absurdas que se habían propuesto y al final se quedaron con unos procesadores que tenian un IPC peor que los athlon de AMD de aquella época pero es que además para disimular esa falta de rendimiento, intel tenía que sacar los pentium 4 a unas frecuencias de reloj que hacían obligatorio meter un voltaje alto a esos procesadores con su consiguiente aumento de temperatura y consumo.

Consumo a plena carga athlon vs pentium 4
Consumo a plena carga athlon vs pentium 4

En otra entrada anterior puse una gráfica sobre la evolución de procesos de fabricación que me gustaría rescatar para este artículo:

Procesos de fabricación a lo largo del tiempo
Procesos de fabricación a lo largo del tiempo

Hasta ahora hemos estado hablando de las primeras fases de esa gráfica, hacia los 130 y 90 nanometros. Como puedes ver, muchas empresas fabricaban por aquel entonces procesadores y es que los procesos de fabricación no era algo tan exageradamente caro y complicado como es ahora. Esto hacía que no hubiese una ventaja determinante en este aspecto concreto entre procesadores haciendo que otras decisiones de diseño como las explicadas anteriormente tuviesen más peso en el desempeño de un procesador.

Hoy en día el panorama es bastante diferente. No solo hay muchas menos empresas que se mantengan en la cresta de la ola tecnológica en esto de los procesos de fabricación sino que entre ellas sí hay diferencias determinantes. Más que entre ellas, yo creo que sería más correcto decir que entre intel y las demás. A raíz de que los pentium 4 no alcanzasen ni de lejos las metas previstas intel se propuso no volver a cometer más errores de este estilo. Lo primero que hizo fue invertir más dinero en procesos de fabricación. Lo segundo fue tirar a la basura el trabajo hecho con los pemtium 4 y sacar a la luz un proyecto de su equipo de i+d de Israel que estaba trabajando en una evolución del Pentium 3 (un procesador con un pipeline de un tamaño racional) que más tarde se convertiría en el core duo y que llega hasta los core i7 de nuestros días. Como mecánica de trabajo implantó su famoso “tick tock” que intercalaba la mejora de un proceso de fabricación con la mejora en la arquitectura de sus procesadores. No haría nunca dos cosas a la vez para así tener controlados los cambios en todo momento y poder identificar con más precisión lo que ha podido salir mal. Este tick tock se ha acabado convirtiendo en un martillo pilón que aplasta de forma inexorable cualquier competencia que intel pudiese tener. Eso, y los 12.000 millones de dólares en i+d que se gastan al año, que también tiene mucho que ver.

¿Qué ha pasado en AMD durante ese tiempo?

Intel es una empresa monstruosa comparado con AMD lo que les permitió recuperarse rápido del patinazo Pentium 4 al haber podido mantener varios equipos de desarrollo trabajando en proyectos distintos. Tiraron uno a la basura, cogieron otro que funcionaba y siguieron desde ahí. AMD ha solido tener problemas económicos casi siempre lo que determinó ciertos movimientos empresariales que a la larga les han acabado perjudicando. Uno de estos movimientos que sigue dando que hablar hoy en día es la venta que hizo AMD de su proceso de fabricación. De ahí surgió GlobalFoundries, una empresa aparte de AMD pero que seguía estando ligada a esta última por acuerdos de volumen de pedidos obligatorios. Gran parte del destino en el diseño de los procesadores de AMD estaba por tanto, en manos de una empresa externa, a diferencia de intel.

GlobalFoundries no pudo contar con la inversión en i+d que AMD le venía dando cuando formaban parte de la empresa y su proceso de fabricación se quedó un poco rezagado. Esto nos lleva hasta nuestros días y hasta los procesadores que AMD ha acabado sacando al mercado con sus Bulldozer y siguientes. En AMD se encontraron con un proceso de fabricación que esta vez sí era palpablemente peor que el de intel, con lo que se les tenía que ocurrir una forma de intentar hacer más con menos para aparentar. Por eso los bulldozer prescinden de la mitad de unidades de coma flotante o tienen los dispatchers de instrucciones más simplificados. Los recortes en partes del procesador fueron demasiado lejos y se acabó dando la circunstancia de que hasta la propia generación anterior de AMD (los phenom 2) acababan teniendo mejor IPC que esos bulldozer. AMD con sus bulldozer confió en una mejora del paralelismo en la ejecución de los programas que todavía tardaría unos cuantos años en llegar.

En AMD se encontraron en una situación incómoda, algo como lo que he comentado antes del Pentium 3 teniendo mejor rendimiento que los Pentium 4 iniciales. Por ello, en AMD optaron por intentar subir lo máximo posible la velocidad de reloj de sus procesadores muy al estilo de intel y sus Pentium 4. Aumentaron la latencia de las cachés, alargaron el pipeline, aumentaron el voltaje, comsumo y temperatura… Esto me suena. En este caso además pudieron convencer a GlobalFoundries para que su proceso de 32 nanometros FDSOI se centrase en velocidades de reloj lo máximo posible. Así AMD acababa sacando al mercado procesadores “muy pentium 4” que llegaban a 4 gigahercios como si nada pero que tenían un ICP peor que su generación anterior e intentaban arreglarlo a base de velocidad de reloj. Y como a intel, no les ha funcionado.

¿De cara al futuro qué tal lo tienen? Pues mal, GlobalFonudries sigue retrasada comparado con intel. Sacando mi bola de cristal, yo creo que AMD volverá a un planteamiento más racional en el diseño de sus procesadores (como sus antiguos athlon o el pentium 3) y como no puede competir directamente con intel, pues intentará meterse en otros mercados como está intentando hacer con sus APU.

En conclusión, como respuesta a la pregunta que tiene este artículo en el título, yo creo que AMD no podrá volver a competir con intel directamente al menos en el corto-medio plazo. Principalmente por el proceso de fabricación de GlobalFoundries al que sigue atado y como aspectos secundarios, la diferencia en i+d y la arquitectura bulldozer y compañía que prometía mucho pero no ha cumplido con todo lo que prometía.

12 comentarios en “¿Por qué AMD ya no puede alcazar a intel?

  1. Pedazo artículo, sí señor. Pero no estoy de acuerdo del todo con lo último que has dicho: me explico. Los últimos procesadores AMD tienen la granventaja llamada calidad precio. Hace poco compramos un PC con micro AMD y va de cine. En cuestión es el A10 5800K. El hecho de elegir Intel supone una elevación de los precios de la placa base por ejemplo, que mucha gente no está dispuesta a pagar. Y a penas sacrificas rendimiento. Además, la gpu que montan sirve pero que de mucho. En resumidas cuentas: en el mercado de los entusiastas y gamers no pueden competir mucho (que tampoco es del todo cierto), pero en el medio bajo vaya que si que pueden competir.

    1. Tienes razón. La variable calidad precio es algo que no he comentado en el artículo.
      Igual también tendría que haber especificado que en el artículo hablaba más bien de procesadores tradicionales pero bueno, está bien que comentes otras alternativas a la configuración de intel de siempre a ver si así hay más gente que se anima a probar una APU.

  2. Buenas Pepone, buen post. Yo soy un Fanboy de AMD, pero de los cansinos. Aunque soy Fan de AMD, soy realista con las prestaciones que puede dar, en especial en esta ultima hornada de procesadores, como el “AMD FX Series FX-9590” que mas que un procesador es un hornillo de cocina. Ya mi 955, me parece que consume demasiado, soy muy defensor de de las APU, tener en cuenta que ademas AMD no solo se esta centrando en investigar en el modelo de fabricación de CPU, Las APU de AMD ofrecen una relación Grafica/CPU, digamos de 4 a 1, es decir mucha mas potencia gráfica, que potencia de calculo pura y dura. Cierto que el OpenCL aun se usa muy poco en aplicaciones, pero yo ando muy esperanzado en el HSA, que hará que el calculo por GPU, se unifique al de CPU a nivel Hardware, se que el HSA, no se estandarizara, hasta dentro de varios años, a no ser LINUX y algunas, aplicaciones contadas. Pero creo que es el futuro, Ademas que AMD se aya centrado mucho antes que Intel en pertenecer al concilio de ARM, hace esperanzar, que se usen gráficas Radeom, en SOC’s, como actualmente tenemos MALI, PowerVR…

    Se que AMD nunca mas alcanzara en procesadores tradicionales a INTEL, pero la pregunta es:
    ¿Durante cuanto tiempo mas existirán esos procesadores?

    Otros extras que siempre AMD, a sido de lo mejor de la industria, es hacer inventos o apaños, que suelen ayudar a mitigar sus carencias y ya no solo eso, que ademas las dan las especificaciones publicas, con lo cual no es tecnología exclusiva, como el DualChanel en las memorias RAM, actualmente AMD anda dependiendo mucho a “Mantle” una nueva API gráfica, que principalmente intenta reducir a mínimos el consumo de CPU para supervisión de calculo 3D, esto hace que si tienes una gráfica de gama ALTA, y un procesador justito, intenta mitigar a que no sea la Grafica, con su alta carga la que genere cuello de votella, por la cantidad de calculos que tiene que supervisar, dando mas libertad a la GPU, independientemente que sea AMD, NVIDIA o Intel…. Solo requiere un diver gráfico con soporte y que el juego o APP-3D la soporte.

  3. Buen articulo, recien me lo pasan, pero, estas seguro de todo lo que dices? te digo porque AMD no puede alcanzar a Intel? la mayoria de programas y juegos solo utilizan 1, 2 o 4 nucleos, claramente el rendimiento de Intel es mejor que el del AMD si cumplimos esos parametros, pero, si llevamos todo el software a otro nivel, si usamos mas nucleos, los resultados de rendimiento se emparejan, juegos como Battlefield demuestran eso, si no me crees, busca un video en youtube AMD FX6300 vs i7 4770K R7 260X
    tambien es un problema de APIs, solo en el caso de Battlefield se utilizan mas de 4 nucleos, en los demas 2 o 4 nucleos dandole la ventaja a Intel, Direct X11._ es muy deficiente, en la API Mantle se puede apreciar una comparacion mejor entre Intel y AMD, otra cosa es que los softwares actuales apenas utilizan SSE4.2 hacia abajo, no se han actualizado a AVX y FMA, AMD posee una FMA mas avanzada que la de Intel y al momento del lanzamiento de Vishera poseia AVX1.1 y FMA3 mientras Intel seguia en AVX1.0 y sin FMA3, los softwares estan 7 años detras del hardware… apenas ahora veo juegos como Shadow of Mordor que detecta la presencia de SSE4A en AMD o SSE4.1 en Intel para abrir, otros pocos titulos mas hacen eso… ademas de los retrasos de mercado y el espionaje industrial, los pagos que hace Intel a varias compañias, incluso tiendas para que implementen y vendan hardware Intel en vez de AMD, muchas tiendas han sacado el hardware AMD totalmente… que quiere decir esto? miedo?
    si eres el mejor, no necesitas hacer esto

    AMD es el futuro, esta mas adelantado y con los proximos nucleos, Scavator y ZEN abriran los ojos, Scavator a 28nm superara a los procesadores de 22nm de Intel en consumo, competiran contra los 14nm, porque? acaso no se dan cuenta? en el momento del lanzamiento de Vishera, un 8 nucleos AMD FX tiene la misma cantidad de transistores Intel 4 nucleos, ya es un logro que AMD haya superado los 22nm con Jaguar a 28nm, no se desde que punto ustedes ven las cosas, AMD esta llamando a una actualizacion de software desde el lanzamiento de los Phenom II x6, luego con Bulldozer y ahora con HSA, con Mantle, el software esta 7 años retrasado, por eso Intel rinde mejor en general, a estas alturas todo software deberia utilizar mas de 4 nucleos, FMA y AVX

    Saludos

    1. Voy a ver si te puedo responder a todo con mi punto de vista.
      Lo primero que comentas es la desventaja de los procesadores AMD en aplicaciones que usan pocos núcleos y me pones de ejemplo un escaso par de juegos para demostrar lo contrario. Dejando a un lado la amplísima mayoría de juegos que han salido durante años y que en pleno 2015 siguen demostrando que los procesadores de intel siguen por encima, desde siempre han existido aplicaciones que escalan perfectamente en multihilo. Compresión de archivos, codificación de vídeo, aplicaciones de computación distribuída… Todas ellas demostraban en su día que los Athlon de AMD estaban por delante de los pentium 4 al igual que hoy en día demuestran que los core de intel están por encima de los bulldozer y siguientes de AMD.
      Cuando hay que ponerse a rascar algún ejemplo muy, muy concreto en donde casualmente algo rinde mejor, es que algo no va bien. En ejemplos muy concretos también se podía decir que el pentium 4 sacaba mejor puntuación que los athlon contemporáneos y no por eso voy a decir que el pentium 4 era mejor.

      De todas formas en mi artículo decía una cosa clara en favor de amd en sus ojos puestos en el futuro:

      “AMD con sus bulldozer confió en una mejora del paralelismo en la ejecución de los programas que todavía tardaría unos cuantos años en llegar.”

      ¿Cuál es el problema de esto? Que esa mejora en el paralelismo en aplicaciones de andar por casa está empezando a llegar ahora, 3 años después de que amd lanzase al mercado sus vishera. Desde 2012 los vishera siguen sin sustituto a la vista mientras que intel en ese periodo ha sacado los sandy bridge, los ivy bridge y los hasswell, con mejoras incrementales uno sobre el otro, tanto en arquitectura como en proceso de fabricación. Al final esa ventaja que amd hubiese podido tener, se ha escapado en el tiempo.

      Que mucho software actual no utilice lo último de lo último en extensiones de instrucciones es por una cuestión de compatibilidad. Comentas que el software está 7 años por detrás del hardware y que por eso amd está en desventaja. Esto puede ser un argumento con vuelta, ya que como he dicho antes, los vishera siguen igual desde 2012 y mientras intel ha ido metiendo AVX 2.0 y FMA 3 de 256 bits, entre otras cosas. Y yo podría decir que vaya, intel rinde más que amd aún sin poderse usar todo ese adelanto que intel tiene a día de hoy sobre amd en nuevas extensiones.
      De las instrucciones SSE a día de hoy no creo que siga mereciendo la pena hablar porque si precisamente hoy en día se habla tanto de AVX es porque este último está pensado para sustituir a SSE, con lo que hoy en día tiene más peso que un procesador sea compatible con AVX 2.0 por poner un ejemplo que con modificaciones de SSE que ha hecho AMD por libre.

      De retrasos, sobornos y demás no voy a hablar porque yo prefiero hablar de cosas medibles y tangibles y no de conjeturas y consipraciones.

      Hablando del futuro, veo muy complicado que una compañía como amd con un presupuesto anual en investigación y desarrollo de unos pocos cientos de millones de dólares a repartir entre procesadores y el mercado de tarjetas gráficas tenga muchas posibilidades de competir de tú a tú con intel, que suele rondar los 12.000 millones de dólares anuales en investigación y desarrollo y nvidia, que ella sola también tiene más presupuesto de investigación que toda amd a día de hoy, a pesar de ser nvidia una compañía casi exclusiva de gráficas. Y el presupuesto en investigación y desarrollo de amd se reduce año a año, al contrario que el de intel y nvidia.

      De zen a día de hoy se conoce poco, y todo apunta a que va a ser un núcleo pequeño que tendrá dificil para competir con los núcleos core de intel, muy grandes. Que estén apuntando a una compatibilidad con núcleos ARM no dice mucho a favor de zen.
      Que excavator supere a intel en consumo me parece una broma de mal gusto cuando todavía no se ha visto en el mercado y cuando en los últimos años el producto de amd en cuestión acaba saliendo al mercado, se ve que acaba consumiendo más que el contemporáneo de intel al que se tiene que enfrentar.
      Los procesadores de intel a 14 nanometros que sustituirán a hasswell están a la vuelta de la esquina. Broadwell ya está en muchos aparatos del mercado y mientras amd lo que tiene es un zen del que se sabe poco, unos vishera del 2012 y apus como kaveri que sí, que están bastante bien, pero no son algo determinante en el mercado.

      Hablas de número de transistores de un intel 4 núcleos frente a un amd 8 núcleos. Primero hay que dejar claro que los núcleos de amd tienen más de medio-núcleo que de núcleo completo como los de intel por cosas que comento en el artículo como prescindir de unidades de coma flotante y demás. Luego, amd mete 1200 millones de transistores dedicados sólo al procesador en 315mm2 (un vishera), mientras que intel mete sus núcleos más potentes junto con una gráfica integrada que suman 1400 millones de transistores en 177mm2 (casi la mitad de espacio) y encima consumiendo bastante menos y con temperaturas más aceptables que el amd (un hasswell en este caso). No veo nada meritorio de amd en esto que has comentado, la verdad.

  4. Excavator, mejorará un tanto el IPC, aunque no llegará a ser tan potente un núcleo intel. Luego la arquitectura Zen, dará un giro inespesperado: cachés más rápidas, más instrucciones por ciclo de reloj, arquitecturas tanto en unidad artimético-logica y FPU más anchas, a los efectos de construir un único hilo muy potente. A partir de allí se aprovechará ese mayor IPC con la tecnología SMT que se ha dicho, que será de 2. Similar al Hiper Threding de Intel, no igual. Hay procesadores IBM POWER que funcionan con 4 hilos y SUN con 8. Lo que ya es mucho, pero Sun tiene en el mercado un único procesador de 128 hilos. Esto indudablemente, me dejó una gran duda ¿Será realmetne un único núcleo?. En RISC, las cosas son distintas. Esto hará que AMD se le plante a Intel y compita y gane seguramente en el segmento bajo y medio. En el entusiaste y de alta performance … peleará. Serán fabricados en 16 ó 14nanómetros y veremos en que valores se sitúan las frecuencias. El largo de cada “tubería” debiera situarse en unas 14 etapas. 12 es un valor muy bajo y es muy difícil llegar a frecuencias altas. Veremos que logran y como van superando ciertas limitaciones técnicas ….

    1. Tecnologías como el hyperthreading y similares en otros fabricantes realmente no son dependientes del número de núcleos sino de la capacidad de aprovechamiento de los recursos de un núcleo concreto en el caso de que quieras intentar ejecutar más de una cosa a la vez para asi intentar llenar los recursos de ejecución del procesador lo máximo posible:
      http://images.anandtech.com/doci/8457/SMT_575px.JPG

      En los procesadores destinados al consumidor como podemos ser nosotros, se le suele dar más importancia a la latencia a la hora de ejecutar algo y no tanto a otras cosas como el throughput. Por esto se suelen ver o bien procesadores sin hyperthreading (o similares) o con una cantidad de hilos por núcleo bastante baja.
      Esos otros procesadores que comentas con muchos hilos por núcleo suelen ir más destinados a temas de redes en donde es más importante manejar muchos hilos aunque estos acaben siendo mucho más lentos que si se hubiesen metido menos hilos por núcleo.

  5. En ocasiones, páginas web, publican equipos con 128 hilos y no son del todo claros, si montan un procesador o 128. En el artículo que recuerdo estaban tratando el tema de las posibilidades del SMT. Cada hilo, debe contar con ciertos registros y en general circuitería dedicada exclusivamente a ese hilo, por lo que imaginé una obra de ingeniería electrónica, más espacio dedicado a SMT que al núcleo en sí. En el caso de Intel, el HT, ocupa un 14% más de espacio. Esto es mucho menor que el CMT (de Bulldozer, por ejemplo) que ocupa bastante más pero el rendimiento del módulo, se aproxima a un 80% de un doble núcleo real. Lo malo, es que no se puede usar todo el módulo en un único hilo, por lo que en mono-tarea, no arroja resultados buenos y muchos programas aún, no están escritos ni para 4 núcleos, mucho menos para 8. No es el momento de la arquitectura CMT. El soft no lo aprovecha del todo. Se adapta mejor a la arquitectura Intel actual, quien a su vez, provee la mayoría de los compiladores. Microsoft, presta más atención a Intel que Amd, no hay duda. Muchos programas están lisa y llanamente optimizados para Intel. No le queda otra a AMD, desarrollar la arquitectua Zen, más al estilo de los K7, K8, K10 y K10,5, para competir, en un monopolio, netamente azul. Algo más, no guiarse demasiado por los Bench, particularmente los sintéticos … ¿Quién compila esos software’s?

  6. Intel a partir de los últimos procesadores Pentium 4 metió el Hyper Threading y ya esta, 32%-60% mas de rendimiento (UN POCO INEFICIENTE), mientras AMD dormía, como esta durmiendo Intel ahora, que en cualquier momento mandan una APU, zen de 16gb HBM. Si se fijan bien un procesador de AMD cualquiera utilizando un solo núcleo a 4ghz, es mucho mejor en aplicaciones mononucleo que un intel, ahora parece ser que AMD llega a los 14nm y Intel se queda en 14nm.

    1. El hyperthreading no tiene por qué ser ineficiente si está bien diseñado. De hecho con Zen se espera que AMD también implemente una solución SMT tipo el hyperthreading de intel después de haber visto que el CMT no les ha funcionado como esperaban.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *