¿Por qué el procesador Apple A12X tiene mejores resultados de referencia que el i7-4790T?

6

En mi estación de trabajo tengo un Intel i7-4790T que siempre pensé que era una CPU bastante rápida. Pero según Geekbench 4, el procesador Apple A12X del nuevo iPad Pro lo supera cómodamente. Cuando ejecuto Geekbench 4 obtengo una velocidad central única de alrededor de 4.000, pero en el nuevo iPad Pro el procesador A12X devuelve alrededor de 5.000, es decir, un 25% más rápido. De hecho, incluso el A12 y el A11 obtienen una puntuación más alta que mi i7-4790T . En la prueba multinúcleo, mi CPU tiene un puntaje de más de 11,000, mientras que el A12X obtiene 18,000, que es un 60% más rápido.

Una pregunta preliminar es si Geekbench es un indicador confiable de la velocidad del mundo real. Por ejemplo, lo único que hago que realmente enfatiza mi CPU es el remuestreo de video con Handbrake . Handbrake no está disponible para IOS, pero suponiendo que fuera portado, ¿Handbrake realmente procesaría videos un 60% más rápido en el A12X, o la puntuación de Geekbench no representa el rendimiento del mundo real?

Pero mi pregunta principal es esta: dejando de lado exactamente cómo se comparan el A12X y mi CPU, ¿cómo ha logrado Apple obtener un chip RISC basado en ARM para que sea tan rápido? ¿Qué aspectos de su arquitectura son responsables de la alta velocidad?

Mi comprensión de las arquitecturas RISC es que hacen menos por ciclo de reloj, pero su diseño simple significa que pueden funcionar a velocidades de reloj más altas. Pero el A12X funciona a 2.5GHz mientras que mi i7 tiene una velocidad base de 2.7GHz y aumentará a 3.9GHz en cargas de un solo núcleo. Entonces, dado que mi i7 funcionará a velocidades de reloj un 50% más rápido que el A12X, ¿cómo logra vencerlo el chip de Apple?

Por lo que puedo encontrar en Internet, el A12X tiene mucho más caché L2, 8 MB frente a 256 KB (por núcleo) para mi i7, así que esa es una gran diferencia. Pero, ¿este caché L2 adicional realmente marca una gran diferencia en el rendimiento?

Apéndice: Geekbench

La prueba de CPU Geekbench solo enfatiza la velocidad de la CPU y la memoria de la CPU. Los detalles de cómo Geekbench hace esto se describen en este PDF (136 KB) . Las pruebas parecen ser exactamente el tipo de cosas que hacemos que usan mucha CPU, y parece que de hecho serían representativas del rendimiento de Handbrake que sugerí como ejemplo.

El desglose detallado de los resultados de Geekbench para mi i7-4790T y el A12X son:

Test            i7-4790T      A12X
Crypto            3870        3727
Integer           4412        5346
Floating Point    4140        4581
Memory Score      3279        5320
John Rennie
fuente

Respuestas:

11

El A12X es una enorme CPU construida con la última tecnología, dejando muy atrás el antiguo i7-4790T que data de 2014.

La primera diferencia es el proceso de fabricación: el A12X es un chip de 7 nm, mientras que el i7-4790T Haswell-DT está construido en viejos 22 nm. Los transistores más pequeños significan menos espacio, menos potencia de operación y señales más rápidas a través de rutas de chip más cortas.

El A12X tiene 10 mil millones de transistores, mientras que el i7-4790T tiene solo 1,4 mil millones.

Esto permite que el A12X tenga seis canales de ejecución de enteros, entre los cuales dos son unidades complejas, dos unidades de carga y almacenamiento, dos puertos de ramificación y tres canales de FP / vector, lo que da un total de 13 puertos de ejecución estimados, mucho más que los ocho puertos de ejecución de la arquitectura Haswell-DT.

Para el tamaño de caché, por núcleo que tenemos en el A12: cada núcleo grande tiene caché L1 de 128kB y caché L2 de 8MB. Cada pequeño núcleo tiene 32kB de L1 y 2MB de L2. También hay 8 MB adicionales de $ SoC para todo el mundo (también se usa para otras cosas).

La arquitectura Haswell tiene un caché L1 de 64 KB por núcleo, un caché L2 de 256 KB por núcleo y un caché L3 de 2 a 40 MB (compartido).

Se puede ver que el A12X supera al i7-4790T en todos los puntos y por un amplio margen.

Con respecto a la arquitectura RISC vs CISC, este es ahora un punto discutible en los procesadores modernos. Ambas arquitecturas han evolucionado hasta el punto de que ahora emulan las características del otro hasta cierto punto para mitigar las debilidades.

Cito aquí el cuadro de comparaciones con las CPU Xeon 8192, i7 6700k y AMD EPYC 7601, compiladas por Reddit (enlace a continuación), donde el A12 se compara bien incluso con procesadores de escritorio:

imagen

Fuentes:

harrymc
fuente
1
Los 7 nm de TSMC son más comparables a los 10 nm de Intel, por lo que representa "solo" un líder de generación de dos procesos. RISC / CISC hace una diferencia notable en la microarquitectura. Un RISC no tendría un caché de microcódigo con instrucciones sustancialmente gastadas (~ 90 bits por operación frente a ~ 38 bits por instrucción con una predecodificación significativa en un RISC Icache) para reducir la latencia / energía de decodificación. Los registros adicionales también pueden aumentar el rendimiento en un 1-2%. Estas ventajas RISC son pequeñas en comparación con la microarquitectura y pequeñas en comparación con la tecnología de procesos, pero no son cero.
Paul A. Clayton el
@ PaulA.Clayton el debate moderno RISC / CISC es inútil. Las CPU ARM han utilizado el microcódigo durante mucho tiempo. Los RISC tienen más registros simplemente porque no pueden acceder a la memoria en las instrucciones normales. Las CPU CISC pueden tener cientos de registros internos debido al cambio de nombre del registro. ¿Y de dónde sacas esos 90 y 38 bits? La longitud promedio de las instrucciones x86 son solo más de 2 bytes
phuclv
@phuclv, los procesadores Intel han estado utilizando microcódigo, desde antes de que existiera la arquitectura ARM en los dispositivos de los usuarios. El microcódigo se implementó después del error Pentium. En cuanto a CISC / RISC, el microcódigo de Intel procesa internamente las instrucciones de CISC a múltiples instrucciones de RISC y las canaliza.
Strom
0

Está comparando arquitecturas muy diferentes entre el A12X y Haswell (Intel i7-4790T), y los números de referencia no son directamente comparables, al igual que los dos procesadores no son directamente comparables.

Comprender lo que está probando una prueba en particular es útil para tratar de entender lo que significan los números. Al pasar por la prueba de banco geek, comencemos en la última línea.

Según sus pruebas de GeekBench, el ancho de banda de memoria entre el A12X y el chip haswell está muy sesgado. El A12X tiene aproximadamente el doble de rendimiento de memoria. Si bien las pruebas de memoria generalmente combinan dos elementos no relacionados, latencia y ancho de banda, el A12X es el claro ganador aquí.

El siguiente elemento es el rendimiento de coma flotante. Esta prueba está tratando de comparar el código optimizado a mano entre diferentes arquitecturas. Si bien los números pueden estar sesgados por la calidad de las optimizaciones, esto debería ser un buen estadio para el rendimiento general de la FPU y es directamente comparable. Aquí los dos procesadores tienen resultados similares.

La prueba menos útil es la prueba denominada rendimiento de enteros. No es un rendimiento entero en el sentido aritmético, sino más bien una colección de cargas de trabajo genéricas que no son FPU. Estas pruebas son significativas porque muestran el rendimiento de la aplicación en una plataforma, pero no son significativas para decir que el procesador A es mejor que el procesador B, ya que son algo sensibles al rendimiento de la memoria.

El último es la carga de trabajo de Crypto. Esto es significativo en abstracto, aunque la prueba en particular probablemente no sea tan útil. El cifrado de alto rendimiento debería usar AES-GCM, no AES-CTR, el último de los cuales tampoco se presta a la aceleración de hardware. Este también es un punto de referencia específico de dominio.

Si tratara de decir algo inteligente sobre esos números en particular, intentemos esto;

  • El A12X ha mejorado significativamente el ancho de banda de la memoria. Esto se debe en parte a que la memoria de escritorio parece estar a la zaga de las tecnologías de memoria actuales, pero también porque el rendimiento de la memoria ha mejorado en cinco años.
  • El A12X tiene un rendimiento de FPU ligeramente mejor por núcleo que el i7-4790T.
  • El A12X ejecutará cargas de trabajo genéricas similares o más rápidas que el i7-4790T.
  • El A12X es mucho mejor en cargas de trabajo específicas del dominio, ya que proporciona soporte de hardware para instrucciones nuevas y diferentes que reflejan mejor las necesidades de una tableta / dispositivo celular.

Sacar conclusiones más amplias basadas en esos números, o hacer afirmaciones arquitectónicas basadas en esos números probablemente no sea sabio.

En cuanto a una comparación de arquitectura genérica, RISC vs CISC ya no tiene sentido ya que ambos conjuntos de instrucciones están decodificados en micro-operaciones que determinan cómo se distribuye la carga de trabajo. La comparación basada únicamente en puertos de ejecución probablemente no sea particularmente significativa ya que son bloques de construcción de alto nivel que no son directamente comparables.

La memoria caché es una cantidad importante que contribuye directamente al rendimiento del procesador, pero también es muy complicada. La forma en que se comparte la memoria caché entre la arquitectura de Intel y el A12X es completamente diferente. En general, tener más caché es mejor, pero igual de importante es la coherencia del caché, que afecta la forma en que las aplicaciones con subprocesos pueden compartir datos entre núcleos.

Por último, el procesador debe funcionar para su carga de trabajo. Si bien el A12X puede admitir una carga de trabajo de escritorio en algún momento en el futuro, el i7 v4 lo admite ahora, y eso lo convierte en una opción superior para un procesador de escritorio a pesar de que es cuatro o cinco años más antiguo que el A12X.

Claris
fuente