teléfono - como saber si mi android es arm o x86
¿Cómo difiere la arquitectura ARM de x86? (5)
¿La arquitectura x86 está especialmente diseñada para funcionar con un teclado mientras que ARM espera ser móvil? ¿Cuáles son las diferencias clave entre los dos?
Adicional al primer párrafo de . Es decir, el diseño ARM proporciona un menor consumo de energía.
La compañía ARM
, solo licencia la tecnología de la CPU. No hacen fichas físicas. Esto permite a otras compañías agregar varias tecnologías periféricas, normalmente llamadas SOC o sistema en chip. Si el dispositivo es una tableta, un teléfono celular o un sistema de entretenimiento en el automóvil. Esto permite a los proveedores de chips adaptar el resto del chip a una aplicación en particular. Esto tiene beneficios adicionales,
- Costo de placa más bajo
- Menor potencia (nota1)
- Fabricación más fácil
- Factor de forma más pequeño
ARM
compatible con proveedores de SOC con AMBA , lo que permite a los implementadores de SOC comprar módulos externos de terceros; como un Ethernet, memoria y controladores de interrupción. Algunas otras plataformas de CPU lo soportan, como MIPS , pero MIPS no es tan consciente del poder.
Todos estos son beneficiosos para un diseño de mano / batería. Algunos son buenos por todos lados. Además, ARM
tiene un historial de dispositivos operados a batería; Apple Newton , organizadores de Psion . La infraestructura del software PDA fue aprovechada por algunas compañías para crear dispositivos de tipo teléfono inteligente . Aunque, tuvieron más éxito aquellos que reinventaron la GUI para usarla con un teléfono inteligente .
El aumento de conjuntos de herramientas de Open source
abierto y operating systems
también facilitó los diversos chips SOC
. Una organización cerrada tendría problemas al tratar de admitir todos los diversos dispositivos disponibles para ARM. Las dos plataformas celulares más populares, Andriod y OSx / IOS, están basadas en Linux y FreeBSD, Mach y NetBSD os. Open Source
ayuda a los proveedores de SOC
proporcionar soporte de software para sus conjuntos de chips.
Con suerte, por qué se usa x86 para el teclado es evidente. Tiene el software y, lo que es más importante, personas capacitadas para usar ese software. Netwinder es un sistema ARM
que originalmente fue diseñado para el teclado . Además, los fabricantes actualmente están buscando ARM64 para el mercado de servidores. El poder / calor es una preocupación en los centros de datos 24/7.
Entonces, yo diría que el ecosistema que crece alrededor de estos chips es tan importante como características como el bajo consumo de energía. ARM
ha estado luchando por la computación de bajo poder y mayor rendimiento durante algún tiempo (desde mediados hasta finales de los 80) y tienen mucha gente a bordo.
Nota 1: múltiples chips necesitan controladores de bus para intercomunicarse a voltajes y unidades conocidas. Además, los chips típicamente separados necesitan condensadores de soporte y otros componentes de potencia que pueden compartirse en un sistema SOC .
El ARM es como un automóvil deportivo italiano:
- Bien equilibrado, bien afinado, motor. Da buena aceleración y velocidad máxima.
- Excelentes persecuciones, frenos y suspensión. Puede detenerse rápidamente, puede arrinconar sin disminuir la velocidad.
El x86 es como un muscle car americano:
- Gran motor, gran bomba de combustible. Da excelente velocidad máxima y aceleración, pero usa mucho combustible.
- Frenos terribles, debe programar una cita en su diario, si desea reducir la velocidad.
- Dirección terrible, tienes que reducir la velocidad a la esquina.
En resumen: el x86 se basa en un diseño de 1974 y es bueno en línea recta (pero usa mucho combustible). El brazo usa poco combustible, no ralentiza las esquinas (ramas).
La arquitectura ARM fue diseñada originalmente para computadoras personales Acorn (Ver Acorn Archimedes , circa 1987, y RiscPC ), que eran tanto computadoras personales basadas en teclado como modelos de PC IBM basados en x86. Solo las implementaciones de ARM posteriores se dirigieron principalmente al segmento de mercado móvil e integrado.
Originalmente, equipos de ingeniería mucho más pequeños (ver Berkeley RISC ) podrían diseñar CPUs RISC simples de rendimiento aproximadamente equivalente a las que trabajan en el desarrollo x86 en Intel.
Pero, hoy en día, los chips ARM más rápidos tienen unidades de despacho de instrucciones fuera de orden multiedición muy complejas diseñadas por grandes equipos de ingeniería, y los núcleos x86 pueden tener algo así como un núcleo RISC alimentado por una unidad de traducción de instrucciones.
Por lo tanto, cualquier diferencia actual entre las dos arquitecturas está más relacionada con las necesidades específicas del mercado de los nichos de productos a los que los equipos de desarrollo se dirigen. (Opinión aleatoria: ARM probablemente gana más en tarifas de licencia de aplicaciones integradas que tienden a tener mucha más energía y menos costos, e Intel necesita mantener un margen de rendimiento en PC y servidores por sus márgenes de ganancia. De esta forma, se observan diferentes optimizaciones de implementación).
Tampoco tiene nada específico para teclado o dispositivo móvil, aparte del hecho de que durante años ARM ha tenido una ventaja bastante sustancial en términos de consumo de energía, lo que lo hizo atractivo para todo tipo de dispositivos que funcionan con batería.
En cuanto a las diferencias reales: ARM tiene más registros, predicción soportada para la mayoría de las instrucciones mucho antes de que Intel lo agregue, tiene un modo "pulgar" destinado principalmente a aumentar la densidad del código (por lo que un programa cabe en menos memoria) y ha incorporado todo tipo de técnicas (llámalas "trucos", si lo prefieres) para ahorrar energía casi en todas partes.
En un momento, Intel puso mucho más énfasis en la velocidad que en el consumo de energía. Comenzaron a enfatizar el consumo de energía principalmente en el contexto de las computadoras portátiles. Para las computadoras portátiles, su objetivo de potencia típico era del orden de 6 vatios para una computadora portátil bastante pequeña. Más recientemente ( mucho más recientemente) han comenzado a apuntar a dispositivos móviles (teléfonos, tabletas, etc.). Para este mercado, están buscando un par de vatios más o menos. Parece que les va bastante bien, aunque su enfoque ha sido sustancialmente diferente al de ARM, enfatizando la tecnología de fabricación donde ARM ha enfatizado la microarquitectura (lo cual no es sorprendente, considerando que ARM vende diseños y deja la fabricación a otros).
ARM
es una ARM
RISC (Computación de conjuntos de instrucciones reducidos) mientras que x86
es una CISC (Computación de conjunto de instrucciones complejas).
La diferencia principal entre aquellos en este aspecto es que las instrucciones ARM operan solo en registros con algunas instrucciones para cargar y guardar datos de / a la memoria mientras que x86 también puede operar directamente en la memoria. Hasta v8 ARM era una arquitectura nativa de 32 bits, favoreciendo operaciones de cuatro bytes sobre otras.
Así que ARM es una arquitectura más simple, lo que lleva a una pequeña área de silicio y muchas características de ahorro de energía, mientras que x86 se convierte en una bestia de poder en términos de consumo de energía y producción.
Acerca de la pregunta sobre " ¿Está la arquitectura x86 especialmente diseñada para funcionar con un teclado mientras ARM espera ser móvil? ". x86
no está especialmente diseñado para funcionar con un teclado ni ARM
para dispositivos móviles. Sin embargo, de nuevo debido a las opciones arquitectónicas básicas, en realidad x86 también tiene instrucciones para trabajar directamente con IO
mientras que ARM no. Sin embargo, con buses IO especializados como USB, la necesidad de tales características también está desapareciendo.
Si necesita un documento para cotizar, esto es lo que Cortex-A Series Programmers Guide (4.0) explica sobre las diferencias entre las arquitecturas RISC y CISC:
Un procesador ARM es un procesador de computadora con conjunto de instrucciones reducido (RISC).
Los procesadores de Computadora de Conjunto de Instrucciones Complejas (CISC), como el x86, tienen un rico conjunto de instrucciones capaz de hacer cosas complejas con una sola instrucción. Tales procesadores a menudo tienen cantidades significativas de lógica interna que decodifican las instrucciones de la máquina a secuencias de operaciones internas (microcódigo).
Las arquitecturas RISC, por el contrario, tienen un número menor de instrucciones de uso más general, que se pueden ejecutar con muchos menos transistores, lo que hace que el silicio sea más económico y más eficiente. Al igual que otras arquitecturas RISC, los núcleos ARM tienen una gran cantidad de registros de propósito general y muchas instrucciones se ejecutan en un solo ciclo. Tiene modos de direccionamiento simples, donde todas las direcciones de carga / tienda se pueden determinar a partir del contenido del registro y los campos de instrucción.
La compañía ARM también proporciona un artículo titulado Arquitecturas, procesadores y desarrollo de dispositivos, artículo que describe cómo esos términos se aplican a su negocio.
Un ejemplo que compara la arquitectura del conjunto de instrucciones:
Por ejemplo, si necesita algún tipo de bloque de comparación de memoria bytewise en su aplicación (generado por el compilador, omitiendo detalles), así es como se vería en x86
repe cmpsb /* repeat while equal compare string bytewise */
mientras que en ARM
forma más corta podría ser similar (sin verificación de errores, etc.)
top:
ldrb r2, [r0, #1]! /* load a byte from address in r0 into r2, increment r0 after */
ldrb r3, [r1, #1]! /* load a byte from address in r1 into r3, increment r1 after */
subs r2, r3, r2 /* subtract r2 from r3 and put result into r2 */
beq top /* branch(/jump) if result is zero */
lo cual debería darle una pista sobre cómo los conjuntos de instrucciones RISC y CISC difieren en complejidad.