ARM9
ARM9 es un grupo de nucleos de procesadores RISC ARM de 32-bits con licencia de ARM Holdings para uso en microcontroladores.[1] La familia de nucleos ARM9 consta de ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. Dado que los nucleos ARM9 se lanzaron entre 1998 y 2006, ya no se recomiendan para nuevos diseños de circuitos integrados, sino que se prefieren los nucleos ARM Cortex-A, ARM Cortex-M, ARM Cortex-R.[1]
Contenido
Con esta generación de diseño, ARM paso de una arquitectura arquitectura von Neumann (arquitectura Princeton) a una arquitectura Harvard(modificada; es decir, cache dividida) con buses de instruccion y datos (y caches) separados, aumentando significativamente su velocidad potencial.[2] La mayoría de los chips de silicio que integran estos núcleos los empaquetaran como chips de arquitectura Harvard modificados, combinando los dos buses de direcciones en el otro lado de los caches CPU y las memorias estrechamente acopladas.
Hay dos subfamilias que implementan diferentes versiones de arquitectura ARM.
Diferencias con los núcleos ARM7
Las mejoras claves sobre los nucleos ARM7, habilitadas al gastar mas transistores, incluyen:[3]
- Disminución de la producción de calor y menor riesgo de sobrecalentamiento.
- Mejora de frecuencia de reloj. Cambiar de una tuberia de tres etapas a una de cinco etapas permite que la velocidad del reloj se duplique aproximadamente, en el mismo proceso de fabricacion del silicio.
- Mejora en el conteo de ciclos. Se midió que muchos archivos binarios ARM7 no modificados tardaron aproximadamente un 30% menos en ejecutarse en nucleos ARM9. Las mejoras clave incluyen:
- Carga rapida y almacenamiento; muchas instrucciones ahora solo tardan un solo ciclo. Esto es ayudado tanto por la arquitectura modificada modificada de Harvard (reduciendo la contencion de bus y cache) como por las nuevas etapas de canalización.
- Exponer los enclavamientos de la tuberia, lo que permite optimizaciones del compilador para reducir el bloqueo entre etapas.
Ademas, algunos núcleos ARM9 incorporan instrucciones "DSP mejorado", como una acumulacion multiple, para admitir implementaciones mas eficientes de algoritmos de procesamiento de señales digitales.
El cambio de una arquitectura von Neumann implicaba el uso de una memoria cache no unificada, de modo que las recuperaciones de instrucciones no expulsen datos (y vice). Los nucleos ARM9 tiene señales de bus de datos y direcciones separadas, que los diseñadores de chips usan de varias maneras. En la mayoria de los casos, conectan al menor parte del espacio de direcciones en el espacio de direcciones en el estilo von Neumann, utilizado tanto para instrucciones como para datos, generalmente a una interconexion AHB que se conecta a una interfaz DRAM y una Interfaz de Bus Externo Bus Interface que se usa con memoria flash NOR flash. Tales hibridos ya no son procesadores de arquitectura pura de Harvard.
Licencia ARM
ARM Holdings no fabrica ni vende dispositivos de CPU basados en sus propios diseños, sino que licencia la arquitectura del procesador a las partes interesadas. ARM ofrece una variedad de terminos de licencia, que varian en costo y entregas. Para todo los licenciatarios, ARM proporciona una descripcion del hardware integrable del nucleo ARM, asi como un conjunto completo de herramientas de desarrollo de software y derecho a vender silicio fabricado que contiene la CPU ARM.
Personalizacion de silicio
Los integrantes 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 de nivel arquitectonico. Esto permite al fabricante lograr objetivos de diseño personalizados, como mayor velocidad de reloj, muy bajo consumo de energia, extensiones del conjunto de instrucciones, optimizaciones de tamaño, soporte de depuracion, etc. Para determinar que componentes se han incluido en un chip de CPU ARM, en particular, consulte la hoja de datos del fabricante y documentacion relacionada.
Nucleos
Año | Nucleos ARM9 |
---|---|
1998 | ARM9TDMI |
1998 | ARM940T |
1999 | ARM9E-S |
1999 | ARM966E-S |
2000 | ARM920T |
2000 | ARM922T |
2000 | ARM946E-S |
2001 | ARM9EJ-S |
2001 | ARM926EJ-S |
2004 | ARM968E-S |
2006 | ARM996HS |
La familia de procesador multinucleo ARM MPCore admite software escrito utilizado los paradigmas de programacion multiproceso asimetrico (AMP) o simetrico (SMP). Para el desarrollo de AMP, cada unidad de central de procesamiento dentro de MPCore puede verse como un procesador independiente y, como tal, puede seguir las estrategias tradicionales de desarrollo de un solo procesador.[4]
ARM9TDMI
ARM9TDMI es un sucesor del popular núcleo ARM7TDMI, y también se basa en la arquitectura ARMv4T. Los nucleos basados en el admiten conjuntos de instrucciones de ARM de 32-bits y Thumb de 16-bit e incluyen:
- ARM920T con 16 KB cada uno de cache I/D y una MMU
- ARM922T con 8 KB cada uno de cache I/D y una MMU.
- ARM940T con cache y una Unidad de Proteccion de Memoria (MPU)
ARM9E-S and ARM9EJ-S
ARM9E, y su hermano ARM9EJ, implementan la tubería básica ARM9TDMI, pero agregan soporte para la arquitectura ARMv5TE, que incluye algunas extensiones del conjunto de instrucciones DSP-esque. Ademas, el ancho de la unidad multiplicadora se ha duplicado, reduciendo a la mitad el tiempo requerido para la mayoría de las operaciones de multiplicacion. 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 del código de bytes Java bytecode de 8 bits en hardware, y una MMU.
- ARM946
- ARM966
- ARM968
Chips
- ARM920T
- ARM926EJ-S
- Semiconductor Cypress EZ-USB FX3
- Tecnologia de microchip (anteriormente Atmel) AT91SAM9260,[5] AT91SAM9G,[6] AT91SAM9M,[7] AT91SAM9N/CN,[8] AT91SAM9R/RL,[9] AT91SAM9X,[10] AT91SAM9XE[11] (ver AT91SAM9)
- NXP (anteriormente Freescale Semiconductor) Serie i.MX2,[12] (ver I.MX), Series LPC3100 y LPC3200[13]
- Texas Instruments OMAP 850, 750, 733, 730, L137, L138, 5912 (también 5948, que es una version especifica del cliente, hecha para Bosch)
- HP iLO 4[14]
- Tecnologia 5V5VT1310/1312/1314
- STMicroelectronics SPEAr300/600[15]
- ARM966E-S
- STMicroelectronics STR9[16]
- Nucleo ARM9 sin referencia
- ASPEED AST2400
- Atmel AT91CAP9
- CSR Quatro 4300
- Centrality Atlas III
- Cirrus Logic EP9315 ARM9 CPU, 200 MHz
- Digi NS9215, NS9210[17]
- HiSilicon Kirin K3V1
- Infineon Technologies S-GOLDlite PMB 8875
- LeapFrog LF-1000
- Nintendo Starlet (Wii coprocessor)[18]
- Nintendo NTR-CPU (CPU Nintendo DS), CPU TWL (CPU Nintendo DSi; igual que la DS pero con reloj a 133 MHz en lugar de 67 MHz)
- NXP Semiconductors LPC2900, LH7A, (anteriormente Freescale Semiconductor) i.MX1x
- Nuvoton NUC900
- Marvell Kirkwood
- MediaTek MT1000, MT6235-39, MT6268, MT6516
- PRAGMATEC RABBITV3 (ARM920T rev 0 (v4l)) used in Karotz)
- Qualcomm MSM6xxx
- Qualcomm Atheros AR6400
- Samsung S3C24xx
- STMicroelectronics Nomadik
- Texas Instruments OMAP 1
- Texas Instruments Sitara AM1x
- Texas Instruments TMS320DM365/TMS320DM368 ARM9EJ-S
- VIA WonderMedia 8505 and 8650
- Zilog Encore! 32
Documentación
La cantidad de documentación para todos los chip ARM es desalentadora, especialmente para los recién llegados. La documentación para microcontroladores de las ultimas décadas se incluiria facilmente en un solo documento, pero a medida que los chips han evolucionado, la documentación ha crecido. La documentacion total es especialmente dificil para comprender para los chips ARM, ya que consta de documentos de fabricante de IC y documentos del proveedor principal de CPU (ARM Holdings).
Un árbol de documentación de arriba hacia abajo tipo es: diapositiva de marketing de alto nivel, hoja de datos para el chip fisico exacto, un manual de referencia detallado que describe perifericos comunes y otros aspectos de los chips fisicos 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 nucleo que incluye una descripcion detallada de todos los conjuntos de instrucciones.
- Arbol de documentacion (de arriba a abajo)
- 1. Diapositivas de marketing del fabricante de IC.
- 2. Hojas de datos del fabricante de IC.
- 3. Manuales IC de referencia del fabricante.
- 4. Manuales de referencia del nucleo ARM.
- 5. Manuales de referencia de arquitectura ARM.
El fabricante de IC tiene documentos adicionales, que incluyen: manuales de usuario de la placa de evaluacion, notas de aplicacion, introduccion al software de desarrollo, documentos de la biblioteca de software, erratas y mas.
Véase también
Referencias
- ↑ ARM9 Family Webpage; ARM Holdings.
- Furber, Steve (2000). ARM System-on-Chip Architecture. p. 344. ISBN 0201675196.
- "Performance of the ARM9TDMI and ARM9E-S cores compared to the ARM7TDMI core", Issue 1.0, dated 9 February 2000, ARM Ltd.
- . Archivado desde el original el 11 de abril de 2015.
- ↑ Atmel Legacy ARM-Based Solutions; Atmel.
- SAM9G ARM9 Microcontrollers; Atmel.
- SAM9M ARM9 Microcontrollers; Microchip.
- SAM9N/CN ARM9 Microcontrollers; Atmel.
- SAM9R/RL ARM9 Microcontrollers; Atmel.
- SAM9X ARM9 Microcontrollers; Atmel.
- SAM9XE ARM9 Microcontrollers; Atmel.
- i.MX28 Applications Processors; NXP.
- «LPC3100/200 Series: Arm9™-based microcontrollers|NXP». www.nxp.com. Consultado el 27 de julio de 2018.
- https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp2574.pdf
- https://www.st.com/en/microcontrollers-microprocessors/spear-arm-926-microprocessors.html
- STR9 ARM9 Microcontrollers; STMicroelectronics.
- «NS9210/NS9215 32-bit NET+ARM Processor Family». Digi International.
- «Starlet». Wiibrew. Consultado el 20 de febrero de 2008.
Enlaces externos
- Esta obra contiene una traducción derivada de «ARM9» de la Wikipedia en inglés, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.
- Documentos oficiales ARM9
- ARM9 official website
- Manual de referencia de arquitectura: ARMv4/5/6
- Manuales de referencias basicos: ARM9E-S, ARM9EJ-S,ARM9TDMI,ARM920T,ARM922T,ARM926EJ-S,ARM940T,ARM946E-S,ARM966E-S,ARM968E-S
- Manuales de referencias de coprocesad: VFP9-S (Floating-Point), MOVE (MPEG4)
- Tarjetas de referencia rapida
- Instrucciones: Thumb (1), ARM and Thumb-2 (2), Punto flotante de vectores (3)
- Codigos de operacion: Thumb (1, 2), ARM (3, 4), Directivas Ensamblador GNU 5.