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 . [ cita requerida ]
Descripción general
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. [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 la arquitectura ARM.
Diferencias con los núcleos ARM7
Las mejoras clave con respecto a los núcleos ARM7 , posibilitadas al utilizar más transistores, incluyen: [3]
- Disminución de la producción de calor y menor riesgo de sobrecalentamiento.
- Mejoras en la frecuencia de reloj. El cambio de un proceso de fabricación de tres etapas a uno de cinco etapas permite duplicar aproximadamente la velocidad de reloj en el mismo proceso de fabricación de silicio.
- Mejoras en el recuento de ciclos. Se midió que muchos binarios ARM7 sin modificar tardaban aproximadamente un 30 % menos de ciclos en ejecutarse en núcleos ARM9. Las mejoras clave incluyen:
- Cargas y almacenamientos más rápidos; muchas instrucciones ahora cuestan solo un ciclo. Esto se ve facilitado tanto por la arquitectura Harvard modificada (que reduce la contención del bus y la caché) como por las nuevas etapas de procesamiento.
- Exponer interbloqueos de canalización, lo que permite optimizaciones del compilador para reducir bloqueos entre etapas.
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.
Licencia ARM
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.
Personalización de silicio
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.
Núcleos
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. [4]
ARM9TDMI
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:
- ARM920T con 16 KB de caché I/D y una MMU
- ARM922T con 8 KB de caché I/D y una MMU
- ARM940T con caché y una unidad de protección de memoria (MPU)
ARM9E-S y ARM9EJ-S
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.
- ARM926EJ-S con tecnología ARM Jazelle , que permite la ejecución directa de bytecode Java de 8 bits en hardware, y una MMU
- ARM946
- ARM966
- ARM968
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. [5]
Papas fritas



- ARM920T
- Atmel AT91RM9200 [6]
- Procesador Cirrus Logic EP9315 ARM9, 200 MHz
- NXP i.MX1
- Samsung S3C2410, S3C2440, S3C2442, S3C2443
- Micronizador /Kendin KS8695
- NXP LH7A4xx
- ARM925T
- Instrumentos de Texas OMAP 1510
- ARM926EJ-S
- Velocidad ast2400
- EZ-USB FX3 de Cypress Semiconductor
- Microchip Technology (anteriormente Atmel ) AT91SAM9260, [6] AT91SAM9G , [7] AT91SAM9M, [8] AT91SAM9N/CN, [9] AT91SAM9R/RL, [10] AT91SAM9X, [11] AT91SAM9XE [12] (véase AT91SAM9 )
- Nintendo Starlet ( coprocesador de Wii ) [13]
- Nuvoton NUC900
- Serie i.MX2 de NXP (anteriormente Freescale Semiconductor ), [14] (ver I.MX ), series LPC3100 y LPC3200 [15]
- Samsung S3C2412, S3C2416, S3C2450
- STMicroelectronics Nómada
- Texas Instruments OMAP 850, 750, 733, 730, 5912 (también 5948, que es una versión específica para el cliente, fabricada para Bosch), 1610
- Instrumentos de Texas Sitara AM1x, OMAP L137/L138, Davinci DA830/DA850/DM355/DM365
- Controlador de gestión de placa base HP iLO 4 [16]
- Tecnologías 5V 5VT1310/1312/1314
- STMicroelectronics SPEAr300/600 [17]
- VIA WonderMedia 8505 y 8650
- ARM940T
- Decodificador Conexant CX22490 SoC
- ARM946E-S
- CPU NTR de Nintendo (CPU de Nintendo DS ), CPU TWL ( CPU de Nintendo DSi ; igual que la de DS pero con una frecuencia de reloj de 133 MHz en lugar de 67 MHz) [18]
- Impresora NXP Nexperia PNX5230
- ARM966E-S
- Lógica LSI LSI53C1030
- STMicroelectronics STR9 [19]
- ARM968E-S
- Núcleo ARM9 sin referencia
- Anyka AK32xx
- Atmel AT91CAP9
- RSC Quatro 4300
- Atlas de centralidad III
- Digi NS9215, NS9210 [20]
- Kirin K3V1 de HiSilicon
- Tecnologías Infineon S-GOLDlite PMB 8875
- Salto de rana LF-1000
- Semiconductores NXP (antes Freescale Semiconductor ) i.MX1x
- MediaTek MT1000, MT6235-39, MT6268, MT6516
- PRAGMATEC RABBITV3 (ARM920T rev 0 (v4l)) utilizado en Karotz )
- Qualcomm MSM6xxx
- Qualcomm Atheros AR6400
- Instrumentos de Texas TMS320DM365/TMS320DM368 ARM9EJ-S
- ¡Zilog bis! 32
Documentación
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.
- Árbol de documentación (de arriba a abajo)
- Diapositivas de marketing del fabricante de circuitos integrados.
- Hojas de datos del fabricante de IC.
- Manuales de referencia de fabricantes de circuitos integrados.
- Manuales de referencia del núcleo ARM.
- Manuales de referencia de arquitectura ARM.
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.
Véase también
- Arquitectura ARM
- Lista de arquitecturas y núcleos ARM
- JTAG
- Interrupción , manejador de interrupciones
- Sistema operativo en tiempo real , Comparación de sistemas operativos en tiempo real
Referencias
- ^ Página web de la familia ARM9; ARM Holdings.
- ^ Furber, Steve (2000). Arquitectura de sistema en chip ARM . pág. 344. ISBN 0201675196.
- ^ "Rendimiento de los núcleos ARM9TDMI y ARM9E-S en comparación con el núcleo ARM7TDMI", número 1.0, de fecha 9 de febrero de 2000, ARM Ltd.
- ^ "Código de muestra de MPCore". Archivado desde el original el 11 de abril de 2015.
- ^ "Teardown Tuesday: Calculadora gráfica - Noticias" www.allaboutcircuits.com . Consultado el 12 de julio de 2021 .
- ^ ab Soluciones Atmel basadas en ARM heredadas; Atmel.
- ^ Microcontroladores SAM9G ARM9; Atmel.
- ^ Microcontroladores SAM9M ARM9; Microchip.
- ^ Microcontroladores ARM9 SAM9N/CN; Atmel.
- ^ Microcontroladores SAM9R/RL ARM9; Atmel.
- ^ Microcontroladores SAM9X ARM9; Atmel.
- ^ Microcontroladores ARM9 SAM9XE; Atmel.
- ^ "Hardware/Starlet". Wiibrew . Archivado desde el original el 16 de mayo de 2020 . Consultado el 14 de junio de 2020 .
- ^ Procesadores de aplicaciones i.MX28; NXP.
- ^ "Serie LPC3100/200: microcontroladores basados en Arm9 | NXP". www.nxp.com . Consultado el 27 de julio de 2018 .
- ^ "Política de seguridad no propietaria FIPS 140-2 del módulo criptográfico iLO 4" (PDF) . Hewlett Packard Enterprise. 10 de febrero de 2016.
- ^ "Microprocesadores SPEAr ARM 926 - STMicroelectronics".
- ^ GBATEK - Información técnica de GBA/NDS - Códigos de identificación ARM CP15; Martin Korth
- ^ Microcontroladores STR9 ARM9; STMicroelectronics.
- ^ "Familia de procesadores NET+ARM de 32 bits NS9210/NS9215" (PDF) . Digi International .
Enlaces externos
- Documentos oficiales de ARM9
- Sitio web oficial de ARM9
- Manual de referencia de arquitectura: ARMv4/5/6
- Manuales de referencia básicos: ARM9E-S, ARM9EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM926EJ-S, ARM940T, ARM946E-S, ARM966E-S, ARM968E-S
- Manuales de referencia de coprocesadores: VFP9-S (coma flotante), MOVE (MPEG4)
- Tarjetas de referencia rápida
- Instrucciones: Pulgar (1), BRAZO y Pulgar-2 (2), Punto flotante vectorial (3)
- Códigos de operación: Thumb (1, 2), ARM (3, 4), Directivas del ensamblador GNU 5.
_-_board_-_Samsung_S3C2416XH-26-9788.jpg/500px-TomTom_XL_(4ET03)_-_board_-_Samsung_S3C2416XH-26-9788.jpg)