ARM9 es un grupo de núcleos de procesadores ARM RISC de 32 bits autorizados por ARM Holdings para su uso en microcontroladores . [1] La familia de núcleos ARM9 consta de ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. Los núcleos ARM9 se lanzaron entre 1998 y 2006 y ya no se recomiendan para nuevos diseños de circuitos integrados; las alternativas recomendadas incluyen los núcleos ARM Cortex-A , ARM Cortex-M y ARM Cortex-R . [2]
Con esta generación de diseño, ARM pasó de una arquitectura von Neumann (arquitectura Princeton) a una arquitectura Harvard (modificada; es decir, con caché dividida) con buses de instrucciones y datos separados (y cachés), lo que aumentó significativamente su velocidad potencial. [3] La mayoría de los chips de silicio que integran estos núcleos los empaquetarán como chips de arquitectura Harvard modificados , combinando los dos buses de direcciones en el otro lado de cachés de CPU separados y memorias estrechamente acopladas.
Hay dos subfamilias que implementan diferentes versiones de la arquitectura ARM.
Las mejoras clave con respecto a los núcleos ARM7 , posibilitadas al utilizar más transistores, incluyen: [4]
Además, algunos núcleos ARM9 incorporan instrucciones "DSP mejorado", como multiplicar-acumular, para soportar implementaciones más eficientes de algoritmos de procesamiento de señales digitales .
El cambio desde una arquitectura von Neumann implicó el uso de una caché no unificada, de modo que la obtención de instrucciones no expulse datos (y viceversa). Los núcleos ARM9 tienen señales de bus de datos y direcciones separadas, que los diseñadores de chips utilizan de diversas maneras. En la mayoría de los casos, conectan al menos parte del espacio de direcciones al estilo von Neumann, utilizado tanto para instrucciones como para datos, normalmente a una interconexión AHB que se conecta a una interfaz DRAM y a una interfaz de bus externo utilizable con memoria flash NOR . Estos híbridos ya no son procesadores de arquitectura Harvard pura.
ARM Holdings no fabrica ni vende dispositivos de CPU basados en sus propios diseños, sino que otorga licencias de la arquitectura del procesador a las partes interesadas. ARM ofrece una variedad de condiciones de licencia, que varían en costo y resultados. Para todos los licenciatarios, ARM proporciona una descripción de hardware integrable del núcleo ARM, así como un conjunto completo de herramientas de desarrollo de software y el derecho a vender silicio fabricado que contiene la CPU ARM.
Los fabricantes de dispositivos integrados (IDM) reciben la propiedad intelectual del procesador ARM como RTL sintetizable (escrito en Verilog ). De esta forma, tienen la capacidad de realizar optimizaciones y extensiones a nivel arquitectónico. Esto permite al fabricante lograr objetivos de diseño personalizados, como mayor velocidad de reloj, consumo de energía muy bajo, extensiones del conjunto de instrucciones, optimizaciones de tamaño, soporte de depuración, etc. Para determinar qué componentes se han incluido en un chip de CPU ARM en particular, consulte la hoja de datos del fabricante y la documentación relacionada.
La familia de procesadores multinúcleo ARM MPCore admite software escrito utilizando los paradigmas de programación multiprocesador asimétrico ( AMP ) o simétrico ( SMP ) . Para el desarrollo de AMP, cada unidad central de procesamiento dentro del MPCore puede considerarse un procesador independiente y, como tal, puede seguir las estrategias tradicionales de desarrollo de un solo procesador. [5]
ARM9TDMI es el sucesor del popular núcleo ARM7TDMI y también se basa en la arquitectura ARMv4T . Los núcleos basados en él admiten conjuntos de instrucciones ARM de 32 bits y Thumb de 16 bits, entre los que se incluyen:
ARM9E y su hermano ARM9EJ implementan la línea básica ARM9TDMI , pero añaden compatibilidad con la arquitectura ARMv5TE, que incluye algunas extensiones de conjunto de instrucciones de tipo DSP. Además, se ha duplicado el ancho de la unidad multiplicadora, lo que reduce a la mitad el tiempo necesario para la mayoría de las operaciones de multiplicación. Admiten conjuntos de instrucciones de 32 bits, 16 bits y, a veces, 8 bits.
Las calculadoras gráficas TI-Nspire CX (2011) y CX II (2019) utilizan un procesador ARM926EJ-S, con una velocidad de reloj de 132 y 396 MHz respectivamente. [6]
La cantidad de documentación de todos los chips ARM es abrumadora, especialmente para los recién llegados. La documentación de los microcontroladores de décadas pasadas se podría incluir fácilmente en un solo documento, pero a medida que los chips han evolucionado, la documentación también ha crecido. La documentación total es especialmente difícil de comprender para todos los chips ARM, ya que consta de documentos del fabricante del CI y documentos del proveedor del núcleo de la CPU ( ARM Holdings ).
Un árbol de documentación de arriba hacia abajo típico es: diapositivas de marketing de alto nivel, hoja de datos para el chip físico exacto, un manual de referencia detallado que describe los periféricos comunes y otros aspectos de los chips físicos dentro de la misma serie, manual de referencia para el procesador central ARM exacto dentro del chip, manual de referencia para la arquitectura ARM del núcleo que incluye una descripción detallada de todos los conjuntos de instrucciones.
El fabricante de circuitos integrados tiene documentos adicionales, que incluyen: manuales de usuario de la placa de evaluación, notas de aplicación, introducción al software de desarrollo, documentos de la biblioteca de software, erratas y más.