From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about ARM7 processor cores. For the ARMv7-A and ARMv7-R instruction set architecture, see ARM architecture.
Instruction set ARM (32-bit).
ARM architecture:
Instruction set ARM (32-bit),
Thumb (16-bit) (alternate).
ARM architecture:
Instruction set ARM (32-bit),
Thumb (16-bit) (alternate),
Jazelle (8-bit) (alternate).
ARM architecture:

ARM7 is a group of older 32-bit ARM processor cores licensed by ARM Holdings.


ARM7 block diagram

This generation introduced the Thumb 16-bit instruction set providing improved code density compared to previous designs. The most widely used ARM7 designs implement the ARMv4T architecture, but some implement ARMv3 or ARMv5TEJ. ARM7TDMI has 37 registers(31 GPR and 6 SPR). All these designs use a Von Neumann architecture,[citation needed] thus the few versions comprising a cache do not separate data and instruction caches.

Some ARM7 cores are obsolete. One historically significant model, the ARM7DI[1] is notable for having introduced JTAG based on-chip debugging; the preceding ARM6 cores did not support it. The "D" represented a JTAG TAP for debugging; the "I" denoted an ICEBreaker debug module supporting hardware breakpoints and watchpoints, and letting the system be stalled for debugging. Subsequent cores included and enhanced this support.

It is a versatile processor designed for mobile devices and other low power electronics. This processor architecture is capable of up to 130 MIPS on a typical 0.13 µm process. The ARM7TDMI processor core implements ARM architecture v4T. The processor supports both 32-bit and 16-bit instructions via the ARM and Thumb instruction sets.

ARM licenses the processor to various semiconductor companies, which design full chips based on the ARM processor architecture.


Year ARM7 Cores
1994 ARM7DI
1995 ARM710a
1997 ARM720T
1997 ARM740T
1998 ARM710T
2001 ARM7EJ-S


The original ARM7 was based on the earlier ARM6 design and used the same ARMv3 instruction set. The ARM710 variant was used in a CPU module for the Acorn Risc PC, and the first ARM based System on a Chip designs ARM7100 and ARM7500 used this core.


The ARM7TDMI (ARM7+16 bit Thumb+JTAG Debug+fast Multiplier+enhanced ICE) processor implements the ARMv4 instruction set. It was licensed for manufacture by an array of semiconductor companies. In 2009 it was one of the most widely used ARM cores, and is found in numerous deeply embedded system designs. Texas Instruments licensed the ARM7TDMI, which was designed into the Nokia 6110.[2] The ARM7TDMI-S variant is the synthesizable core.


The ARM7EJ is a version of the ARM7 implementing the ARMv5TE instruction set originally introduced with the more powerful ARM9E core.


Yamaha AICA sound processor in Dreamcast game console[3][4][5]
The Make Controller Kit with an Atmel AT91SAM7X256 (ARM) microcontroller
  • ADMtek ADM8628
  • Atmel AT91SAM7, AT91CAP7, AT91M, AT91R
  • Cirrus Logic CL-PS7110
  • Mediatek MT2502 (ARM7 EJ-STM)
  • NetSilicon NS7520
  • Nintendo - Game Boy Advance CPU (ARM7TDMI)[6]
  • Nuvoton NUC500 and NUC700 Series
  • NXP LPC2100, LPC2200, LPC2300, LPC2400, LH7
  • PortalPlayer (acquired by NVidia) 5002, 5003, 5020, 5021-TDF, 5022, 5024 SOCs (dual ARM7TDI cores)
  • STMicroelectronics STR7
  • Samsung S3C46Q0X01-EE8X, S3C44B0X
  • Yamaha AICA (ARM7DI) - sound processor with DSP[5]

See also[edit]


  1. ^ "ARM7DI Data Sheet"; Document Number ARM DDI 0027D; Issued: December 1994.
  2. ^ Sakr, Sharif. "ARM co-founder John Biggs". Engadget. Retrieved 23 December 2011. [...] the ARM7-TDMI was licensed by Texas Instruments and designed into the Nokia 6110, which was the first ARM-powered GSM phone. 
  3. ^ "Remembering the Sega Dreamcast". 29 September 2009. 
  4. ^ Shiro Hagiwara; Ian Oliver (1999). "Sega Dreamcast: Creating a Unified Entertainment World". IEEE Micro. 19 (6): 29–35. doi:10.1109/40.809375. 
  5. ^ a b "Dreamcast/ Dev.Box System Architecture" (PDF). September 2, 1999. 
  6. ^ "GBA Hardware". 

External links[edit]

ARM Holdings
Quick Reference Cards
  • Instructions: Thumb (1), ARM and Thumb-2 (2), Vector Floating Point (3)
  • Opcodes: Thumb (1, 2), ARM (3, 4), GNU Assembler Directives 5