¿Hay procesadores ARM de 8 bits?

¿Hay algo por debajo de 32 bits para un procesador ARM? Me preguntaba si hay o alguna vez hubo un procesador ARM de 8 bits. He buscado pero no he visto ninguno, por lo que parece que los procesadores ARM son de 32 o 64 bits. ¿Porqué es eso?

También noté mientras escribía esta pregunta, que la etiqueta para ARM incluso dice IP de microcontrolador de 32 bits .

Comience de donde proviene ARM: en.wikipedia.org/wiki/Acorn_Computers
¿Por qué no debería ser así? ARM no se creó en la era en la que los 8 bits eran lo último en tecnología.
No. Lo más cerca que podría llegar sería implementar uno en un software que se ejecuta en un núcleo de 8 bits.
@ChrisStratton Lo pensé, ya que nunca había oído hablar ni visto nada por debajo de 32 bits para ARM.
Los procesadores ARM más pequeños de la actualidad son Cortex-M0 y Cortex-M0+ (según la configuración). Con los costos de proceso de silicio de hoy, un procesador más pequeño tiene pocas posibilidades de mejora a nivel de sistema.
@Chris Emulando ARM desde un núcleo de 8 bits. Guau. Eso es hardcore (juego de palabras).

Respuestas (2)

Asumiendo que "n bit" se refiere al tamaño de los registros de propósito general, todos los procesadores de brazo son de 32 o 64 bits.

Antes de diseñar el procesador ARM, las computadoras de Acorn se habían diseñado en torno a la tecnología mos 6502 y sus variantes. Decidieron saltarse la generación de 16 bits e ir directamente a un diseño de 32 bits. Las instrucciones tenían 32 bits de ancho y también lo era la ruta de datos. Inicialmente, algunos bits se usaron como bits de bandera que limitaban las direcciones a 26 bits, pero estas banderas se eliminaron más tarde y permitieron un espacio de direcciones de 32 bits.

Las computadoras Acorn no lograron mantener una posición viable en el mercado, pero antes de que eso sucediera, ARM se había convertido en una empresa separada. ARM era una arquitectura de bajo consumo y empezó a tener mucho uso en la informática móvil/embebida. Eventualmente, a medida que los transistores se volvieron más baratos (tanto en términos de costo como de potencia), se abrió camino hacia el mercado de los microcontroladores.

Arm introdujo más tarde un modo llamado "Thumb" (a veces denominado "Thumb1") donde las instrucciones tenían solo 16 bits de ancho. Sin embargo, los registros permanecieron en 32 bits. Thumb en su forma original era un conjunto de instrucciones incompleto, ciertas operaciones importantes solo se podían realizar volviendo al modo Arm.

Incluso más recientemente, el brazo introdujo "Thumb2". Este Thumb ampliado para producir un conjunto de instrucciones completo utilizando una combinación de instrucciones de 16 bits y 32 bits. Una vez más, los registros de datos se mantuvieron en 32 bits. Los microcontroladores ARM modernos solo admiten el modo Thumb2 (a veces con solo un subconjunto del conjunto completo de instrucciones "thumb2"), no el modo de brazo tradicional.

No olvides el modo Pulgar. Algunos (¿todos?) Los micros ARM admiten un modo en el que cambian a usar instrucciones de 16 bits. Esto puede ser un impacto en el rendimiento, pero normalmente da como resultado una reducción en el tamaño del código y el uso de RAM para sistemas que tienen recursos muy limitados.
Thumb1 es un conjunto de instrucciones incompleto que utiliza instrucciones de 16 bits, debe cambiar al modo armado para hacer algunas cosas. Thumb2 es un conjunto de instrucciones de ancho mixto con algunas instrucciones de 16 bits (igual que thumb1) y otras de 32 bits. Los registros de propósito general siguen siendo de 32 bits en los modos de pulgar. Los microcontroladores de brazo modernos (cortex M) son solo thumb2.
De hecho, sabía un poco sobre las computadoras Acorn que crearon el primer ARM, pero llegaste al punto que estaba buscando. Aunque el ARM se desarrolló hace un tiempo, decidieron saltarse la generación de 16 bits e ir directamente al diseño de 32 bits. Gracias.
@PeterGreen: Las partes de Cortex-M3 siempre funcionan en modo Thumb, pero con los códigos de operación extendidos "Thumb2" de dos palabras antes mencionados y un prefijo condicional que puede admitir casi todas las instrucciones ARM de 32 bits. Las piezas de Cortex-M0 siempre funcionan en modo Thumb, pero con muy pocas instrucciones añadidas. El conjunto de instrucciones puede estar "incompleto", pero es con lo que tiene que trabajar el Cortex-M0.
De hecho, el M0 solo tiene un puñado de instrucciones de 32 bits, pero las que tiene marcan la diferencia entre un conjunto de instrucciones que puede usar para escribir la mayoría de su sistema, pero no todo, y un conjunto de instrucciones que puede usar para escribir todo su sistema. .

No.

ARM fue una arquitectura de 32 bits desde el día en que Acorn la presentó...

https://en.wikipedia.org/wiki/ARM_architecture#Acorn_RISC_Machine:_ARM2