ARM9
ARM9 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM9 core family consists of ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. ARM9 cores were released from 1998 to 2006, and no longer recommended for new IC designs; newer alternatives are ARM Cortex-M cores.
Overview
With this design generation, ARM moved from a von Neumann architecture to a Harvard architecture with separate instruction and data buses, significantly increasing its potential speed. Most silicon chips integrating these cores will package them as modified Harvard architecture chips, combining the two address buses on the other side of separated CPU caches and tightly coupled memories.There are two subfamilies, implementing different ARM architecture versions.
Differences from ARM7 cores
Key improvements over ARM7 cores, enabled by spending more transistors, include:- Clock frequency improvements. Shifting from a three-stage instruction 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 and the new pipeline stages.
- * Exposing pipeline interlocks, enabling compiler optimizations to reduce blockage between stages.
Switching from a von Neumann architecture entailed using a non-unified cache, so that instruction fetches do not evict data. 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 AHB interconnect connecting to a DRAM interface and an External Bus Interface usable with NOR flash memory. Such hybrids are no longer pure Harvard architecture processors.
ARM license
neither manufactures nor sells CPU devices based on its own designs, but rather licenses the processor architecture to interested parties. ARM offers a variety of licensing terms, varying in cost and deliverables. To all licensees, ARM provides an integratable hardware description of the ARM core, as well as complete software development toolset and the right to sell manufactured silicon containing the ARM CPU. This model of licensed CPU core design is called an intellectual property core.Silicon customization
Integrated device manufacturers receive the ARM Processor IP as synthesizable RTL. In this form, they have the ability to perform architectural level optimizations and extensions. This allows the manufacturer to achieve custom design goals, such as higher clock speed, very low power consumption, instruction set extensions, optimizations for size, debug support, etc. To determine which components have been included in a particular ARM CPU chip, consult the manufacturer datasheet and related documentation.Cores
The ARM MPCore family of multicore processors support software written using either the asymmetric or symmetric multiprocessor programming paradigms. For AMP development, each central processing unit within the MPCore may be viewed as an independent processor and as such can follow traditional single processor development strategies.ARM9TDMI
ARM9TDMI is a successor to the popular ARM7TDMI core, and is also based on the ARMv4T architecture. Cores based on it have five-stage pipeline, support both 32-bit ARM and 16-bit Thumb instruction sets and include:- 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
ARM9E-S and ARM9EJ-S
- ARM926EJ-S with ARM Jazelle technology, which enables the direct execution of 8-bit Java bytecode in hardware, and an MMU
- ARM946
- ARM966
- ARM968
Chips
;ARM920T- Atmel AT91RM9200
- Cirrus Logic EP9315 ARM9 CPU, 200 MHz
- NXP i.MX1
- Samsung S3C2410, S3C2440, S3C2442, S3C2443
- Micrel/Kendin KS8695
- NXP LH7A4xx
;ARM926EJ-S
- ASPEED AST2400
- Cypress Semiconductor EZ-USB FX3
- Microchip Technology AT91SAM9260, AT91SAM9G, AT91SAM9M, AT91SAM9N/CN, AT91SAM9R/RL, AT91SAM9X, AT91SAM9XE
- Nintendo Starlet
- Nuvoton NUC900
- NXP i.MX2 Series,, LPC3100 and LPC3200 Series
- Samsung S3C2412, S3C2416, S3C2450
- Spreadtrum SC6531, SC7701B
- STMicroelectronics Nomadik
- Texas Instruments OMAP 850, 750, 733, 730, 5912, 1610
- Texas Instruments Sitara AM1x, OMAP L137/L138, Davinci DA830/DA850/DM355/DM365
- HP iLO 4 baseboard management controller
- 5V Technologies 5VT1310/1312/1314
- STMicroelectronics SPEAr300/600
- VIA WonderMedia 8505 and 8650
- Conexant CX22490 STB SoC
- Nintendo NTR-CPU, TWL-CPU
- NXP Nexperia PNX5230
- LSI Logic LSI53C1030
- STMicroelectronics STR9
;Unreferenced ARM9 core
- Anyka AK32xx
- Atmel AT91CAP9
- CSR Quatro 4300
- Centrality Atlas III
- Digi NS9215, NS9210
- HiSilicon Kirin K3V1
- Infineon Technologies S-GOLDlite PMB 8875
- LeapFrog LF-1000
- NXP Semiconductors i.MX1x
- MediaTek MT1000, MT6235-39, MT6268, MT6516
- PRAGMATEC RABBITV3 used in Karotz)
- Qualcomm MSM6xxx
- Qualcomm Atheros AR6400
- Texas Instruments TMS320DM365/TMS320DM368 ARM9EJ-S
- Zilog Encore! 32
Documentation
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 :
- IC manufacturer marketing slides.
- IC manufacturer datasheets.
- IC manufacturer reference manuals.
- ARM core reference manuals.
- ARM architecture reference manuals.