Diferencias entre compiladores para arquitecturas x86 y ARM
: MIPS es una de las arquitecturas más simples, por lo que a las universidades les gusta elegir la arquitectura MIPS para introducir cursos de arquitectura informática.
- ARM tiene una palanca de cambios de barril
La palanca de cambios tiene una doble función: por un lado, aumenta la velocidad de las operaciones matemáticas y lógicas, y por otro, aumenta. la complejidad del sexo. Por lo tanto, es más eficiente que un registro sumador/desplazador que puede hacer lo mismo, pero también ocupa más área del chip.
- MIPS tiene una "ranura de retardo de rama" y una "ranura de retardo de carga"
MIPS utiliza un compilador para resolver ambos problemas. Esto se debe a que MIPS se diseñó originalmente para utilizar hardware RISC simple y luego se basó en compiladores y otras tecnologías de software para implementar conceptos RISC completos.
2. Instrucciones
- MIPS tiene arquitecturas de 32 y 64 bits, pero ARM solo tiene arquitectura de 32 bits
ARM11 es parcialmente de 64 bits
- MIPS es una arquitectura abierta. MIPS es una arquitectura abierta, por lo que los usuarios pueden agregar sus propias instrucciones en el núcleo que desarrollan
- ARM tiene un código de condición de 4 bits para cada instrucción
ARM está aquí Los aspectos son muy similar a x86. MIPS también agregó instrucciones de "movimiento condicional" en MIPS IV para mejorar la eficiencia del oleoducto.
- ARM tiene modos de direccionamiento de preincremento y postincremento
Incremento/disminución automático en instrucciones de carga/almacenamiento
- MIPS16 es lo mismo que MIPS16 en ahorrar espacio en el código ARM Thumb es muy similar
. Registrarse
3. Registrarse
- Dado que hay 32 registros en el núcleo MIPS y ARM solo tiene 16 registros, esta ventaja inherente en el diseño estructural determina que MIPS tenga el mismo rendimiento en este En este caso, el área del chip es más pequeña y el consumo de energía es menor.
- ARM tiene un conjunto de registros de propósito especial cp0-cp15, que pueden controlarse mediante MCR, MRC y otras instrucciones, en consecuencia, MIPS tiene cp0 0-30, que puede controlarse mediante instrucciones mfc0, mtc0; .
- Registrar biblioteca en ARM. r8-r12 modo FIQ; r13: SP r14 R
No veo el beneficio de un banco de registro.
- MIPS tiene un registro cero cableado, pero ARM no
MIPS usa el registro $0 para la puesta a cero
4. Espacio de direcciones
- La dirección inicial de MIPS es
ARM no tiene este problema.
La dirección inicial de MIPS24K se cambió a 0xbf000000, que ahora tiene 16 MB de espacio.
- MIPS no requiere que la paginación esté activada para habilitar el almacenamiento en caché.
MIPS tiene espacios de direcciones almacenados en caché y no almacenados en caché
Pero ARM necesita habilitar/deshabilitar el caché
:
Soporte de punto flotante de ARM es limitado, generalmente no está incluido y tiene una arquitectura de 32 bits
: ARM usa JTAG, MIPS usa EJTAG. Las herramientas de depuración suelen admitir ambos métodos. Las herramientas de depuración suelen admitir ambos enfoques.
6. Rendimiento
: comparación de rendimiento específica, debido a que la diferencia es demasiado grande, es difícil distinguir quién es mejor y quién es peor. Por experiencia personal, MIPS4k y ARM9 están básicamente al mismo nivel, pero el rendimiento de ARM9 parece ser mejor que el de MIPS4K.
Lo mismo ocurre con MIPS24K de 32 bits. Su rendimiento es un gran paso adelante con respecto a MIPS4K y debería ser mejor que ARM9.
Como no he usado chips ARM11 y MIPS34K, no puedo comparar, pero siento que los dos chips parecen estar al mismo nivel.
7. Aplicaciones
- Para aplicaciones superiores a 1000 MHz, es difícil encontrar productos que utilicen la arquitectura ARM.
La arquitectura MIPS se utiliza con menos frecuencia en aplicaciones por debajo de 200MHz o 266MHz, que son los principales mercados de ARM.
- ARM se utiliza en campos portátiles como teléfonos móviles, y MIPS se utiliza en puertas de enlace residenciales, módems de cable, decodificadores de cable y otros campos.
- ARM usa licencias de núcleo duro; MIPS usa licencias de núcleo blando y los usuarios pueden configurarlo ellos mismos y crear sus propios productos.
8. Desarrollo futuro
- Los productos de próxima generación de ARM se están moviendo hacia estructuras de múltiples núcleos, mientras que los núcleos de próxima generación de MIPS se están moviendo hacia capacidades de hardware de subprocesos múltiples (multi-threading )
El multiproceso de MIPS es muy similar a la tecnología HyperThreading de Intel. A juzgar por la situación actual, el multinúcleo tiene la ventaja.