79362120-arm

20
ARM (Acorn RISC Machine, Advanced RISC Machine). ARM es una arquitectura de procesadores RISC de 32 bits desarrollada por ARM Limited, que es ampliamente empleada en sistemas integrados. Por sus características de ahorro energético, las CPU ARM dominan en el mercado de dispositivos móviles, donde el bajo consumo de energía es un objetivo crítico de sus diseños. Actualmente, la familia de procesadores ARM está presente en el 75% de los sistemas integrados de CPU RISC de 32 bits, haciéndola una de las más prolíficas arquitecturas de 32 bits en el mundo. Las CPU ARM se pueden encontrar en todo tipo de dispositivos electrónicos portátiles como PDAs, teléfonos celulares, reproductores, calculadoras, unidades de juegos handheld, y periféricos de computadora (discos duros y routers). Existen múltiples familias de ARM como ser: ARM1, ARM2, ARM3, ARM6, ARM7, ARM7TDMI, StrongARM, ARM9TDMI, ARM9E, ARM10E, XScale, ARM11, Cortex, etc. HISTORIA DE ARM El diseño de ARM comenzó en 1983, como un proyecto de desarrollo en la empresa Acorn Computers Ltd. El equipo, liderado por Roger Wilson y Steve Furber, comenzaron el desarrollo de lo que, en alguna forma, parecía un MOS Technology 6502 avanzado. Acorn tenía una larga línea de computadoras basadas en el 6502, por lo tanto, un chip que fuera similar podría representar una ventaja significativa a la compañía. El equipo completó muestras del desarrollo llamadas ARM1 en abril de 1985, y la primera producción "real" fue el ARM2 el año siguiente. ARM2 tenía un bus de datos de 32 bits. El ARM2 fue, posiblemente, el microprocesador de 32 bits más simple en el mundo, con solo 30 mil transistores (por ejemplo, el modelo 68000 de Motorola tenía 70 mil transistores y era seis años más antiguo). Tampoco poseía caché, como la mayoría de las CPUs de esos días. Esta simplicidad les permitió un menor uso de energía. Su sucesor, el ARM3, fue producido con un caché de 4 KB y con mejor performance. Entrados los 80, Apple Computer comenzó a trabajar con Acorn en una nueva versión del núcleo de ARM, que se convertiría eventualmente en el ARM6. El primer modelo fue lanzado en 1991. En 1994, Acorn utilizó el ARM 610 como CPU principal en sus computadoras Risc PC. El núcleo permaneció mucho tiempo del mismo tamaño a pesar de estos cambios. ARM2 tenía 30 mil transistores, mientras que ARM6 sólo 35 mil. La implementación más exitosa ha sido el ARM7TDMI, con miles de millones vendidos. DEC licenció la arquitectura y produjo el StrongARM. Este trabajo fue pasado luego a Intel como parte de una resolución judicial, e Intel tuvo la oportunidad de complementar su antigua línea i960 con el StrongARM. Luego Intel desarrolló su propia implementación de alta performance conocida como XScale. La arquitectura más común soportada en smartphones, PDAs y otros dispositivos

Upload: richard-miranda

Post on 01-Jan-2016

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 79362120-Arm

ARM

(Acorn RISC Machine, Advanced RISC Machine). ARM es una arquitectura de procesadores RISC de 32 bits desarrollada por ARM Limited, que es ampliamente empleada en sistemas integrados. Por sus características de ahorro energético, las CPU ARM dominan en el mercado de dispositivos móviles, donde el bajo consumo de energía es un objetivo crítico de sus diseños. Actualmente, la familia de procesadores ARM está presente en el 75% de los sistemas integrados de CPU RISC de 32 bits, haciéndola una de las más prolíficas arquitecturas de 32 bits en el mundo. Las CPU ARM se pueden encontrar en todo tipo de dispositivos electrónicos portátiles como PDAs, teléfonos celulares, reproductores, calculadoras, unidades de juegos handheld, y periféricos de computadora (discos duros y routers). Existen múltiples familias de ARM como ser: ARM1, ARM2, ARM3, ARM6, ARM7, ARM7TDMI, StrongARM, ARM9TDMI, ARM9E, ARM10E, XScale, ARM11, Cortex, etc.

HISTORIA DE ARM

El diseño de ARM comenzó en 1983, como un proyecto de desarrollo en la empresa Acorn Computers Ltd.El equipo, liderado por Roger Wilson y Steve Furber, comenzaron el desarrollo de lo que, en alguna forma, parecía un

MOS Technology 6502 avanzado. Acorn tenía una larga línea de computadoras basadas en el 6502, por lo tanto, un chip que fuera similar podría representar una ventaja significativa a la compañía.

El equipo completó muestras del desarrollo llamadas ARM1 en abril de 1985, y la primera producción "real" fue el ARM2 el año siguiente. ARM2 tenía un bus de datos de 32 bits.

El ARM2 fue, posiblemente, el microprocesador de 32 bits más simple en el mundo, con solo 30 mil transistores (por ejemplo, el modelo 68000 de Motorola tenía 70 mil transistores y era seis años más antiguo). Tampoco poseía caché,

como la mayoría de las CPUs de esos días. Esta simplicidad les permitió un menor uso de energía. Su sucesor, el ARM3, fue producido con un caché de 4 KB y con mejor performance.

Entrados los 80, Apple Computer comenzó a trabajar con Acorn en una nueva versión del núcleo de ARM, que se convertiría eventualmente en el ARM6. El primer modelo fue lanzado en 1991.

En 1994, Acorn utilizó el ARM 610 como CPU principal en sus computadoras Risc PC.El núcleo permaneció mucho tiempo del mismo tamaño a pesar de estos cambios. ARM2 tenía 30 mil transistores,

mientras que ARM6 sólo 35 mil.La implementación más exitosa ha sido el ARM7TDMI, con miles de millones vendidos.

DEC licenció la arquitectura y produjo el StrongARM. Este trabajo fue pasado luego a Intel como parte de una resolución judicial, e Intel tuvo la oportunidad de complementar su antigua línea i960 con el StrongARM. Luego Intel

desarrolló su propia implementación de alta performance conocida como XScale.La arquitectura más común soportada en smartphones, PDAs y otros dispositivos handheld es la ARMv4.

Familias

FamiliaVersión de Arquitectu

raNúcleo

Características

Cache (I/D)/MMU

MIPS efectivos @ MHz

Campos de Aplicación

ARM1ARMv1 (obsoleto)

ARM1 Nulo

ARM Evaluation System segundo procesador para BBC Micro

ARM2ARMv2 (obsoleto)

ARM2

Añadida instrucción MUL (multiplicar)

Nulo

4 MIPS @ 8 MHz0.33 DMIPS/MHz

Acorn Archimedes, Chessmachine

ARMv2a (obsoleto)

ARM250 Integrado MEMC

Nulo, MEMC1a

7 MIPS @ 12 MHz

Acorn Archimedes

Page 2: 79362120-Arm

(MMU), gráficos y un procesador de E / S. Añadidas instrucciones SWP y SWPB (swap).

ARM3ARMv2a (obsoleto)

ARM2a

Primera integración de una memoria caché en un ARM.

4K unificados

12 MIPS @ 25 MHz0.50 DMIPS/MHz

Acorn Archimedes

ARM6ARMv3 (obsoleto)

ARM60

Soporte de dirección de memoria de 32 bits (frente a los 26 bits)

Nulo10 MIPS @ 12 MHz

3DO Interactive Multiplayer, Zarlink GPS Receiver

ARM600

Como ARM60, caché y un bus cooprocesador (para la unidad de coma flotante FPA10).

4K unificados28 MIPS @ 33 MHz

ARM610

Como ARM60, caché, sin bus coprocesador.

4K unificados

17 MIPS @ 20 MHz0.65 DMIPS/MHz

Acorn Risc PC 600, Apple Newton Serie 100

ARM7 ARMv3 (obsoleto) ARM700

8 KB unificados

40 MHzAcorn Risc PC prototipo de CPU card

ARM710Como ARM700

8 KB unificados

40 MHzAcorn Risc PC 700

ARM710aComo ARM700

8 KB unificados

40 MHz0.68 DMIPS/MHz

Acorn Risc PC 700, Apple eMate 300

ARM7100Como ARM710a, SoC integrado.

8 KB unificados

18 MHz Psion Series 5

ARM7500Como ARM710a, SoC integrado.

4 KB unificados

40 MHz Acorn A7000

ARM7500FE ARM7500, "FE" añadido un FPA y un controlador de memoria

4 KB unificados

56 MHz0.73 DMIPS/MHz

Acorn A7000+ Network Computer

Page 3: 79362120-Arm

EDO.

ARM7TDMI

ARMv4T

ARM7TDMI(-S)Segmentación de 3 etapas, Thumb

nulo

15 MIPS @ 16.8 MHz63 DMIPS @ 70 MHz

Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 and LH754xx, Actel's CoreMP7

ARM710TARM7TDMI, caché

8 KB unificados, MMU

36 MIPS @ 40 MHz

Psion Series 5mx, Psion Revo/Revo Plus/Diamond Mako

ARM720TARM7TDMI, caché

8 KB unificados, MMU con FCSE

60 MIPS @ 59.8 MHz

Zipit Wireless Messenger, NXP Semiconductors LH7952x

ARM740TARM7TDMI, caché

MPU

ARMv5TEJ

ARM7EJ-S

Segmentación de 5 etapas, Thumb, Jazelle DBX, mejora de instruciones DSP

nulo

StrongARM

ARMv4

SA-11016 KB/16 KB, MMU

203 MHz1.0 DMIPS/MHz

Apple Newton serie 2x00 , Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS

SA-1100SA-110, SoC integrado

16 KB/8 KB, MMU

203 MHz Psion netBook

SA-1110SA-110, SoC integrado

16 KB/8 KB, MMU

206 MHz

LART (computer), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560 series, Palm Zire 31

ARM8 ARMv4 ARM8101 Segmentación de 5 fases, predilección de salto

8 KB unificados, MMU

84 MIPS @ 72 MHz1.16 DMIPS/MHz

Acorn Risc PC prototipo de CPU card

Page 4: 79362120-Arm

estático, memoria de doble ancho de banda

ARM9TDMI

ARMv4T

ARM9TDMISegmentación de 5 fases, Thumb

nulo

ARM920TARM9TDMI, caché

16 KB/16 KB, MMU con FCSE (Fast Context Switch Extension)2

200 MIPS @ 180 MHz

Armadillo, Atmel AT91SAM9, GP32, GP2X (primer núcleo), Tapwave Zodiac (Motorola i. MX1), Hewlett-Packard Calculadoras HP-49/50 , Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC TyTN, FIC Neo FreeRunner 3 ), Samsung S3C2410 (Dispositivos de navegación TomTom)4

ARM922TARM9TDMI, cachés

8 KB/8 KB, MMU

NXP Semiconductors LH7A40x

ARM940TARM9TDMI, cachés

4 KB/4 KB, MPU

GP2X (segundo núcleo), Meizu M6 Mini Player 5 6

ARM9E ARMv5TE

ARM946E-S

Thumb, mejora de instrucciones DSP, caché

variables, memoria estrechamente acoplada, MPU

Nintendo DS, Nokia N-Gage, Canon PowerShot A470, Canon EOS 5D Mark II,7 Conexant 802.11 chips, Samsung S5L2010

ARM966E-S

Thumb, Mejora de instrucciones DSP

sin caché, TCMs

ST Micro STR91xF, integra Ethernet8

ARM968E-S ARM966E-S sin caché, TCMs

NXP Semiconductors LPC2900

Page 5: 79362120-Arm

ARMv5TEJ

ARM926EJ-S Thumb, Jazelle DBX, Mejora de instrucciones DSP

variables, TCMs, MMU

220 MIPS @ 200 MHz,

Teléfonos móviles: Sony Ericsson (K, W series); Siemens y Benq (serie x65 y posterior); LG Arena; Texas Instruments OMAP1710, OMAP1610, OMAP1611, OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100, MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000, GPH Wiz, NEC C10046F5-211-PN2-A SoC – núcleo en la ATi Hollywood GPU usada en la Wii,9 Samsung S3C2412 usado en Squeezebox Duet's Controller. Squeezebox Radio; NeoMagic MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live (NAS); Telechips TCC7801,

Page 6: 79362120-Arm

TCC7901;ZiiLABS' ZMS-05 SoC; Western Digital MyBook "I World Edition"; Rockchip RK2806 y RK2808.

ARMv5TE ARM996HSProcesador sin reloj, como ARM966E-S

sin cachés, TCMs, MPU

ARM10E

ARMv5TEARM1020E

Segmentación de 6 fases, Thumb, Mejora de instrucciones DSP, (VFP)

32 KB/32 KB, MMU

ARM1022E ARM1020E16 KB/16 KB, MMU

ARMv5TEJ

ARM1026EJ-S

Thumb, Jazelle DBX, Mejora de instrucciones DSP, (VFP)

variable, MMU o MPU

Western Digital MyBook "II World Edition";Conexant so4610 y so4615 ADSL SoC

XScale ARMv5TE

80200/IOP310/IOP315

Procesador E/S, Thumb, Mejora de instrucciones DSP

80219 400/600 MHz Thecus N2100

IOP321600 BogoMips @ 600 MHz

Iyonix

IOP33x

IOP34x1–2 núcleos, Acelerador de RAID

32K/32K L1, 512K L2, MMU

PXA210/PXA250

Procesador de aplicaciones, Segmentación de 7 fases

PXA210: 133 y 200 MHz, PXA250: 200, 300, and 400 MHz

Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90

PXA25532KB/32KB, MMU

400 BogoMips @ 400 MHz; 371–533 MIPS @ 400 MHz10

Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad

PXA263 200, 300 y 400  Sony CLIÉ

Page 7: 79362120-Arm

MHz NX73V, NX80V

PXA26xdefault 400 MHz, más de 624 MHz

Palm Tungsten T3

PXA27xProcesador de Aplicaciones

32 KB/32 KB, MMU

800 MIPS @ 624 MHz

Gumstix verdex,"Trizeps-Modules" PXA270 COM, HTC Universal, HP hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, and x51 series, Motorola Q, Balloon3, Trolltech Greenphone, Palm TX(312MHz), Motorola Ezx Platform A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Trēo 650-755p, Zipit Z2, HP iPaq 614c Business Navigator.

PXA800(E)F

PXA3XX (nombre en clave "Monahans")

32KB/32KB L1, TCM, MMU

1000 MIPS @ 1.25 GHz

Samsung Omnia

PXA900Blackberry 8700, Blackberry Pearl (8100)

IXC1100Procesador de control de vuelo

IXP2400/IXP2800

IXP2850

IXP2325/IXP2350

IXP42xNSLU2 IXP460/IXP465

Page 8: 79362120-Arm

ARM11

ARMv6 ARM1136J(F)-S11

Segmentación de 8 etapas, SIMD, Thumb, Jazelle DBX, (VFP), Mejora de instrucciones DSP

variable, MMU

740 @ 532–665 MHz (i.MX31 SoC), 400–528 MHz

Texas Instruments OMAP2420 (Nokia E90, Nokia N93, Nokia N95, Nokia N82), Zune, BUGbase [2] , Nokia N800, Nokia N810, Qualcomm MSM7200 (con coprocesador ARM926EJ-S@274 MHz, usado en Eten Glofiish, HTC TyTN II, HTC Nike), Freescale i.MX31 (del Zune original de 30 GB, Toshiba Gigabeat S y Kindle DX), Freescale MXC300-30 (Nokia E63, Nokia E71, Nokia 5800, Nokia E51, Nokia 6700 Classic, Nokia 6120 Classic, Nokia 6210 Navigator, Nokia 6220 Classic, Nokia 6290, Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75, Nokia N97, Nokia N81), Qualcomm MSM7201A visto en los HTC Dream, HTC Magic, Motorola Z6, HTC Hero, & Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 usado en ZTE Link,12 13

ARMv6T2 ARM1156T2(F)-S Segmentación de 9 etapas, SIMD,

variable, MPU

Page 9: 79362120-Arm

Thumb-2, (VFP), Mejora de instrucciones DSP

ARMv6KZ ARM1176JZ(F)-SARM1136EJ(F)-S

variable, MMU+TrustZone

Apple iPhone (EDGE y 3G), Apple iPod touch (1ra y 2da generación), Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100;14 Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (ej. Samsung Omnia II, Samsung Moment, SmartQ 5), S3C643015

ARMv6K ARM11 MPCore

As ARM1136EJ(F)-S, 1–4 core SMP

variable, MMU

Nvidia APX 2500

FamiliaVersión de arquitectu

raNúcleo

Características

Caché (I/D)/MMU

MIPS efectivos @ MHz

Campo de aplicación

Cortex ARMv7-A

Cortex-A5

VFP, NEON, Jazelle RCT and DBX, Thumb-2, Segmentación de 8 fases, 1–4 núcleos SMP

variable (L1), MMU+TrustZone

Más de 1500 (1.5 DMIPS/MHz)

"Sparrow" (nombre en clave)16 17 18

Cortex-A8 VFP, NEON, Jazelle RCT, Thumb-2, Segmentación Superscalar de 13 etapas

variable (L1+L2), MMU+TrustZone

Más de 2000 (2.0 DMIPS/MHz de reloj desde 600 MHz hasta más de 1 GHz)

Texas Instruments serie OMAP3xxx, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone

Page 10: 79362120-Arm

3GS, Apple iPod touch (3rd Generation), Apple iPad (SoCApple A4), Apple iPhone 4 (Soc Apple A4 , fabricado por Samsung e Intrensity), Archos 5, FreeScale i.MX51-SOC, BeagleBoard, Motorola Milestone, Motorola Milestone X, Palm Pre, Samsung Omnia HD, Samsung Wave S8500 (Hummingbird), Samsung i9000 Galaxy S (Hummingbird), Sony Ericsson Satio, Woxter Tablet PC 80, Touch Book, Nokia N900, Meizu M9, ZiiLABS ZMS-08 SoC.

Qualcomm Scorpion

GPU Adreno 200, VFPv3, NEON, Jazelle RCT, Thumb-2, Segmentación Superscalar de 13 etapas,

variable (L1+L2), MMU+TrustZone

Más de 2000 (2.0 DMIPS/MHz de reloj desde 1 GHz hasta más de 1,5 GHz dual core)

Toshiba TG01, HTC Desire, Google Nexus One, HTC EVO 4G, HTC Incredible, HTC Scorpion, HTC HD2, HTC HD7

Cortex-A9 Perfil de aplicaciones, (VFP), (NEON), Jazelle RCT y DBX, Thumb-2, Out-of-order speculative issue

MMU+TrustZone

2.5 DMIPS/MHz Samsung Galaxy S II

Page 11: 79362120-Arm

superscalar

Cortex-A9 MPCore

Cortex-A9, 1–4 núcleos SMP

MMU+TrustZone

10,000 DMIPS @ 2 GHz optimizados en TSMC 40G (Doble núcleo) (2.5 DMIPS/MHz por núcleo)

Texas Instruments OMAP4430/4440, ST-Ericsson U8500, Nvidia Tegra2, Qualcomm Snapdragon 8X72 PlayStation Vita

ARMv7-R Cortex-R4(F)

Perfil Embebido, Thumb-2, (FPU)

variable caché, MPU opcional

600 DMIPS @ 475 MHz

Broadcom, TMS570 from Texas Instruments

ARMv7-ME

Cortex-M4 (nombre en clave "Merlin")19

Perfil microcontrolador, Thumb y Thumb-2, FPU. MAC, SIMD e instrucciones divididas.

MPU opcional.

1.25 DMIPS/MHz

ARMv7-M Cortex-M3

Perfil microcontrolador, Thumb-2 únicamente. Reparto de instrucciones por Hardware.

sin caché, MPU opcional.

125 DMIPS @ 100 MHz

Texas Instruments Stellaris microcontroller family, ST Microelectronics STM32, NXP Semiconductors LPC1700, Toshiba TMPM330FDFG, Ember's EM3xx Series, Atmel AT91SAM3, Europe Technologies EasyBCU, Energy Micro's EFM32, Actel's SmartFusion

ARMv6-M Cortex-M0 (nombre en clave "Swift")20

Perfil microcontrolador, Thumb-2 subset (instrucciones 16-bit Thumb & BL, MRS, MSR, ISB, DSB, and DMB).

Sin caché. 0.9 DMIPS/MHz NXP Semiconductors NXP LPC1100,21 Triad Semiconductor,22 Melfas,23 Chungbuk Technopark,24 Nuvoton,25 austriamicrosystems,26 Rohm 27

Page 12: 79362120-Arm

Cortex-M1

FPGA targeted, Microcontroller profile, Thumb-2 subset (instrucciones 16-bit Thumb & BL, MRS, MSR, ISB, DSB, and DMB).

Sin

Más de 136 DMIPS @ 170 MHz28 (0.8 DMIPS/MHz,29 MHz achievable FPGA-dependent)

Actel ProASIC3, ProASIC3L, IGLOO and Fusion PSC devices, Altera Cyclone III, otros productos FPGA están soportados, por ejemplo: Synplicity

30

FamiliaVersión de Arquitectu

raNúcleo

Características

Caché (I/D)/MMU

MIPS efectivos @ MHz

Campo de Aplicación

ARQUITECTURA ARMARM es una de 32 bits equipo reducido conjunto de instrucciones (RISC), la arquitectura del conjunto de instrucciones (ISA), desarrollado por ARM Holdings . Fue nombrado el Advanced RISC Machine, y antes de eso, la máquina de Acorn RISC. La arquitectura ARM es el más ampliamente utilizado de 32-bit arquitectura de conjunto de instrucciones en números producidos. Originalmente concebida por computadoras Acorn para su uso en ordenadores personales , los primeros productos basados en ARM eran los Acorn Arquímedes rango introducido en 1987 . La relativa simplicidad de los procesadores ARM hace ideales para aplicaciones de baja potencia. Como resultado, se han convertido en dominante en el mercado de la electrónica móviles e integrados, como un costo relativamente bajo, pequeños microprocesadores y microcontroladores. En 2005, alrededor del 98% de los más de mil millones de teléfonos móviles vendidos cada año utilizan al menos un procesador ARM. A partir de 2009 cuenta, procesadores ARM para aproximadamente el 90% de todos los incorporados procesadores de 32 bits RISC [ 6] y se utilizan ampliamente en la electrónica de consumo, incluidos los asistentes digitales personales (PDAs), tabletas, teléfonos móviles, medios digitales y reproductores de música portátiles consolas de juegos, calculadoras y periféricos de ordenador como discos duros y routers .

La arquitectura ARM es licenciable. Las empresas que son titulares de licencias ARM actuales o anteriores incluyen Alcatel-Lucent , Apple Inc. , AppliedMicro , Atmel , Broadcom , Cirrus Logic , Digital Equipment Corporation , Ember , Micro energía , Freescale , Intel (a través de diciembre ), LG , Marvell Technology Group , Microsemi , Microsoft , NEC , Nintendo , Nuvoton , Nvidia , Sony , NXP (antes Philips), Oki , ON Semiconductor , Psion , Qualcomm , Samsung , de Sharp , STMicroelectronics , Symbios Logic , Texas Instruments , VLSI Technology , Yamaha , y ZiiLABS . Los procesadores ARM son desarrollados por ARM y los titulares de licencias de ARM. Prominentes familias de procesadores ARM desarrollado por ARM Holdings incluyen el ARM7 , ARM9 , ARM11 y la corteza . Los procesadores ARM notables desarrollados por los concesionarios incluyen AppliedMicro X-Gene, diciembre StrongARM , Freescale i.MX , Marvell (antes Intel ) XScale , Tegra de Nvidia , ST-Ericsson Nova y NovaThor, Qualcomm Snapdragon , el Texas Instruments OMAP línea de productos, el colibrí Samsung y el Apple A4 y A5 .

ARM7La familia ARM7 está compuesta por un conjunto de núcleos RISC de 32 bits basados en las arquitecturas ARMv4T y ARMv5TEJ, optimizados para mantener unos requerimientos de consumo bajos y coste reducido. La idea clave en la que se basa la familia es la simplicidad del diseño. El núcleo RISC tiene un conjunto de instrucciones muy reducido y consecuentemente también un número de puertas bajo, esto permite un rendimiento alto consumiendo poca área de silicio. Esto lo hace muy adecuado parasistemas embebidos en los cuales el coste y el consumo energético sean aspectos fundamentales en el diseño. La familia está compuesta por varios núcleos, ofreciendo una potencia de cálculo de hasta 130 MIPS5:ARM7TDMI (ARMv4T): es el núcleo más básico. Dispone de una ALU entera y pipeline de tres etapas.ARM7TDMI-S (ARMv4T): es una versión sintetizable del ARM7TDMI.

Page 13: 79362120-Arm

ARM7EJ-S (ARMv5TEJ): es una versión sintetizable mejorada con una unidad de procesamiento DSP y una unidad de aceleración de ejecución de aplicaciones Java (ARM Jazelle DBX technology). 8ARM720T (ARMv4T): es una versión que incorpora un controlador de memoria(MMU) y una cache de 8 KB, lo que le permite conectarle una memoria RAM externa y ejecutar sistemas operativos con requerimientos elevados de memoria como Windows CE, Linux, Symbian OS, Palm OS. El ARM7 posee una arquitectura de tipo carga y almacena (load-and-store), por tanto,cualquier instrucción que procese datos necesita que estos se copien primero en unconjunto de registros. Tras ejecutarse la operación, los resultados se guardan enmemoria.El banco de registros de datos lo componen dieciséis registros (R0-R15) de 32 bits, delos cuales:•R0-R12 son de propósito general.•R13 es usado como puntero de pila.•R14, registro de enlace (Link Register). Cuando se llama a una función, ladirección de retorno se almacena en este registro. Esto permite laentrada y salida rápida en funciones que no llamen a ninguna otrafunción (“a leaf function”). En otro caso el registro de enlace debe seralmacenado en la pila.•R15, es contador de programa.Curiosamente, algunas instrucciones pueden utilizar los registros R13-R15 comoregistros de propósito general.El registro de estado CPSR (Current Program Status Register) es otro registro de 32bitsque contiene flags que indican es estado de la CPU.31 30 29 28 27 8 7 6 5 4 Z C V I F T M4 M3 M2 M1 M0Tabla 1 Registro de estadoLos cuatro bits de más peso son manejados directamente por la CPU e indican lascondiciones de estado de los resultados de las operaciones de procesamiento dedatos.Los ocho bits de menos peso pueden ser controlados desde la aplicación.Los flags F e I sirven para habilitar las dos fuentes de interrupción externas a la CPU.Como veremos en el capítulo siguiente, todos los periféricos del LPC2148 estánconectados a estas dos líneas mediante un controlador de interrupciones vectorizadas.El flag T sirve para controlar que conjunto de instrucciones se esté ejecutando. Comose ha comentado anteriormente, el ARM7 es capaz de ejecutar dos conjuntos deinstrucciones, denominados ARM y THUMB y de 32 y 16 bits respectivamente. Más

 

31 11adelante se verá que para cambiar de modo de ejecución, el procedimiento adecuadono es manipular directamente este bit, si no ejecutar una instrucción de salto concambio (BX, BLX) al código THUMB.Los cuatro bits de menos peso indican el modo de operación de la CPU. En el siguientepunto veremos los distintos modos en los que puede operar la CPU ARM7.