Procesadores móviles en teléfonos móviles, ¿por qué ARM es tan popular?
En resumen, ARM es el ganador ahora e Intel es el oponente más fuerte de ARM. Entonces, ¿cuál es la diferencia entre los procesadores ARM y los procesadores Intel? ¿Por qué ARM es tan popular? ¿Importa qué procesador utiliza tu smartphone o tablet?
Procesador (CPU)
La unidad central de procesamiento (CPU) es el cerebro de los dispositivos inteligentes. Su trabajo es controlar su dispositivo, incluidas pantallas, pantallas táctiles, módems, etc., ejecutando una serie de instrucciones. , que convierte un trozo de plástico y metal en un brillante teléfono inteligente o tableta. Los dispositivos móviles son muy complejos y los procesadores que contienen necesitan ejecutar millones de líneas de instrucciones para hacer lo que la gente quiere que hagan estos dispositivos. La velocidad y el consumo de energía son fundamentales para los procesadores. La velocidad afecta la experiencia del usuario y el consumo de energía afecta la duración de la batería. El dispositivo móvil perfecto debe tener un buen rendimiento y un bajo consumo de energía.
Por eso es importante la elección del procesador. Un procesador que consume mucha energía y no responde agotará rápidamente la batería, mientras que un procesador sofisticado y eficiente le brindará un alto rendimiento y una batería de larga duración. En términos generales, la primera diferencia entre los procesadores ARM e Intel es que el primero utiliza un conjunto de instrucciones reducido (RISC) y el segundo utiliza un conjunto de instrucciones complejo (CISC). En términos generales, los conjuntos de instrucciones reducidos son más pequeños y más cercanos a las operaciones atómicas, mientras que los conjuntos de instrucciones complejos son más grandes y complejos. La llamada operación atómica significa que el procesador puede completar la mayor parte del trabajo de cada instrucción en una sola operación, como agregar dos registros. Las instrucciones del complejo conjunto de instrucciones describen una intención, pero el procesador debe ejecutar tres o cuatro instrucciones más simples para lograr esa intención. Por ejemplo, se puede ordenar a un procesador de conjunto de instrucciones complejo que sume dos números y almacene el resultado en la memoria principal. Para completar este comando, el procesador primero obtiene el primer número de la dirección 1 (operación 1), luego obtiene el otro número de la dirección 2 (operación 2), luego suma la suma (operación 3), y así sucesivamente.
Todos los procesadores modernos utilizan un concepto llamado microinstrucciones, que son un conjunto de instrucciones dentro del procesador que describen las operaciones atómicas que el procesador puede realizar. Los procesadores con conjuntos de instrucciones complejos en realidad ejecutan tres microinstrucciones. Para un procesador con un conjunto de instrucciones reducido, sus instrucciones están muy cerca de sus microinstrucciones. Las instrucciones de los procesadores de conjuntos de instrucciones complejos deben convertirse en microinstrucciones más concisas (como en el ejemplo anterior de adición de procesadores de conjuntos de instrucciones complejos). En otras palabras, el decodificador (lo que le dice al procesador exactamente qué hacer) en un procesador con conjunto de instrucciones reducido es mucho más simple, y simplicidad significa alta eficiencia y bajo consumo de energía.
Proceso de fabricación
Otra diferencia importante entre los procesadores ARM e Intel es que ARM siempre ha diseñado sólo procesadores de bajo consumo. El objetivo es diseñar procesadores de bajo consumo, que es su punto fuerte. La fortaleza de Intel es diseñar procesadores de escritorio y servidores de rendimiento ultraalto, y hacerlo bien. Intel es líder en la industria de servidores de escritorio. Durante los últimos 20 años, todas mis PC, portátiles y servidores (excepto uno) han utilizado procesadores Intel. Sin embargo, al ingresar a la industria móvil, Intel todavía usó la misma arquitectura compleja de conjunto de instrucciones que la computadora de escritorio en un intento de incluirla en procesadores de dispositivos móviles más pequeños.
La tasa media de generación de calor del procesador Intel i7 es de 45W. La tasa máxima de generación de calor instantánea máxima del sistema basado en ARM en un chip (incluido el procesador de gráficos) es de aproximadamente 3 vatios, que es aproximadamente 1/15 del procesador Intel i7. Intel es ahora un gigante y emplea a mucha gente inteligente. Sus últimos procesadores de la serie Atom utilizan un diseño con temperatura controlada similar a los procesadores ARM, por lo que Intel debe utilizar el último proceso de fabricación de 22 nm.
En términos generales, cuanto menor sea el número de nanómetros del proceso de fabricación, más eficiente energéticamente será. Los procesadores ARM utilizan procesos de fabricación más bajos y tienen efectos de control de temperatura similares. Por ejemplo, el procesador Qualcomm Snapdragon 805 utiliza un proceso de fabricación de 28 nm.
64 bits
Para la informática de 64 bits, ARM e Intel también tienen algunas diferencias significativas. ¿Sabías que Intel no desarrolló una versión de 64 bits del conjunto de instrucciones x86? Este conjunto de instrucciones de 64 bits se denomina x86-64 (a veces abreviado como x64) y en realidad fue diseñado y desarrollado por AMD. La historia es la siguiente: Intel quería hacer computación de 64 bits y sabía que si la arquitectura de 64 bits evolucionaba a partir de su propia arquitectura x86 de 32 bits, la nueva arquitectura sería ineficiente. Por ello, inició un nuevo proyecto de procesador de 64 bits llamado IA64, a partir del cual se fabricó la serie de procesadores Itanium. Al mismo tiempo, AMD sabía que no podía fabricar un procesador compatible con IA64, por lo que extendió x86 y agregó direccionamiento y registros de 64 bits. La arquitectura resultante se llamó AMD64 y se convirtió en el estándar para las versiones de 64 bits de los procesadores x86.
El proyecto IA64 no se consideró un éxito y ahora está básicamente abandonado. Intel finalmente adoptó AMD64. Las soluciones móviles actuales de Intel son procesadores de 64 bits, que difieren ligeramente del conjunto de instrucciones de 64 bits desarrollado por AMD.
La historia de ARM es muy diferente: después de ver la demanda de computación de 64 bits en dispositivos móviles, ARM lanzó la arquitectura de 64 bits de ARM V8 en 2011. Esta es la arquitectura de conjunto de instrucciones de próxima generación de ARM después de varios años de desarrollo. La culminación de años de trabajo. Para desarrollar una arquitectura simple de 64 bits basada en los principios y el conjunto de instrucciones originales, ARMv8 utiliza dos modos de ejecución, AArch32 y AArch64.
Como sugiere el nombre, uno ejecuta código de 32 bits y el otro ejecuta código de 64 bits. El diseño inteligente de ARM es que el procesador puede cambiar sin problemas entre dos modos durante el funcionamiento. Esto significa que el decodificador para instrucciones de 64 bits está completamente diseñado para que el procesador pueda seguir siendo compatible con versiones anteriores independientemente de las instrucciones de 32 bits.
Computación heterogénea
Los brazos son grandes. La arquitectura pequeña es una innovación que Intel no podrá replicar por un tiempo. En el grande. Para arquitecturas pequeñas, los procesadores pueden ser de diferentes tipos. Un procesador tradicional de dos o cuatro núcleos contiene los mismos dos o cuatro núcleos. Hay dos núcleos idénticos en un procesador Atom de doble núcleo, que proporcionan el mismo rendimiento y tienen el mismo consumo de energía. ARM lleva la informática heterogénea a los dispositivos móviles a lo grande. Esto significa que los núcleos de un procesador pueden tener diferente rendimiento y consumo de energía. Cuando el dispositivo funciona normalmente, se utilizan núcleos de bajo consumo y cuando se ejecutan juegos complejos, se utilizan núcleos de alto rendimiento.
¿Cómo se hace esto? A la hora de diseñar un procesador se deben considerar una gran cantidad de diseños técnicos, los cuales determinan el rendimiento y el consumo de energía del procesador. Tanto los procesadores Intel como ARM utilizan canalizaciones cuando las instrucciones se decodifican y preparan para su ejecución. Es decir, el proceso de decodificación es paralelo. El primer paso es leer la instrucción de la memoria, el segundo paso es verificar y decodificar la instrucción, el tercer paso es ejecutar la instrucción, y así sucesivamente. La ventaja de la canalización es que cuando la instrucción actual está en el segundo paso, la siguiente instrucción ya está en el primer paso. Cuando la instrucción actual se ejecuta en el paso tres, la siguiente instrucción se realiza en el paso dos, la siguiente instrucción en el paso uno, y así sucesivamente.
Para ejecutar instrucciones más rápido, estos canales se pueden diseñar para permitir que las instrucciones se ejecuten fuera del orden del programa (ejecución fuera de orden). Algunas estructuras lógicas inteligentes pueden determinar si la siguiente instrucción depende del resultado de la ejecución de la instrucción actual. Tanto Intel como ARM proporcionan estructuras lógicas de ejecución desordenadas y la complejidad es imaginable. La complejidad significa más consumo de energía en los procesadores Intel, y depende del diseñador agregar estructuras lógicas desordenadas. La informática heterogénea no tiene este problema de conveniencia. ARM Cortex-A53 se ejecuta secuencialmente, por lo que consume menos energía. El ARM Cortex-A57 utiliza ejecución fuera de orden, por lo que es más rápido pero consume más energía. Procesador de gran capacidad. La arquitectura LITTLE puede tener núcleos Cortex-A53 y Cortex-A57, y se puede decidir cómo utilizar estos núcleos en función de necesidades específicas.
Al sincronizar correos electrónicos en segundo plano, no se requiere una ejecución desordenada de alta velocidad y solo se requiere cuando se juegan juegos complejos. Utilice el núcleo adecuado en el momento adecuado.
En principio, cuanto más compleja sea la estructura lógica del procesador, mayor será el rendimiento y menor la eficiencia. La canalización de instrucciones es solo una de ellas, que incluye unidades aritméticas de punto flotante, lógica de datos múltiples de instrucción única (SIMD) (como NEON de ARM y SSE/MMX de Intel), caché de primer nivel y caché de segundo nivel. Intel ofrece solo una solución para cada sistema en chip Atom, mientras que ARM y sus socios de chips ofrecen chips que se pueden configurar con múltiples soluciones.
Vivir en armonía
ARM es actualmente líder en procesadores móviles. Los socios de ARM han enviado 50 mil millones de diseños basados en ARM a los mercados móviles e integrados. Para Android, ARM se ha convertido en el estándar, es problema de Intel y MIPS. Aunque el principal lenguaje de programación de Android es Java, los desarrolladores también pueden utilizar código existente (como C o C++) para desarrollar aplicaciones. Estas aplicaciones de plataforma fija generalmente se compilan en programas para procesadores ARM, pero no todas se compilan en programas para procesadores Intel o MIPS. Para resolver este problema, Intel y MIPS necesitan utilizar software de conversión especializado para convertir instrucciones ARM en instrucciones utilizadas por sus procesadores. Por supuesto, esto reducirá el rendimiento. Actualmente, tanto MIPS como Intel afirman ser compatibles con unas 90 aplicaciones de la Play Store. Para las 150 aplicaciones más populares, la tasa de compatibilidad es 100. Por un lado, la tasa de compatibilidad es muy alta y, por otro lado, refleja la posición dominante de ARM, lo que hace que otros diseñadores de procesadores necesiten proporcionar una capa de compatibilidad.
Resumen
Fabricar procesadores es un negocio complejo. ARM, Intel y MIPS están trabajando incansablemente para brindar la mejor tecnología para dispositivos móviles. Es obvio que ARM es el líder. Bajo consumo de energía, diseño simple de 64 bits, computación heterogénea, como estándar para la computación móvil, parece que ARM puede mantener su posición como líder por un tiempo.