Este sitio puede ganar comisiones de afiliados a partir de los enlaces de esta página. Términos de Uso.

Nota: El trabajo preliminar y el crédito por el descubrimiento del que voy a hablar a continuación es para Usman Pirzada de WCCFTech. Estaba de vacaciones la semana pasada cuando se supo esta noticia, pero le hice algunas pruebas en una computadora portátil AMD para asegurarme de que estos hallazgos se aplicaran a las CPU Intel y AMD en relación con el M1.

Permítanme aclarar el título anterior: el “defecto” del que vamos a hablar no es un problema con ningún punto de referencia o revisor específico. Es una diferencia en cómo Apple M1 asigna y asigna recursos versus cómo funcionan las CPU x86.

Las CPU x86 de AMD e Intel están diseñadas para utilizar una técnica conocida como Symmetric Multi-Threading (Intel lo llama Hyper-Threading). AMD e Intel implementan la función de manera algo diferente, pero en ambos casos, las CPU habilitadas para SMT pueden programar el trabajo de más de un subproceso para su ejecución en el mismo ciclo de reloj. Una CPU que no admite SMT está limitada a ejecutar instrucciones desde el mismo hilo en cualquier ciclo dado.

Esta publicación muestra cómo se comparten (o no se comparten) los recursos SMT entre subprocesos en la arquitectura Zen original de AMD. Es posible que la empresa haya actualizado aspectos de su enfoque, pero este diagrama ilustra la idea de que los diferentes bloques de recursos se comparten de manera diferente en la CPU para facilitar la función.

Las CPU x86 modernas de AMD e Intel aprovechan SMT para mejorar el rendimiento en un promedio del 20 al 30 por ciento a una fracción del costo o la energía que se requeriría para construir un segundo núcleo completo. La otra cara de la moneda es que una carga de trabajo de un solo subproceso no puede aprovechar la ventaja de rendimiento que ofrece SMT.

El M1 de 8 anchos de Apple no tiene este problema. El front-end de una CPU RISC generalmente permite una mayor eficiencia en términos de instrucciones decodificadas por un solo hilo. (WCCFTech tiene un poco más de esto).

Esta no es una falla recién descubierta en las entrañas de las CPU de Intel y AMD, es la razón por la que Intel construyó HT y la razón por la que AMD también adoptó SMT. Una CPU x86 logra una eficiencia general mucho mayor cuando ejecuta dos subprocesos a través de un solo núcleo, en parte porque se han diseñado y optimizado explícitamente para él, y en parte porque SMT ayuda a las CPU con interfaces CISC desacopladas a lograr un IPC más alto en general.

Cómo afecta esta diferencia a los resultados de referencia

En cualquier comparación de rendimiento de 1T, las CPU x86 se ejecutan entre el 75 y el 80 por ciento de su rendimiento efectivo por núcleo. El M1 no tiene este problema.

El siguiente gráfico es de WCCFTech. Los puntos de datos rojos son mis propias contribuciones a su trabajo (que vale la pena leer por derecho propio):

Este gráfico le da un giro algo diferente a las cosas. Cuando ejecuta un segundo subproceso a través de las CPU x86, su rendimiento mejora significativamente. De hecho, aquí, el AMD Ryzen 4800U está superando al M1 por un pelo.

¿Es esta una comparación justa? Eso realmente dependerá de lo que quieras medir. ¿Núcleo por núcleo? Si. Hilo por hilo? No. Esta diferencia en la utilización crea complicaciones para las comparaciones entre x86 y M1. La última vez que tratamos con algo similar en las mediciones de rendimiento fue cuando el Athlon XP de AMD se enfrentaba al Pentium 4 con Hyper-Threading. Dado que AMD tenía que fijar un precio a la defensiva, a veces era posible comprar un Athlon XP que superara a un P4 de precio equivalente en rendimiento de un solo subproceso, pero perdía en SMT.

El resultado final de esta diferencia es que no habrá una forma única y sencilla de comparar la escala entre Apple y x86 de la forma que tenemos para Intel y AMD. 1T por núcleo corta eficazmente a las CPU x86 de las capacidades destinadas a mejorar su rendimiento. Ejecutar 2T por núcleo tanto en x86 como en M1 forzaría a la CPU de Apple a una configuración potencialmente no óptima y podría degradar su rendimiento.

Ejecutar 2T en x86 y compararlo con 1T en M1 es “justo” en la medida en que ejecuta ambos núcleos en el estado optimizado por el fabricante, pero esto sería una comparación del rendimiento de un solo núcleo, no del rendimiento de un solo subproceso, y no va a funcionar. sorprenderá a la gente cuando una CPU con 2T supere a una CPU con 1T. Finalmente, ejecutar 2T1C en x86 versus 2T2C en el M1 crea una variación del problema original: la CPU x86 está limitada al rendimiento de un solo núcleo de CPU físico, mientras que el M1 se beneficia de dos núcleos de CPU físicos.

El problema aquí es que las CPU x86 están diseñadas para ejecutarse de manera óptima en configuraciones 2T1C, como indica una inmersión reciente de Anandtech en las ventajas y desventajas de rendimiento de habilitar SMT, mientras que la M1 está diseñada para funcionar de manera óptima en una configuración 1T1C.

Esto bien puede ser un problema continuo para x86. Recuerde que la escala por hilo está lejos de ser perfecta y empeora con cada hilo que agrega. Históricamente, la CPU que ofrece el mejor rendimiento por núcleo en el área de matriz más pequeña y con el mayor rendimiento por vatio es la CPU que gana cualquier “ronda” de las guerras de CPU que uno quiera considerar. El hecho de que x86 requiera dos subprocesos para hacer lo que Apple puede hacer con uno no es un punto fuerte. Si solo cargar una CPU x86 con un subproceso constituye una penalización, dependerá del tipo de comparación que desee realizar, pero debe reconocerse la diferencia en el recuento y la distribución óptimos de subprocesos.

Las grandes conclusiones de la M1 se mantienen sin cambios. En muchas pruebas, la CPU muestra resultados consistentemente más altos que las CPU x86 cuando se mide en términos de rendimiento por vatio. Cuando es superado por las CPU x86, normalmente es por chips que consumen mucha más energía que él mismo. El M1 parece sufrir un impacto de rendimiento del 20-30 por ciento cuando se ejecutan aplicaciones creadas para Intel Macs, y allí puede consumir más energía en este modo. El ecosistema de emulación de Apple y el soporte de terceros aún se encuentran en los primeros días y es posible que no satisfagan las necesidades de todos los usuarios, según el grado en que esté conectado al ecosistema general de Apple. Sin embargo, ninguno de estos es un reflejo directo del silicio del M1, que todavía parece uno de los avances más interesantes en silicio en las últimas décadas, y un presagio de problemas futuros para Intel y AMD.

Ahora lee: