ARM9
General information | |
---|---|
Designed by | Thumb (16-bit) |
Performance | |
---|---|
Max. Thumb (16-bit) |
Architecture and classification | |
---|---|
Thumb (16-bit), Jazelle (8-bit) |
ARM9 is a group of
Overview
With this design generation, ARM moved from a
There are two subfamilies, implementing different ARM architecture versions.
Differences from ARM7 cores
Key improvements over ARM7 cores, enabled by spending more transistors, include:[3]
- Decreased heat production and lower overheating risk.
- Clock frequency improvements. Shifting from a three-stage pipeline to a five-stage one lets the clock speed be approximately doubled, on the same silicon fabrication process.
- Cycle count improvements. Many unmodified ARM7 binaries were measured as taking about 30% fewer cycles to execute on ARM9 cores. Key improvements include:
- Faster loads and stores; many instructions now cost just one cycle. This is helped by both the modified Harvard architecture (reducing bus and cache contention) and the new pipeline stages.
- Exposing pipeline interlocks, enabling compiler optimizations to reduce blockage between stages.
Additionally, some ARM9 cores incorporate "Enhanced DSP" instructions, such as a multiply-accumulate, to support more efficient implementations of digital signal processing algorithms.
Switching from a von Neumann architecture entailed using a non-unified cache, so that instruction fetches do not evict data (and vice versa). ARM9 cores have separate data and address bus signals, which chip designers use in various ways. In most cases they connect at least part of the address space in von Neumann style, used for both instructions and data, usually to an
ARM license
Silicon customization
Integrated device manufacturers (IDM) receive the ARM Processor
Cores
Year | ARM9 Cores |
---|---|
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 |
The ARM MPCore family of
ARM9TDMI
ARM9TDMI is a successor to the popular
- ARM920T with 16 KB each of I/D cache and an MMU
- ARM922T with 8 KB each of I/D cache and an MMU
- ARM940T with cache and a Memory Protection Unit (MPU)
ARM9E-S and ARM9EJ-S
ARM9E, and its ARM9EJ sibling, implement the basic
- ARM926EJ-S with ARM Jazelle technology, which enables the direct execution of 8-bit Java bytecode in hardware, and an MMU
- ARM946
- ARM966
- ARM968
The
Chips
- ARM920T
- Atmel AT91RM9200[6]
- Cirrus Logic EP9315 ARM9 CPU, 200 MHz
- NXP i.MX1
- Samsung S3C2410, S3C2440, S3C2442, S3C2443
- ARM922T
- Micrel/Kendin KS8695
- NXPLH7A4xx
- ARM925T
- Texas Instruments OMAP 1510
- ARM926EJ-S
- ASPEED AST2400
- Cypress Semiconductor EZ-USB FX3
- AT91SAM9)
- Nintendo Starlet (Wii coprocessor)[13]
- Nuvoton NUC900
- LPC3200 Series[15]
- Samsung S3C2412, S3C2416, S3C2450
- STMicroelectronics Nomadik
- Texas Instruments OMAP 850, 750, 733, 730, 5912 (also 5948, which is a customer specific version of it, made for Bosch), 1610
- SitaraAM1x, OMAP L137/L138, Davinci DA830/DA850/DM355/DM365
- HP iLO 4[16] baseboard management controller
- 5V Technologies 5VT1310/1312/1314
- STMicroelectronics SPEAr300/600[17]
- VIA WonderMedia 8505 and 8650
- ARM940T
- ARM946E-S
- Nintendo NTR-CPU (Nintendo DS CPU), TWL-CPU (Nintendo DSi CPU; same as the DS but clocked at 133 MHz instead of 67 MHz)[18]
- NXP Nexperia PNX5230
- ARM966E-S
- ARM968E-S
- LPC2900
- Unreferenced ARM9 core
- Anyka AK32xx
- AT91CAP9
- CSR Quatro 4300
- Centrality Atlas III
- Digi NS9215, NS9210[20]
- HiSilicon Kirin K3V1
- Infineon Technologies S-GOLDlite PMB 8875
- LeapFrog LF-1000
- NXP Semiconductors (former Freescale Semiconductor) i.MX1x
- MediaTek MT1000, MT6235-39, MT6268, MT6516
- PRAGMATEC RABBITV3 (ARM920T rev 0 (v4l)) used in Karotz)
- Qualcomm MSM6xxx
- Qualcomm Atheros AR6400
- Texas Instruments TMS320DM365/TMS320DM368 ARM9EJ-S
- Zilog Encore! 32
Documentation
The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer and documents from CPU core vendor (
A typical top-down documentation tree is: high-level marketing slides, datasheet for the exact physical chip, a detailed reference manual that describes common peripherals and other aspects of physical chips within the same series, reference manual for the exact ARM core processor within the chip, reference manual for the ARM architecture of the core which includes detailed description of all instruction sets.
- Documentation tree (top to bottom)
- IC manufacturer marketing slides.
- IC manufacturer datasheets.
- IC manufacturer reference manuals.
- ARM core reference manuals.
- ARM architecture reference manuals.
IC manufacturer has additional documents, including: evaluation board user manuals, application notes, getting started with development software, software library documents, errata, and more.
See also
- ARM architecture
- List of ARM architectures and cores
- JTAG
- Interrupt, Interrupt handler
- Real-time operating system, Comparison of real-time operating systems
References
- ^ a b ARM9 Family Webpage; ARM Holdings.
- ISBN 0201675196.
- ^ "Performance of the ARM9TDMI and ARM9E-S cores compared to the ARM7TDMI core", Issue 1.0, dated 9 February 2000, ARM Ltd.
- ^ "MPCore Sample Code". Archived from the original on 11 April 2015.
- ^ "Teardown Tuesday: Graphing Calculator - News". www.allaboutcircuits.com. Retrieved 2021-07-12.
- ^ a b 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.
- ^ "Hardware/Starlet". Wiibrew. Archived from the original on 16 May 2020. Retrieved 14 June 2020.
- ^ i.MX28 Applications Processors; NXP.
- ^ "LPC3100/200 Series: Arm9-based microcontrollers|NXP". www.nxp.com. Retrieved 2018-07-27.
- ^ "iLO 4 Cryptographic Module FIPS 140-2 Non-Proprietary Security Policy" (PDF). Hewlett Packard Enterprise. 10 February 2016.
- ^ "SPEAr ARM 926 Microprocessors - STMicroelectronics".
- ^ GBATEK - GBA/NDS Technical Info - ARM CP15 ID Codes; Martin Korth
- ^ STR9 ARM9 Microcontrollers; STMicroelectronics.
- ^ "NS9210/NS9215 32-bit NET+ARM Processor Family" (PDF). Digi International.
External links
- ARM9 official documents
- ARM9 official website
- Architecture Reference Manual: ARMv4/5/6
- Core Reference Manuals: ARM9E-S, ARM9EJ-S,ARM9TDMI,ARM920T,ARM922T,ARM926EJ-S,ARM940T,ARM946E-S,ARM966E-S,ARM968E-S
- Coprocessor Reference Manuals: VFP9-S (Floating-Point), MOVE (MPEG4)
- Quick Reference Cards