ARM marca una serie de casillas que serían un anatema para los defensores fundamentalistas de RISC.
ARM V8 consta de 3 ISA: 64 bits AAarch64 y ARM de 32 bits, que se divide en A32 y Thumb (16 y 32).
El ARM de 32 bits es claramente CISC-y: instrucciones de longitud variable, instrucciones que leen / escriben múltiples registros (push / pop) y una variedad de instrucciones impares en neón (punto flotante), solo por nombrar algunas. Estas complejas instrucciones se rompen en un número variable de operaciones, que es no-no en RISC.
- ¿Cómo ocurre la segunda violación de contraseña en Yahoo después de la primera? ¿Yahoo pierde su popularidad?
- ¿Es una mala decisión tomar electricidad incluso si puede obtener CS en BITS / IIT?
- ¿Debo comprar un Macbook Pro si mi presupuesto realmente se está estirando para obtener uno?
- ¿Cuáles son todos los tipos de aprendizaje automático y todos utilizan los mismos principios?
- ¿Qué es un flujo de trabajo general para abordar un problema de aprendizaje automático?
Aarch-64 limpió gran parte de la ISA, pero dejó muchas cosas que son CISC-y: cargas / almacenar pares, cargar / almacenar con incremento automático, aritmética / lógica con cambios, instrucciones vectoriales ld / st en Neon para hacer con pasos lee / escribe, etc. Nuevamente, bastante CISC-y. Las instrucciones ARM codifican más información que la instrucción DEC Alpha típica; está más cerca de x86 que Alpha / SPARC en ese sentido.
Creo que las líneas RISC vs CISC se han difuminado durante más de una década, desde que la ejecución fuera de orden se generalizó. La ventaja de RISC es clara en las máquinas en orden. En máquinas OoO, no tanto, con la única excepción de las instrucciones de longitud fija. ARM vino del mundo del sistema embebido donde muchos códigos de ensamblaje están escritos a mano. En consecuencia, su ISA refleja los patrones de uso comunes. En cualquier caso, las instrucciones Cisc-y son preferibles a algunas de las elecciones de ISA extrañas hechas por los primeros ISA RISC (ventanas de registro, ranuras de retardo de ramificación, ranuras de retardo de carga, instrucciones de pasos recíprocos, etc.).