ARM vs X86 - Diferencias clave explicado!

ARM vs X86 - Diferencias clave explicaron

Android es compatible con 3 diferentes arquitecturas de procesador: ARM, Intel y MIPS. El más popular y omnipresente de estos tres es, sin lugar a dudas, ARM. Intel es bien conocido principalmente por su popularidad en los mercados de escritorio y servidor, sin embargo en el móvil que ha tenido menos impacto. MIPS tiene una herencia larga, y un montón de éxito, tanto para soluciones de 32 y 64 bits en una variedad de espacios incrustados, sin embargo, es actualmente el menos popular de los tres diseños de CPU para Android.

En resumen, ARM es el ganador actual e Intel es su gran rival marca. Entonces, ¿cuál es la diferencia entre un procesador ARM y un procesador Intel? ¿Por qué es ARM la elección más popular? Y qué importa lo que la CPU se encuentra en su teléfono inteligente o tableta?

La CPU

La Unidad Central de Procesamiento (CPU) es el "cerebro" de su dispositivo. Su trabajo consiste en ejecutar una secuencia de instrucciones para controlar el hardware del dispositivo (la pantalla, la pantalla táctil, el módem celular, etc.) para convertirlo de un trozo de plástico y metal en un smartphone o tablet vibrante. Los dispositivos móviles son cosas complejas y estas CPUs necesitan para ejecutar millones de instrucciones para que se comportan como esperamos. La velocidad y potencia la eficiencia de estas CPUs es crítica. La velocidad afecta a la experiencia del usuario, mientras que la eficiencia afecta a la vida de la batería. El dispositivo móvil perfecto es uno que tiene un alto rendimiento y bajo consumo de energía.

Intel es el líder de la industria en equipos de sobremesa y servidores.

Esta es la razón por la elección de la CPU es importante. Una fuente de hambre, cerdo de una CPU se agotará la batería rápida, sin embargo una CPU elegante y eficiente que les dará a ambos la vida rendimiento y batería. Al más alto nivel, la primera diferencia entre una CPU ARM y una CPU Intel es que el primero es RISC (reducido del conjunto de instrucciones de Informática) y el segundo es CISC (Complex Instruction Set Computing). En simplificado (y enfatizo, "simplificado") términos sencillos, instrucciones RISC conjuntos son más pequeños, más atómica, mientras que los conjuntos de instrucciones CISC son más grandes, más complejas. Por atómica, me refiero a que cada instrucción se traduce aproximadamente a una sola operación que la CPU puede realizar, por ejemplo, añadir el contenido de dos registros juntos. Instrucciones CISC expresan una sola idea, pero la CPU necesitarán para ejecutar 3 o 4 instrucciones más simplificados para llevar a cabo la misma. Por ejemplo, una CPU CISC puede ser contada sumar dos números almacenados en la memoria principal. Para ello, la CPU tiene que buscar el número de la dirección-1 (una operación), ir a buscar el número de la dirección-2 (segunda operación), añadir los dos números (tercera operación) y así sucesivamente.

Intel_CPU_Pentium_4_640_Prescott_bottom

Todas las CPUs modernas utilizan un concepto conocido como microcódigo, una instrucción interna conjunto de la CPU que describe operaciones atómicas que la CPU puede realizar. Son estos (micro) operaciones más pequeñas que la CPU ejecuta realmente. En procesadores RISC, la instrucción establece las operaciones y las operaciones de microcódigo están muy cerca. En CISC, las instrucciones complejas necesitan ser traducidos a ops microcódigo más pequeñas (como se describe más arriba con la CISC añadir ejemplo). Esto significa que el decodificador de instrucciones (el bit que funciona lo que la CPU tiene que hacer en realidad) es mucho más simple en un procesador RISC, y más simple medios menos energía y una mayor eficiencia.

Fab

La próxima gran diferencia entre un procesador ARM y un procesador Intel ARM es que sólo ha diseñado nunca procesadores eficientes de energía. Su razón de ser es el diseño de procesadores de uso de baja potencia. Esa es su especialidad. Sin embargo la experiencia de Intel es diseñar procesadores súper altas prestaciones de escritorio y servidor. Y lo ha hecho un buen trabajo. Intel es el líder de la industria en equipos de sobremesa y servidores. Cada PC, ordenador portátil y el servidor He tenido (con la excepción de uno) en los últimos 20 años tuvieron un procesador Intel en el mismo. Sin embargo, para entrar en móvil, Intel está utilizando la misma arquitectura del conjunto de instrucciones CISC (ISA) que se utiliza en el escritorio, pero está tratando de meter con calzador en los procesadores más pequeños, adecuados para los dispositivos móviles.

Cuando se trata de 64 bits, también hay algunas diferencias significativas entre el brazo y Intel.

El procesador Intel i7 promedio produce alrededor de 45W de calor. La ARM basado SoC promedio teléfono inteligente (incluyendo la GPU) tiene un pico de potencia instantánea máxima de alrededor de 3W, algunas 15 veces menos que un Intel i7. Ahora Intel es una empresa grande y tienen un montón de gente inteligente que trabajan allí. Sus últimos procesadores Atom tienen diseños térmicos similares a los procesadores basados ​​en ARM, sin embargo para hacer eso se ha tenido que utilizar el último proceso de fabricación 22m. En general, el menor es el número de nanómetros de fabricación, mejor será la eficiencia energética. Procesadores ARM tienen propiedades térmicas similares a mayores procesos de fabricación nanómetros. Por ejemplo, el Qualcomm Snapdragon 805 utiliza un proceso de 28nm.

28nm oblea

64-bits

Cuando se trata de 64 bits, también hay algunas diferencias significativas entre el brazo y Intel. ¿Sabía usted que Intel ni siquiera inventó la versión de 64 bits de su conjunto de instrucciones x86. Conocido como x86-64 (oa veces sólo x64), el conjunto de instrucciones fue diseñado en realidad por AMD. La historia es la siguiente, Intel quería pasar a 64 bits, pero sabía que para tomar su actual arquitectura x86 de 32 bits y crea una versión de 64 bits sería ineficiente. Así comenzó un nuevo proyecto de procesador de 64 bits llamado IA64. Esto a la larga produce la gama de procesadores Itanium. Mientras tanto AMD sabía que no sería capaz de producir procesadores compatibles IA64, por lo que se adelantó y extendió el diseño x86 incluir direccionamiento de 64 bits y registros de 64 bits. La arquitectura resultante, conocida como AMD64, se convirtió en el estándar de 64 bits de facto para los procesadores x86.

OLYMPUS DIGITAL CAMERA

El proyecto IA64 nunca fue un gran éxito y hoy es efectivamente muerto. Intel finalmente adoptó AMD64. Ofertas móviles actuales de Intel son procesadores de 64 bits utilizando el conjunto de instrucciones de 64 bits diseñado por AMD (con algunas diferencias de menor importancia).

En cuanto a ARM, la historia es una muy diferente. Al ver la necesidad de la informática de 64 bits en el móvil, ARM anunció su ARMv8 arquitectura de 64 bits en 2011. Fue la culminación de varios años de trabajo en la próxima generación ARM ISA. Para crear una aplicación de 64 bits limpia, pero uno basado en los principios y la instrucción existentes set, la arquitectura ARMv8 utiliza dos estados de ejecución, AArch32 y AArch64.

Corteza A53 y A57 carta Rendimiento

Como su nombre indica, se trata de la ejecución de código de 32 bits y otra para 64 bits. La belleza del diseño de ARM es el procesador puede cambiar sin problemas de un modo a otro durante su ejecución normal. Los medios que el decodificador para las instrucciones de 64 bits es un nuevo diseño que no necesita para mantener la compatibilidad con la era de 32 bits, pero el procesador en su conjunto sigue siendo compatible hacia atrás.

Informáticos heterogéneos

Arquitectura Big.little de ARM es una innovación que Intel está muy lejos de replicante. En Big.little los núcleos en la CPU no necesitan ser del mismo tipo. Tradicionalmente, un procesador de doble núcleo o de cuatro núcleos tenía 2 o 4 núcleos del mismo tipo. Así que un procesador de doble núcleo Atom tiene dos núcleos x86-64 idénticos, ambos ofrecen el mismo rendimiento y utilizando la misma cantidad de energía. Pero con Big.little ARM ha introducido la computación heterogénea para dispositivos móviles. Esto significa que los núcleos pueden ser diferentes en términos de rendimiento y la potencia. Cuando el dispositivo móvil no está ocupado, un núcleo de baja energía se puede utilizar, pero cuando empiezas un juego complejo, se utilizan los núcleos de alto rendimiento.

Procesadores ARMv8-A - una sola architectue escalable

Pero aquí está la magia. Cuando se habla de la CPU diseños hay un montón de decisión de diseño técnico que altera el rendimiento y el consumo de energía del procesador. Cuando una instrucción se decodifica y se prepara para la ejecución del procesador (Intel y ARM) utiliza una tubería. Eso significa que cada aspecto minutos del proceso de decodificación se paralelizado. Así que la parte para ir a buscar la siguiente instrucción desde la memoria es la etapa 1, a continuación, el tipo de instrucción necesita ser examinado y decoded- etapa 2, a continuación, la instrucción se ejecuta realmente - etapa 3, y así sucesivamente. La belleza de tuberías es que mientras que la primera instrucción está en la etapa 2, la siguiente instrucción ya está en la etapa 1. Cuando la primera instrucción es en la etapa de ejecución (etapa 3), la segunda instrucción está ahora en la etapa 2 y de la tercera instrucción está en la etapa 1, y así sucesivamente.

Este principio de la utilización de una lógica más compleja en el procesador para un mejor rendimiento y menos lógica compleja para alta eficiencia, no sólo se aplica a la tubería de instrucciones.

Para hacer las cosas aún más rápido estas tuberías se pueden construir de modo que las instrucciones en realidad pueden ser ejecutadas en un orden diferente que en el programa. Hay una cierta lógica inteligente para averiguar si la siguiente instrucción se basa en el resultado de la instrucción por delante de él. Tanto Intel y ARM tienen lógica fuera de la ejecución de órdenes. Pero como se puede imaginar que es una tecnología muy compleja. Complejo significa hambre de poder. En los procesadores de Intel los diseñadores optan por poner en práctica fuera de la orden de ejecución o no. Pero con la computación heterogénea que no es un problema. La ARM Cortex-A53 utiliza la ejecución en orden, lo que significa que utiliza menos energía. Pero el Cortex-A57 utiliza fuera de la ejecución de órdenes, lo que significa que es más rápido, pero consume más energía. En un procesador Big.little no puede haber núcleos Cortex-A53 y Cortex-A57, y los núcleos se utiliza de acuerdo con las exigencias que se plantean. Usted no necesita súper rápida ejecución fuera de orden al fondo sincronizar su correo electrónico, pero lo hace al jugar juegos complejos. Así el núcleo derecha se utiliza en el momento adecuado.

pensar Big.little

Este principio de la utilización de una lógica más compleja en el procesador para un mejor rendimiento y menos lógica compleja para alta eficiencia, no sólo se aplica a la tubería de instrucciones. Se aplica igualmente a la unidad de punto flotante, a la lógica SIMD (es decir NEON en ARM y SSE / MMX de Intel), ya la forma en que la L1 y L2 caché trabajo. Intel ofrece una única solución por Atom SoC, ARM, a través de sus socios de silicio, ofrece múltiples configuraciones de muchos de los cuales se pueden implementar simultáneamente en el mismo silicio.

Compatibilidad

ARM es el líder actual en términos de procesadores móviles. Socios de ARM han enviado 50 mil millones de chips basados ​​en sus diseños, todos los mercados móviles y embebidos. Para Android, ARM es el estándar de facto y esto lleva a un problema para Intel y MIPS. Aunque Android utiliza Java como lenguaje de programación principio, también permite a los programadores toman su código existente (en C o C ++, por ejemplo) y crear aplicaciones. Estas aplicaciones "nativas" en general son compilados para procesadores ARM y no siempre para Intel o MIPS. Para evitar esto Intel y MIPS necesidad de utilizar software de traducción especial que convierte las instrucciones ARM a código para sus procesadores. Este curso de los impactos rendimiento. Por el momento MIPS e Intel pueden reclamar acerca de una compatibilidad del 90% de todas las aplicaciones disponibles en el Play Store. Esa cifra es probablemente más cercano a 100% cuando se trata de los 150 mejores aplicaciones. Por una mano que es una buena cobertura, pero por otro lado que muestra el dominio de ARM en que los otros diseñadores de procesadores necesitan ofrecer una capa de compatibilidad.

Envolver

La construcción de una CPU es un negocio complejo. ARM, Intel y MIPS están trabajando duro para traer la mejor tecnología disponible para los dispositivos móviles, sin embargo ARM es claramente el líder. Con su enfoque en procesadores eficientes de energía, su aplicación de 64 bits limpio, es la computación heterogénea, y su papel como el estándar de facto para la informática móvil, entonces parece que ARM se establece a permanecer en la parte superior.


» » » ARM vs X86 - Diferencias clave explicado!