General information | |
---|---|
Designed by | ARM Holdings |
Architecture and classification | |
Microarchitecture | ARMv4T |
Instruction set | ARM (32-bit), Thumb (16-bit) |
Performance | |
---|---|
Max.CPUclock rate | 100 MHz to 600 MHz |
Architecture and classification | |
Microarchitecture | ARMv5TE |
Instruction set | ARM (32-bit), Thumb (16-bit) |
Architecture and classification | |
---|---|
Microarchitecture | ARMv5TEJ |
Instruction set | ARM (32-bit), Thumb (16-bit), Jazelle (8-bit) |
ARM9 is a group of32-bitRISCARM processor cores licensed byARM Holdings formicrocontroller use.[1] 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 they are no longer recommended for new IC designs; recommended alternatives includeARM Cortex-A,ARM Cortex-M, andARM Cortex-R cores.[2]
With this design generation, ARM moved from avon Neumann architecture (Princeton architecture) to a (modified; meaning split cache)Harvard architecture with separate instruction anddata buses (and caches), significantly increasing its potential speed.[3] Most silicon chips integrating these cores will package them asmodified Harvard architecture chips, combining the two address buses on the other side of separatedCPU caches and tightly coupled memories.
There are two subfamilies, implementing different ARM architecture versions.
Key improvements overARM7 cores, enabled by spending more transistors, include:[4]
Additionally, some ARM9 cores incorporate "Enhanced DSP" instructions, such as a multiply-accumulate, to support more efficient implementations ofdigital 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 anAHB interconnect connecting to aDRAM interface and anExternal Bus Interface usable withNOR flash memory. Such hybrids are no longer pure Harvard architecture processors.
ARM Holdings 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 manufacturedsilicon containing the ARM CPU.
Integrated device manufacturers (IDM) receive the ARM ProcessorIP assynthesizableRTL (written inVerilog). 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.
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 ofmulticore processors support software written using either the asymmetric (AMP) or symmetric (SMP)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.[5]
ARM9TDMI is a successor to the popularARM7TDMI core, and is also based on theARMv4T architecture. Cores based on it support both 32-bit ARM and 16-bit Thumb instruction sets and include:
ARM9E, and its ARM9EJ sibling, implement the basicARM9TDMI pipeline, but add support for theARMv5TE architecture, which includes some DSP-esque instruction set extensions. In addition, the multiplier unit width has been doubled, halving the time required for most multiplication operations. They support 32-bit, 16-bit, and sometimes 8-bit instruction sets.
TheTI-Nspire CX (2011) and CX II (2019) graphing calculators use an ARM926EJ-S processor, clocked at 132 and 396 MHz respectively.[6]
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 (ARM Holdings).
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.
IC manufacturer has additional documents, including: evaluation board user manuals, application notes, getting started with development software, software library documents, errata, and more.