Está en la página 1de 14

Introducción a ARM

¿Qué es ARM?
Advanced RISC Machine

• ARM se diseñó para permitir implementaciones de tamaño muy reducido y de alto


rendimiento.
• Estas arquitecturas tan simples permiten dispositivos con muy bajo consumo de energía.
• Se caracteriza fundamentalmente por ser una computadora de set de instrucciones reducido
(Reduced Instruction Set Computer, RISC)
ARM

El primer procesador ARM fue desarrollado, entre 1983 y 1985, por Acorn
Computers Limited of Cambridge, England. Fue el primer microprocesador
RISC para uso comercial.
En 1990, ARM Limited se estableció como una compañía separada
específicamente dedicada a la explotación de la tecnología ARM.
El criterio de la empresa fue otorgar la licencia de esta tecnología a varios
fabricantes de semiconductores en todo el mundo.
ARM

Desde entonces, la arquitectura ARM ha crecido hasta convertirse en la arquitectura


más popular del planeta.
La arquitectura ARM ha sido utilizada en numerosos diseños y aplicaciones
especificas para productos estándar
(ASSP’s) que pueden encontrarse actualmente en prácticamente todos los teléfonos
móviles y la mayoría de los MP3, PDAs, cámaras y sistemas de Navegación.
Además de ser utilizada en muchos productos de automoción y aplicaciones médicas
e industriales.
ARM

La arquitectura ARM tiene un conjunto de instrucciones simple pero


eficiente que permite un tamaño de silicio compacto y ofrece alta velocidad
de ejecución a bajo consumo.
Con los comandos originales ARM todas las instrucciones son 32-bit. La
mayoría de las instrucciones pueden implementarse condicionalmente,
evitando saltos Branch asociados con las sentencias IF/THEN/ELSE.
ARM

Con la introducción del núcleo ARM7TDMI se desarrolló el juego de


instrucciones THUMB, de 16-bits.
Las instrucciones Thumb son una abreviación de las instrucciones
ARM 32-bits más frecuentemente utilizadas.
ARM

TUMB2 complementa Thumb con la mayoría de las instrucciones ARM más


populares y además permite ejecución condicional.
Adicionalmente se ha optimizado el juego de instrucciones para compiladores
de alto nivel (C/C++) y exigencias comunes en sistemas embebidos como la
manipulación de bits y división de hardware.
ARM

El ARM soporta una herramienta que incluye un emulador del set de


instrucciones para verificación del modelo de hardware y el de software y
Assembler, compiladores C y C++.
Características incorporadas por ARM

• Todas las instrucciones se ejecutan en un ciclo


de reloj • Modos de direccionamiento con incremento y
decremento automático de punteros, para
• Modos de direccionamiento simples optimizar los lazos de los programas.
• El procesamiento de datos solo opera con • Carga y almacenamiento de múltiples
contenidos de registros, no directamente en instrucciones, para maximizar el rendimiento
memoria. de los datos.
• Control sobre la unidad aritmética lógica (ALU, • Ejecución condicional de todas las
Arithmetic Logic Unit) y el “shifter”, en cada instrucciones, para maximizar el rendimiento
instrucción de procesamiento de datos para de la ejecución.
maximizar el uso de la ALU y del “shifter”.
Características incorporadas por ARM

• Set de instrucciones ortogonal, regular o


simétrico
• En este tipo de set no hay restricciones en los • Técnica “pipeline” Esta técnica consiste en
registros usados en las instrucciones, son todos comenzar la próxima instrucción antes de que la
registros de propósitos generales, con muy pocas actual haya finalizado. El objetivo es economizar
excepciones (por ejemplo el contador de tiempo.
programa, PC). A los programadores Assembler
les resulta más fácil aprender un set con estas
• Excepciones vectorizadas Las excepciones son
condiciones inusuales o inválidas asociadas con la
características. Y también, a los compiladores les
ejecución de una instrucción particular.
resulta más fácil manejarlo. Mientras que la
implementación del hardware será generalmente
más eficiente.
Características incorporadas por ARM

• Arquitectura “Thumb” Algunos procesadores


ARM tienen esta arquitectura para
aplicaciones que necesiten mejorar la densidad
de código. Consiste en usar un set de • .
instrucciones de 16 bits que es una forma
comprimida del set de instrucciones ARM de 32
bits.
ARM
Ejemplo ARM (ESP32)
Ejemplo ARM (ESP32)
• Memoria: 520 KiB SRAM

• El ESP32-devkitc-v4 es una tarjeta
Conectividad inalámbrica:
• Wi-Fi: 802.11 b/g/n
de desarrollo para el procesador • Bluetooth: v4.2 BR/EDR y BLE
ESP32-WROOM-32D el cual es un • Interfaces periféricas:
sistema basado en un • 12-bit SAR ADC de hasta 18 canales
microprocesador ARM de 32 bits. • 2 × 8-bit DACs
Trabaja a una frecuencia de 240
• 10 × sensores de tacto (sensores capacitivos GPIOs)
Mhz, incluye módulo bluetooth y
• 4 × SPI
WiFi además de ser compatible
• 2 × interfaces I²S
con el IDE de Arduino.
• 2 × interfaces I²C
• 3 × UART

También podría gustarte