ARM9 es un grupo de núcleos de procesador RISC ARM de 32 bits con licencia de ARM Holdings para uso en microcontroladores . [1] La familia principal 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 núcleos ARM Cortex-A , ARM Cortex-M y ARM Cortex-R . [ cita necesaria ]
Con esta generación de diseño, ARM pasó de una arquitectura von Neumann (arquitectura Princeton) a una arquitectura Harvard (modificada; es decir, caché dividida) con buses (y cachés) de instrucciones y datos separados , lo que aumentó significativamente su velocidad potencial. [2] 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 arquitectura ARM.
Las mejoras clave con respecto a los núcleos ARM7 , posibles al gastar más transistores, incluyen: [3]
Además, algunos núcleos ARM9 incorporan instrucciones "DSP mejoradas", como una acumulación múltiple, para admitir implementaciones más eficientes de algoritmos de procesamiento de señales digitales .
Cambiar de una arquitectura von Neumann implicó el uso de un caché no unificado, de modo que las recuperaciones de instrucciones no expulsen datos (y viceversa). Los núcleos ARM9 tienen señales de bus de direcciones y datos independientes, que los diseñadores de chips utilizan de diversas formas. En la mayoría de los casos, conectan al menos parte del espacio de direcciones en estilo von Neumann, utilizado tanto para instrucciones como para datos, generalmente a una interconexión AHB que se conecta a una interfaz DRAM y una interfaz de bus externo utilizable con memoria flash NOR . Estos híbridos ya no son procesadores puros de arquitectura Harvard.
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 términos de licencia, que varían en costo y entregables. 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 contenga la CPU ARM.
Los fabricantes de dispositivos integrados (IDM) reciben la IP 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, muy bajo consumo de energía, 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 el Hoja de datos del fabricante y documentación relacionada.
La familia ARM MPCore de procesadores multinúcleo 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 verse como un procesador independiente y, como tal, puede seguir estrategias tradicionales de desarrollo de un solo procesador. [4]
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 e incluyen:
ARM9E y su hermano ARM9EJ implementan la canalización ARM9TDMI básica , pero agregan soporte para la arquitectura ARMv5TE, que incluye algunas extensiones de conjunto de instrucciones tipo DSP. Además, se ha duplicado el ancho de la unidad multiplicadora, reduciendo a la mitad el tiempo necesario para la mayoría de las operaciones de multiplicación. Admiten conjuntos de instrucciones de 32, 16 y, a veces, 8 bits.
Las calculadoras gráficas TI-Nspire CX (2011) y CX II (2019) utilizan un procesador ARM926EJ-S, con frecuencia de 132 y 396 MHz respectivamente. [5]
La cantidad de documentación para todos los chips ARM es abrumadora, especialmente para los recién llegados. La documentación para microcontroladores de décadas pasadas fácilmente se incluiría en un solo documento, pero a medida que los chips evolucionaron, la documentación también creció. La documentación total es especialmente difícil de comprender para todos los chips ARM, ya que consta de documentos del fabricante del circuito integrado y documentos del proveedor central 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 el 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 desarrollo de software, documentos de la biblioteca de software, erratas y más.