ELECTRONICA DIGITAL III ARM Cortex M 3 Advanced

  • Slides: 60
Download presentation
ELECTRONICA DIGITAL III ARM - Cortex M 3 Advanced RISC Machines

ELECTRONICA DIGITAL III ARM - Cortex M 3 Advanced RISC Machines

Diseño inicial 1983 Primer prototipo de ARM-1 en 1985 ARM-2 en 1986 • Bus

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

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

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-M 3 • Arquitectura ARMv. 7 M • No Chace – No MMU

ARM Cortex-M 3 • Arquitectura ARMv. 7 M • 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-M 3 • Arquitectura ARMv. 7 M • No Chace – No MMU

ARM Cortex-M 3 • Arquitectura ARMv. 7 M • 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 7 TDMI Cortex M 3 Basado en el core ARM T -

ARM 7 TDMI Cortex M 3 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

Morgan Kaufmann Series In Computer Architecture and Design

Programación de Arm - Cortex Aplicaciones en Lenguaje Máquina Aplicaciones en Lenguaje Ensamblador Aplicaciones

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

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

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 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-M 3

Cortex-M 3

Cortex-M 3

Cortex-M 3

 ARM Cortex-M Utiliza Tecnología ARM Thumb®-2 • Instrucciones de “ 16 -bit Thumb”

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

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 Thumb 2: 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

• 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 r 4, r 1, r 2 El resultado de

Formato de las Instrucciones: ADD r 4, r 1, r 2 El resultado de la Instrucción es: r 4 = r 1 + r 2

AHB => Advance High-perfomance Bus VPB => VLSI Peripheral Bus APB => Advance Peripheral

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):

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

Mapa de MEMORIA

Los QFP (Quad Flat Pack) son cuadrados, con terminales en ala de gaviota en

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),

BGA ⇒ μBGA, Chip Scale Package (CSP),

Característica de Corriente y Voltaje de Interfaces

Característica de Corriente y Voltaje de Interfaces