La batalla entre núcleos grandes y pequeños y la verdadera arquitectura de ocho núcleos de los teléfonos móviles ¿Es realmente importante hablar de tener más núcleos?
La guerra de los procesadores de aplicaciones para teléfonos inteligentes se ha vuelto loca, pasando de los cuatro núcleos a los ocho núcleos. Los diseños de ocho núcleos que hay actualmente en el mercado, además de los big.LITTLE, grandes y pequeños, promovidos principalmente por ARM. son big.LITTLE de MediaTek que se basan en una arquitectura de núcleos grandes y pequeños, pero los dos conjuntos de grupos de núcleos utilizan el mismo diseño verdadero de ocho núcleos Cortex-A7, omitiendo la GPU y otras variables, y también preestablecen la colaboración de grupos duales de los grandes. y los núcleos pequeños se realizan normalmente. El autor simplemente compara estos dos diseños de ocho núcleos.
Saltar para continuar
El punto de partida de la arquitectura de núcleo grande y pequeño es muy simple, teniendo en cuenta la complejidad y el consumo de energía de la nueva generación de arquitectura de alta gama Cortex. -A15, incluso si reduce significativamente la frecuencia y el voltaje aún es limitado, por lo que es necesario utilizar un método mejor que el ajuste dinámico del reloj DVFS para reducir el consumo de energía en el uso diario. Por lo tanto, la idea en ese momento era utilizar un. grupo de grupos de bajo consumo de energía adecuados para el uso diario, combinados con computación de alta carga Cortex-A15, y cambia entre los dos grupos para lograr un efecto de consumo de energía teóricamente equilibrado.
El diseño de Cortex-A15 es muy complicado y el consumo de energía también es alto (un solo núcleo a máxima velocidad por debajo de 2 GHz está cerca de 1,5 W), por lo que se utiliza el Cortex-A7 con arquitectura simplificada ( El consumo de energía de un solo núcleo es de aproximadamente 0,3 W). En comparación, el Cortex-A7 sin ejecución fuera de orden no es tan eficiente como el Cortex-A15, pero está cerca del Cortex-A9 con el mismo pulso y el mismo tamaño de oblea. es más pequeño.
Bajo el concepto de núcleos grandes y pequeños, dos conjuntos de grupos con diferente rendimiento se complementan. Normalmente se utiliza Cortex-A7, y cuando hay mayores requisitos informáticos se pasa a Cortex-A15. , pero en modo de alto rendimiento Originalmente no estaba diseñado para uso a largo plazo. La idea original era proporcionar aceleración del rendimiento a corto plazo. Aunque el conjunto de instrucciones Cortex-A7 es compatible con Cortex-A15 y, en teoría, se puede cambiar sin problemas. , la arquitectura central grande y pequeña tiene sus puntos ciegos.
La clave está en el cambio de los dos grupos, porque el diseño original del núcleo grande y pequeño es que los dos grupos no pueden funcionar al mismo tiempo, y los dos grupos cambian entre sí, sin embargo, para una transferencia fluida, los datos de la memoria deben almacenarse en un búfer durante la conmutación, y el almacenamiento en búfer requiere tiempo y consumo de energía para la transmisión de datos. Si la conmutación entre los dos grupos se vuelve más frecuente, no solo aumentará el retraso. aumentará, pero también provocará el consumo de electricidad.
Por supuesto, el objetivo final de los núcleos grandes y pequeños es lograr una colaboración simultánea de ocho núcleos de doble grupo, pero esto requiere afrontar si el consumo de energía y la generación de calor a máxima potencia pueden seguir siendo normales en un dispositivo portátil. entorno del dispositivo, especialmente porque la capacidad de enfriamiento pasivo de los teléfonos móviles actuales es como máximo 3W. Si excede el límite durante demasiado tiempo, solo se puede usar a una frecuencia reducida, de lo contrario podría dañar el dispositivo.
El verdadero enfoque de ocho núcleos de MediaTek también se basa en dos conjuntos de grupos de procesadores, pero la diferencia es que el verdadero ocho núcleos elige dos conjuntos de Cortex-A7 con el mismo rendimiento. Cortex-A7 de 8 núcleos El rendimiento es difícil de comparar con la arquitectura de núcleos grandes y pequeños admitida por Cortex-A15, pero el consumo de energía inherentemente bajo de Cortex-A7 no solo puede reducir la generación de calor y reducir el área de la oblea.
Debido a que no hay diferencia en el rendimiento entre los dos conjuntos de grupos, cuando el sistema está en funcionamiento, solo necesita saber cuándo la carga del primer grupo excede qué tan alta es para abrir el segundo grupo. y no es necesario juzgar la carga para la agrupación. El cambio entre grupos solo requiere almacenamiento en búfer de datos de memoria cuando ocasionalmente se necesitan más de 4 recursos centrales. También puede reducir el retraso del cambio de grupo y el consumo de energía de la transmisión del búfer de memoria.
Sin embargo, el problema de que no importa si se trata de un núcleo grande o pequeño o un verdadero sistema de ocho núcleos es que, dada la situación actual del software, ¿es útil un sistema de ocho núcleos? La respuesta es un poco vergonzosa. Al igual que la pregunta planteada por lectores anteriores, el software actual de Android no ha sido completamente optimizado para múltiples núcleos. Incluso las aplicaciones de alta carga solo pueden usar los recursos de aproximadamente 3 núcleos, e incluso solo 3. núcleos en la mayoría de los casos, recursos de un solo núcleo, en cuanto al juego, son los recursos de la GPU los que se consumen y la dependencia de la CPU no es tan alta como se esperaba.
Por lo tanto, según el entorno de software actual, el rendimiento de un solo núcleo seguirá siendo más significativo que el de tener varios núcleos en uso real. Por lo tanto, los núcleos grandes y pequeños y los ocho núcleos reales seguirán siendo grandes y grandes. Núcleos pequeños en la mayoría de las experiencias de uso reales. ¿Popular, pero no mucho? Dado que el desarrollo actual del software Android se basa en hardware que puede satisfacer el 80% de los teléfonos móviles del mercado, el verdadero ocho núcleos que aumenta deliberadamente la velocidad del reloj no parece ser mucho peor que los núcleos grandes y pequeños que puede verse ralentizado debido a una excesiva disipación de calor de la arquitectura en cualquier momento.
¿Pero ocho núcleos son realmente inútiles? ARM y MediaTek no son tontos. Para aprovechar la colaboración de núcleos grandes y múltiples, también están cooperando activamente con los desarrolladores de software. Esperan utilizar un método simple para permitir a los desarrolladores de software abrir los cambios agregando algunas instrucciones. Soporte de múltiples núcleos, pero el efecto no es obvio ahora que la arquitectura de 8 núcleos acaba de comenzar.
Por lo tanto, la forma más común que tienen los fabricantes de verificar ocho núcleos en esta etapa es demostrar el códec de software en formato HEVC (H.265), una nueva generación de codificación que aún no ha introducido la decodificación por hardware originalmente. , el procesamiento de audio y video tenía un requisito para la cantidad de núcleos, que es mucho más importante que el rendimiento del núcleo, por lo que en muchos casos la aceleración de GPU se utiliza para lograr la codificación y decodificación de imágenes. Sin embargo, en los teléfonos móviles, la colaboración de GPU aún no se ha convertido. convencional, por lo que desde la perspectiva puramente de la CPU, más núcleos son relativamente beneficiosos.
Para las aplicaciones actuales, los beneficios de los múltiples núcleos todavía necesitan que los fabricantes de software introduzcan gradualmente soporte y optimización para la arquitectura de múltiples núcleos. cuatro núcleos pueden ser aceptables. Se considera una demostración de potencia de fuego, pero no es completamente inútil, pero aún no ha demostrado su verdadero valor.