En realidad no estoy completamente seguro de la respuesta a esta. La respuesta “tradicional” fue que los chips x86 (compatibles con Intel) son CISC y ARM es RISC.
CISC = conjunto de instrucciones complejas, RISC = conjunto de instrucciones reducido.
Sin embargo, lamentablemente, eso ya no es cierto y no lo ha sido durante años. Los ARM se han vuelto mucho más complicados y los x86 se han vuelto mucho más simples.
Ahora, una publicación sensata que vi en RealWorldTech hace unos años indicó que ARM todavía tiene una ventaja de 2x en el área de silicio sobre Intel para el núcleo. Todavía hay algunos gastos generales en la decodificación de las antiguas instrucciones x86 en su software en lo que la CPU realmente ejecuta, importante pero no toda la imagen. Existen diferencias en el número de registros, etc., y el equilibrio entre potencia y rendimiento ha tendido a ser diferente entre los diferentes diseños.
Pero, en general, no está realmente claro. ¡Estoy seguro de que alguien más informado que yo tiene todas las matemáticas escritas frente a ellos!
Supongo que su pregunta se refiere a niveles de rendimiento razonablemente comparables. Naturalmente, siempre es más fácil hacer un chip mucho más simple y de menor potencia si no le importa el rendimiento.
De todos modos, suponiendo que la pregunta es “en el mismo nivel de rendimiento, ¿por qué los chips ARM tienden a ser de menor potencia”, entonces una gran parte de esto se reduce al software .
El software para PC se ha escrito con solo pequeñas optimizaciones. De hecho, cuando las personas han optimizado el código para nuevas funciones en los procesadores Intel, ¡el mundo de la tecnología incluso se ha quejado de que esto es injusto en la competencia de Intel! Ahora, ha habido casos en los que ha sido injusto (deshabilitando las optimizaciones porque es un AMD, no porque no sea compatible con la aceleración), pero ciertamente no ha ayudado en el caso de las optimizaciones de software.
La sensación abrumadora en la tierra de las PC ha sido que puede y debe ahorrar dinero al no molestarse en optimizar su software debido a la Ley de Moore: las computadoras siempre seguirán siendo más rápidas. Olvida el poder. Memoria también. Habrá más de eso pronto.
En el mundo de los teléfonos móviles, debido a la batería, nadie ha tenido esos lujos. El software móvil se ha escrito para minimizar la cantidad de ciclos de reloj, la cantidad de memoria utilizada, para apagarse siempre que sea posible, para reunir solicitudes de red, no asumir que está ahí todo el tiempo.
Eso conduce a ahorros masivos, ya sea ARM, x86 o cualquier otra cosa, pero cuesta mucho dinero en horas de ingeniero de software y puede ser la diferencia entre tener que pagar por un equipo de ingenieros recién graduados con capacitación básica de Visual Studio o Un equipo de personas que han pirateado durante décadas a nivel de procesador para optimizar el rendimiento y la potencia.
Otro factor masivo es que, debido a que el rendimiento de la CPU ha sido tan bueno, en la PC, se ha vuelto sensato por razones de costo hacer todo aparte de 3D en el procesador de propósito general (la CPU) en lugar de en costosos coprocesadores dedicados en placas enchufables como tarjetas de sonido, módems, tarjetas de red y matrices RAID. Todo en una PC se descarga a la CPU. Eso ahorra dinero y la CPU tenía tanto rendimiento adicional que estaba bien.
En un teléfono móvil, tenía que hacer todo con la menor potencia posible. Y, recientemente, ha sido capaz de diseñar el chip solo para ese producto (o gama de productos) para que tenga todo a bordo, incluidos aceleradores dedicados para todo lo común en lugar de tener que permitir la diferenciación.
Un chip ARM moderno como el Snapdragon tendrá no solo un procesador sino muchos. Uno para el software de propósito general, uno para cálculos DSP / vectoriales, uno para 2D, uno para 3D, uno para gráficos OpenVG, uno para video, uno para audio, uno para redes, uno para seguridad, uno para módem celular, etc. .
Ahora eso es genial, pero todo depende del software saber que tienes esos aceleradores y usarlos cuando sea necesario. Eso cuesta mucho dinero, especialmente cuando no ha habido tantos estándares sobre cómo programar estos aceleradores.
Intel sabe esto y es por eso que Moorestown cambia al mismo modelo y construye todos estos aceleradores.
Por otro lado, Intel siempre ha tenido una ventaja de poder a través de la fabricación. También han tendido a “fuerza bruta” en su camino hacia el ahorro de energía a través de redes de energía muy complejas y puertas de alimentación donde puede apagar partes del chip cuando sea necesario. No es que ARM no haga esto, pero Intel tiende a ser más agresivo y necesita más lógica de administración de energía.
Finalmente, suena trivial, pero todo en un teléfono móvil está muy cerca. Está en el mismo silicio (procesador de gráficos, etc.) o en el mismo paquete de chips (memoria, flash), o a unos pocos milímetros de distancia. En una PC portátil, los componentes deben comunicarse con otros que se encuentren a una distancia de hasta 30 cm, lo que significa que la señal se degradará, por lo que debe usar más energía para transmitirla, cancelar los reflejos, etc.
TL; DR Conclusión … el software compilado para ejecutarse en ARM proviene de dispositivos móviles. Esto ayuda a ARM a lo grande. Las CPU ARM tienen algunas ventajas arquitectónicas, pero Intel tiene ventajas de fabricación, por lo que se cancelan aproximadamente. Hay otras ventajas que tiene el hardware ARM debido a su fondo móvil, pero Intel puede copiarlas.
Pero la gran diferencia ya no es x86 vs ARM, es solo de dónde vienen.
¡Espero que ayude!