Sei sulla pagina 1di 60

ELECTRONICA

DIGITAL III
ARM - Cortex M3
Advanced RISC Machines
Diseño inicial 1983
Primer prototipo de ARM-1 en 1985
ARM-2 en 1986
• Bus de Datos de 32 bits
• 16 Registros de 32 bits
• Diseño con influencia de 6502 (y por tanto Motorola)
• Solo 30000 transistores en su implementación
Producidos por:

•Freescale (Motorola) •NXP (Philips)


•IBM •VLSI
•Infineon Technologies •Atmel
•OKI •Sharp
•Texas Instruments •Samsung
•Nintendo •STMicroelectronics
•etc.
Con el procesador ARM - Cortex, se
realizaron millones de unidades de
Celulares y Video Juegos portátiles.

El diseño del ARM se ha convertido en


uno de los más usados del mundo, desde
discos duros hasta juguetes.

Hoy en día, cerca del 75% de los


procesadores de 32 bits poseen este chip
en su núcleo.
ARM Cortex-M3
• Arquitectura ARMv.7M
• No Chace – No MMU
• La Tabla de Vectores contiene direcciones y no instrucciones
• Instrucción DIV
• Interrupciones salvan y restauran en estado automáticamente
• Mapa de Memoria FIJO
• Bit-Banding
• Interrupcion no enmascarable (NMI)
• Nucleo compatible con Thumb-2
ARM Cortex-M3
• Arquitectura ARMv.7M
• No Chace – No MMU
• La Tabla de Vectores contiene direcciones y no instrucciones
• Instrucción DIV
• Interrupciones salvan y restauran en estado automáticamente
• Mapa de Memoria FIJO
• Bit-Banding
• Interrupcion no enmascarable (NMI)
• Nucleo compatible con Thumb-2
ARM7TDMI  Cortex M3
Basado en el core ARM

T - Extensión de la arquitectura Thumb.


Set de Instrucciones ARM de 32 bits.
Set de Instrucciones Thumb de 16 bis.
Selección de modo mediante ejecución de una Instrucción.

D - Core con extensiones para depuración (Debug).

M - Core con multiplicador mejorado.

I - Core con Embedded ICE Macrocell


Morgan Kaufmann Series
In Computer Architecture and Design
Programación de Arm - Cortex

Aplicaciones en Lenguaje Máquina

Aplicaciones en Lenguaje Ensamblador

Aplicaciones en Lenguaje de Alto Nivel


Aplicaciones en Lenguaje Máquina

Actualmente nadie programa en lenguaje


máquina por el tiempo de programación que
insume y es dificil de documentar
Aplicaciones en Lenguaje Ensamblador

• Procesamiento de datos Limitados


• Aplicaciones de gran volumen de unidades
• Aplicaciones de Control en “Real-Time”
• Programas cortos y de moderada longitud
• Aplicaciones en que el costo de la memoria
es importante
• Aplicaciones que tienen mas input/output y
control que cálculo
Aplicaciones en Lenguaje de Alto Nivel

• Programas en donde se esperan muchos cambios


• Aplicaciones en donde ya hay disponibles
programas en lenguaje de alto nivel
• Programas Largos
• Compatibilidad con aplicaciones similares
usando computadores grandes
• Aplicaciones que tienen mucho cálculo que
input/output y control que cálculo
Cortex-M3

Cortex-M3
Cortex-M3
ARM Cortex-M
Utiliza Tecnología ARM Thumb®-2
• Instrucciones de “16-bit Thumb”
• Instrucciones de 32-bit ARM
• Complilador “C” usa ambas
Código ARM: todas las instrucciones, con todas las opciones y
todos los modos de direccionamiento

Código Thumb: instrucciones de 16 bits más “compactas”.


Objetivo: programas más cortos
Problema: NO cabe lo mismo que en 32 bits, programas más
lentos

Thumb2: combina los dos anteriores de forma que no sea


necesario poner instrucciones para pasar de un modo a otro.
No es necesario que las instrucciones estén alineadas a
palabra.
• ARM procesa datos solo en los registros

• Las Instrucciones operan sobre ellos

• Solo se vincula con la memoria via las


Instrucciones:
LOAD => LDR (de mem a reg)
STORE => STR (de reg a mem)
Formato de las Instrucciones:

ADD r4, r1, r2

El resultado de la Instrucción es:

r4 = r1 + r2
AHB => Advance High-perfomance Bus

VPB => VLSI Peripheral Bus

APB => Advance Peripheral Bus


Memoria

• Espacio de direccionamiento “plano” con dir. de 32 bits

• MPU (opcional): Memory Protection Unit


Permite definir acceso a la memoria (hasta 8 zonas)

• Dispositivos: mapeados en memoria

• Arquitectura HARVARD: el procesador accede a memoria


por dos caminos diferentes, datos y programa.

• Zonas especiales para acceso eficiente a bits: BIT BAND


Mapa de MEMORIA
Los QFP (Quad Flat Pack) son cuadrados,
con terminales en ala de gaviota en sus
cuatro lados. Cuando son de paso fino hay
que tener mucho cuidado en su
manipulación para no dañar los terminales.
BGA ⇒ μBGA, Chip Scale Package (CSP),
Característica de
Corriente y Voltaje
de Interfaces

Potrebbero piacerti anche