ARM9

ARM9 es un grupo de núcleos de procesadores RISC ARM de 32-bits con licencia de ARM Holdings para 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. Dado que los núcleos ARM9 se lanzaron entre 1998 y 2006, ya no se recomiendan para nuevos diseños de circuitos integrados. Ahora se prefieren los núcleos ARM Cortex-A, ARM Cortex-M, ARM Cortex-R.[1]

Contenido

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 de instrucción y datos (y cachés) separados, aumentando significativamente su velocidad potencial.[2]​ La mayoría de los chips de silicio que integran estos núcleos los empaquetan como chips de arquitectura Harvard modificados y combinan los dos buses de direcciones en el otro lado de las cachés 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 núcleos ARM7, habilitadas al gastar más transistores, incluyen:[3]

  • Disminución de la producción de calor y menor riesgo de sobrecalentamiento.
  • Mejora de frecuencia de reloj. Cambiar de una tubería de tres etapas a una de cinco etapas permite que la velocidad del reloj se duplique aproximadamente en el mismo proceso de fabricación 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 núcleos ARM9. Las mejoras clave incluyen:
    • Carga rápida y almacenamiento; muchas instrucciones ahora solo tardan un solo ciclo. Esto es ayudado tanto por la arquitectura modificada de Harvard (reduciendo la contención de bus y caché) como por las nuevas etapas de canalización.
    • Exponer los enclavamientos de la tubería, lo que permite optimizaciones del compilador para reducir el bloqueo entre etapas.

Además, algunos núcleos ARM9 incorporan instrucciones "DSP mejorado", como una acumulación múltiple, para admitir implementaciones más eficientes de algoritmos de procesamiento de señales digitales.

El cambio de una arquitectura von Neumann implicaba el uso de una memoria caché no unificada, de modo que las recuperaciones de instrucciones no expulsen datos (y viceversa). Los núcleos ARM9 tienen señales de bus de datos y direcciones separadas que los diseñadores de chips usan de varias maneras. En la mayoría de los casos, conectan a la menor parte del espacio de direcciones en el espacio de direcciones en el estilo von Neumann (utilizado tanto para instrucciones como para datos) a una interconexión 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 híbridos 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 términos de licencia, que varían en costo y entregas. Para todo los licenciatarios, ARM proporciona una descripción del hardware integrable del núcleo ARM, así como un conjunto completo de herramientas de desarrollo de software y derecho a vender silicio fabricado que contiene la CPU ARM.

Personalización 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 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, hay que consultar la hoja de datos del fabricante y la documentación relacionada.

Núcleos

Año Núcleos 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 programación multiproceso asimétrico (AMP) o simétrico (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 núcleos 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 caché I/D y una MMU
  • ARM922T con 8 KB cada uno de caché I/D y una MMU.
  • ARM940T con caché y una Unidad de Protección 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-es que. Además, el ancho de la unidad multiplicadora se ha duplicado, reduciendo a la mitad el tiempo requerido 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 del código de bytes Java bytecode de 8 bits en hardware, y una MMU.
  • ARM946
  • ARM966
  • ARM968

Chips

Nintendo DSi tiene un chip con un núcleo ARM9 y y otro ARM7
El brick de Lego Mindstorms EV3 tiene un ARM9 TI Sitara AM1x
ARM920T
  • Samsung S3C2440
  • Atmel AT91RM9200[5]
ARM926EJ-S
  • Semiconductor Cypress EZ-USB FX3
  • Tecnología 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 versión específica del cliente, hecha para Bosch)
  • HP iLO 4[14]
  • Tecnología 5V5VT1310/1312/1314
  • STMicroelectronics SPEAr300/600[15]
ARM966E-S
Núcleo ARM9 sin referencia

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 últimas décadas se incluiría fácilmente en un solo documento, pero a medida que los chips han evolucionado, la documentación ha crecido. La documentación total es especialmente difícil 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 físico exacto, un manual de referencia detallado que describe 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)
  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 núcleo ARM.
  5. Manuales de referencia de arquitectura ARM.

El fabricante de IC 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

Referencias

  1. a b ARM9 Family Webpage; ARM Holdings.
  2. Furber, Steve (2000). ARM System-on-Chip Architecture. p. 344. ISBN 0201675196. 
  3. "Performance of the ARM9TDMI and ARM9E-S cores compared to the ARM7TDMI core", Issue 1.0, dated 9 February 2000, ARM Ltd.
  4. «MPCore Sample Code». Archivado desde el original el 11 de abril de 2015. 
  5. a b Atmel Legacy ARM-Based Solutions; Atmel.
  6. SAM9G ARM9 Microcontrollers; Atmel.
  7. SAM9M ARM9 Microcontrollers; Microchip.
  8. SAM9N/CN ARM9 Microcontrollers; Atmel.
  9. SAM9R/RL ARM9 Microcontrollers; Atmel.
  10. SAM9X ARM9 Microcontrollers; Atmel.
  11. SAM9XE ARM9 Microcontrollers; Atmel.
  12. i.MX28 Applications Processors; NXP.
  13. «LPC3100/200 Series: Arm9™-based microcontrollers|NXP». www.nxp.com. Consultado el 27 de julio de 2018. 
  14. https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp2574.pdf
  15. https://www.st.com/en/microcontrollers-microprocessors/spear-arm-926-microprocessors.html
  16. STR9 ARM9 Microcontrollers; STMicroelectronics.
  17. «NS9210/NS9215 32-bit NET+ARM Processor Family». Digi International. 
  18. «Starlet». Wiibrew. Consultado el 20 de febrero de 2008. 

Enlaces externos

  • Esta obra contiene una traducción derivada de «ARM9» de 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 4.0 Internacional.
Documentos oficiales ARM9
  • ARM9 official website
  • Manual de referencia de arquitectura: ARMv4/5/6
  • Manuales de referencias básicos: 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 rápida
  • Instrucciones: Thumb (1), ARM and Thumb-2 (2), Punto flotante de vectores (3)
  • Códigos de operación: Thumb (1, 2 Archivado el 18 de septiembre de 2018 en Wayback Machine.), ARM (3, 4 Archivado el 18 de septiembre de 2018 en Wayback Machine.), Directivas Ensamblador GNU 5.
Control de autoridades
  • Proyectos Wikimedia
  • Wd Datos: Q433285
  • Commonscat Multimedia: ARM9 / Q433285

  • Wd Datos: Q433285
  • Commonscat Multimedia: ARM9 / Q433285