Por qué los núcleos ARM consumen una potencia relativamente menor que x86 [cerrado]

1

¿Por qué los núcleos ARM consumen poca energía en comparación con las implementaciones CISC x86?

¿Cuáles son las razones válidas?

  • debido a su tecnología de fabricación?

¿Podría ser esto correcto? Los núcleos ARM se han fabricado en diversas tecnologías de fabricación en todo el mundo, incluso algunas tecnologías de fabricación no son avanzadas como las de Intel.

  • Debido a las sencillas instrucciones y tuberías del RISC.

Es porque el conjunto de instrucciones simple necesita muy poca área de silicio y esa área podría ahorrar mucha energía.

  • Debido a la tienda de carga

Debido a la simplicidad de la arquitectura del almacén de carga, por lo que no se requiere traducción de macrocódigo a microcódigo. Así que de nuevo el área de bajo silicio, así como la predicción de la rama algoritmo podría predecir fácilmente las ubicaciones de memoria que se utilizarían en el futuro, por lo que se requiere un bajo caché debido a que se pierden menos caché Así que de nuevo pequeña área de silicio que conduce a pequeño consumo de energía.

  • Debido a bus de AMBA y SoC

Dado que la RAM y la ROM y los periféricos del sistema se diseñaron muy cerca del Core muy bajo se requiere caché y ahorraría energía.

  • Debido no comparabilidad hacia atrás

A diferencia de Intel, no es necesario que sea compatible con la comparación hacia atrás, por lo que, cuando se trata de ARMv7 casi todas las instrucciones desaprobadas por la falta de energía desaparecieron y las nuevas instrucciones están ahí por su lugar.

  • Debido a los modos de ahorro de energía.

Sin embargo, estos modos también están disponibles en el procesador x86.

  • Debido a decisiones históricas.

ARM es mantener todo nuevo y actualizado. A diferencia de x86 no hay errores históricos que afecten continuamente. Fueron revisados y corregidos en la próxima ISA. Y ARM se forma más nuevo que el x86, por lo que históricamente se toman decisiones con respecto a Es pared de poder. A diferencia de Intel.

  • Debido al sistema operativo y al núcleo, soporte de ahorro de energía de firmware.

Es eso debido al soporte en el sistema operativo y en el propio kernel. Por ejemplo, Linux incrustado tiene Parches para el modo avanzado de ahorro de energía. Para reducir automáticamente la velocidad cuando la batería Potencia detectada baja. Pero este hecho no se relacionó con el muro de poder en absoluto. De todos modos podríamos ¿Todavía consideras esto como un hecho? ¿Hasta qué punto? Administración de energía de Android

¿Cuáles son otras razones válidas?

    
pregunta Standard Sandun

1 respuesta

3

La arquitectura ARM original está diseñada para que incluso un decodificador de instrucciones relativamente simple pueda operar a la velocidad máxima permitida por la arquitectura. Las versiones posteriores de ARM tienen una lógica de decodificación de instrucciones un poco más compleja, pero cada instrucción tiene una longitud de una o dos palabras. En la arquitectura x86, las instrucciones pueden estar en cualquier lugar, desde un byte de largo a algo así como catorce bytes de largo [por ejemplo. dentro de un segmento de 16 bits, LOCK ADD DWORD ESI:[EBX+4*EAX+12345678h],87654321h ]. Cuando se diseñó la arquitectura x86 original, las instrucciones se ejecutaron secuencialmente y se esperaba que cada instrucción tomara varios ciclos para ejecutarse. Si tomaría tres ciclos ejecutar una instrucción, no importaría si encontrar el comienzo de la siguiente instrucción también tomara tres ciclos. Por otro lado, nadie quiere que el código x86 se ejecute tan lentamente.

Es posible diseñar hardware que pueda ejecutar instrucciones x86 increíblemente rápido; Hace 20 años, hubiera pensado que la complicada decodificación de instrucciones habría limitado la velocidad x86, pero realmente no lo ha hecho. Sin embargo, lo que ha hecho es requerir que Intel y otros fabricantes de chips incluyan una lógica de almacenamiento y almacenamiento en caché bastante complicada, de modo que la primera vez que se ejecute un fragmento de código se convierta en un formato más fácil de descifrar y se almacene en caché; Si el código se ejecuta de nuevo, la traducción se puede omitir. Toda esta lógica hace que para algunos chips muy rápidos, pero también consume energía. Muchos de los chips ARM de menor potencia tienen mucho menos lógica de front-end; no logran el mismo rendimiento que un x86 que incluye dicha lógica, pero logran un rendimiento mucho mejor que el que podría obtener un x86 sin él.

    
respondido por el supercat

Lea otras preguntas en las etiquetas