Arquitectura ARM

ARQUITECTURA ARM DIEGO ALEJANDRO PARRA PULIDO UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA. FACULTAD DE INGENIERÍA

Views 148 Downloads 14 File size 268KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ARQUITECTURA ARM

DIEGO ALEJANDRO PARRA PULIDO

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA. FACULTAD DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN TUNJA-BOYACA 2013

ARQUITECTURA ARM

DIEGO ALEJANDRO PARRA PULIDO

Trabajo de Arquitectura de computadores

Andrés Alejandro Mora Franco

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA. FACULTAD DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN TUNJA-BOYACA 2013

CONTENIDO

INTRODUCCION .............................................................................................................................2 1.

2.

3.

4.

ARQUITECTURA ARM...........................................................................................................3 1.1

Historia: ..............................................................................................................................3

1.2

Beneficios............................................................................................................................4

1.3

Licencias .............................................................................................................................4

1.4

Núcleos ARM.....................................................................................................................5

TECNOLOGÍAS ........................................................................................................................6 2.1

JTAC ....................................................................................................................................6

2.2

Thumb/Thumb2 ...............................................................................................................6

2.3

Jazzele .................................................................................................................................6

2.4

TrustZone ...........................................................................................................................6

FAMILIAS ARM........................................................................................................................7 3.1

ARM7/ARM7TDI. ............................................................................................................7

3.2

StrongARM. .......................................................................................................................7

3.3

ARM9TDMI .......................................................................................................................8

3.4

Xscale ..................................................................................................................................9

3.5

ARM11 ..............................................................................................................................10

3.6

Cortex-A/R/M ................................................................................................................11

BIBLIOGRAFIA .......................................................................................................................12

1

INTRODUCCION Las arquitecturas ARM que forman los procesadores, tienen una gran importancia dentro del mundo de la computación debido a sus avances en cuanto a consumo y rendimiento. A razón de las licencias que concede sobre sus arquitecturas, ha crecido rápidamente ganando superioridad en el mercado de los microcomputadores y electrónica de consumo. Este informe se ha elaborado con el fin de describir y conocer esta arquitectura, incluyendo su historia, su licenciamiento las tecnologías que esta usa y algunos de los ejemplos más destacados de las familias de estos procesadores.

2

1. ARQUITECTURA ARM ARM es una arquitectura RISC (Conjunto Reducido de Instrucciones) de 32 bits desarrollada por ARM Holdings. Se llamó Advanced RISC Machine, y anteriormente Acorn RISC Machine. La arquitectura ARM es el conjunto de instrucciones de 32 bits más ampliamente utilizado en unidades producidas. Concebida originalmente por Acorn Computers para su uso en ordenadores personales. Los procesadores de la familia ARM son unos de los más distribuidos, se puede afirmar que conforman el “corazón” de los gadgets más vendidos actualmente. Aparatos como el popular iPad, los teléfonos y tabletas Android o los populares Samsung Galaxy son tan solo parte de los aparatos con micro ARM incorporado.

1.1

Historia:

Acorn Computer fue el fabricante de los equipos Micro BBC, que utilizaban un procesador MOS 6502. El nuevo proyecto de esta empresa comenzó en Octubre de 1983 donde se buscaba un procesador con una arquitectura similar a la del MOS 6502, pero más avanzada, para hacer competencia al IBM PC lanzado en 1981. La elección de este procesador es porque la empresa Acorn ya contaba con una extensa línea de ordenadores personales basados en este y así se conseguiría que los desarrolladores de software se sintieran cómodos en su trabajo. El primer procesador ARM se fabricó en abril de 1985, se bautizó como ARM1, aunque sólo fue una prueba y no se usó comercialmente. Para el mercado se creó el ARM2 en 1986. Su primer uso fue para los BBC Micro1. Este ARM2 destacaba por sus 32 bits de bus de datos, bus de direcciones de 26 bits y 16 registros de 32 bits. Los 26 bits del bus de direcciones limitaba la zona de memoria de programas a 64 MB (226). Los 6 bits restantes hasta 32 fueron utilizados como flags de estados. Probablemente el ARM2 fue el procesador de 32 bits más simple y útil del mundo, ya que sólo contaba con 30.000 transistores (el Motorola 68000, también de los años 80, debía su nombre al número de transistores). Esta simplicidad en gran medida es debida a no tener microcódigo ni memoria caché. Su sucesor, el ARM3, contaba con 4 KB de memoria caché, que mejoraba bastante su rendimiento. La empresa ARM comenzó a trabajar con Apple y a principios de 1992 lanzaron el ARM6. Apple lo utilizó como base para su PDA “Apple Newton”'. La empresa DEC licenció esta arquitectura y produjo el StrongARM. Este último procesador funcionaba a una

3

frecuencia de 233Mhz y consumía sólo 1 vatio. Es considerado el primer procesador RISC fabricado comercialmente.

1.2

Beneficios

La relativa simplicidad de los procesadores ARM los hace ideales para aplicaciones de baja potencia. Como resultado, se han convertido en dominante en el mercado de la electrónica móvil e integrada, encarnados en microprocesadores y microcontroladores pequeños, de bajo consumo y relativamente bajo coste. 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.3 Desde 2009, los procesadores ARM son aproximadamente el 90% de todos los procesadores RISC de 32 bits integrados4 y se utilizan ampliamente en la electrónica de consumo, incluyendo PDA, tabletas, Teléfono inteligente, teléfonos móviles, videoconsolas portátiles, calculadoras, reproductores digitales de música y medios (fotos, vídeos, etc.), y periféricos de ordenador como discos duros y routers.

1.3

Licencias

Acorn hizo sus arquitecturas licenciables, esto es, ellos venden el núcleo de la arquitectura y con unos pocos cambios en el diseño se podía construir microcontroladores o CPUs completas basadas en este. El gran éxito de esto radica en que con estos pequeños cambios se pueden realizar en las ya existentes fábricas de semiconductores, con lo que la nueva inversión económica es mínima. La implementación que más éxito ha tenido ha sido la del ARM7TDMI con cientos de millones de ventas. Las empresas que son titulares de licencias ARM actuales o anteriores incluyen a AlcatelLucent, Apple Inc., AppliedMicro, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Ember, Energy Micro, Freescale, Intel (a través de DEC), LG, Marvell Technology Group, Microsemi, Microsoft, NEC, Nintendo, Nokia , Nuvoton, Nvidia, Sony, NXP (antes Philips), Oki, ON Semiconductor, Psion, Qualcomm, Samsung, 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 desarrollados por ARM Holdings incluyen el ARM7, ARM9, ARM11 y Cortex. Los procesadores ARM notables desarrollados por los

4

licenciatarios incluyen Applied Micro Circuits Corporation X-Gene, DEC StrongARM, Freescale i.MX, Marvell Technology Group XScale, NVIDIA Tegra, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Exynos, Apple Ax, ST-Ericsson NovaThor, Huawei K3V2 e Intel Medfield.

1.4

Núcleos ARM

A continuación se muestra una tabla con los principales núcleos licenciados por esta marca.

5

2. TECNOLOGÍAS Las tecnologías más importantes que usan los procesadores ARM son:

2.1

JTAC

JTAG (Joint Test Action Group) es un conjunto de tests de puertos de acceso y escáner de límites de la arquitectura. Actualmente está estandarizado como IEEE 1149.1 y se usa para casi todos los procesadores y circuitos integrados con pines suficientes para realizar el test.

2.2

Thumb/Thumb2

La tecnología Thumb es una extensión de la arquitectura ARM de 32 bits. El conjunto de instrucciones Thumb cuenta con un subconjunto de las funciones más utilizadas del ARM de 32 bits que se han comprimido en códigos de operación de 16 bits. A la hora de la ejecución, estas instrucciones de 16 bits son descomprimidas transparentemente a instrucciones de 32 bits en tiempo real sin pérdida de rendimiento. A la hora de desarrollar se pueden utilizar tanto instrucciones de 32 bits como de 16 bits, siendo transparente para el programador. La tecnología Thumb2 optimiza el uso de memoria (hasta un 31% menos), lo cual también reduce el precio del sistema. Por otro lado aumenta el rendimiento hasta un 38%, disminuyendo el consumo de energía (batería en dispositivos portátiles). Se ha de nombrar que se trata de una tecnología retro compatible, es decir, todos los dispositivos dotados de Thumb2 son compatibles con Thumb.

2.3

Jazzele

Es una tecnología de ARM que es capaz de ejecutar código bytecode (código intermedio de Java) sobre los núcleos de procesadores que soporten Jazzele. Es multitarea y está optimizada para ser ejecutado sobre los mismos sin ningún tipo de traducción, es decir, directamente.

2.4

TrustZone

Se trata de una tecnología que da soporte a la seguridad, tanto en pagos, gestión de derechos digitales (DRM), servicios Web y NFC.

6

3. FAMILIAS ARM 3.1

ARM7/ARM7TDI.

Tras la familia ARM6, que tenía como características especiales sus 28 MIPS a 33Mhz, unidad de coma flotante, y bus para el coprocesador externo, en ARM7 se introduce la tecnología Thumb, que con códigos de instrucción de 16 bits podía realizar las funciones de un código de 32 bits. También incluyen depurado JTAG. Como todos sus predecesores, se basan en una arquitectura Von Neumann, que recordemos consistía en utilizar el mismo dispositivo para memoria de instrucciones y de datos. Normalmente se habla de él a la vez que su sucesor, el ARM7TDMI ya que este último le ha dado toda la importancia que tiene. ARM7 y ARM7TDMI se basan en arquitecturas distintas, ARMv3 y ARMv4T, respectivamente, por eso no pueden englobarse dentro de la misma familia. Los procesadores de la familia ARM7 cuenta con una velocidad de 40Mhz y una memoria caché (tanto para instrucciones como para datos) de 8KB. Los de la familia ARM7TDMI va desde los 16.8Mhz hasta los 60Mhz, también con una memoria caché de 8KB.

3.2

StrongARM.

Esta familia de procesadores fueron los sucesores del ARM7EJ y el ARM8, posteriores al ARM7TDMI. El StrongARM utiliza la arquitectura ARMv4 licenciada por DEC (Digital Equipment Corporation), el cual posteriormente fue vendido a Intel. Este procesador surgió de un proyecto entre DEC y ARM, para crear el procesador ARM más rápido hasta entonces. Inicialmente, el objetivo de uso de este nuevo procesador eran los PDA y los Set-top Box (Dispositivos para la recepción y decodificación de televisión digital o analógica). De esa familia de procesadores hubo varios modelos con características distintas que se muestran a continuación:

7



SA-110

De este modelo de procesador se fabricaron dos versiones. La primera se empezó a comercializar en febrero de 1996 y contaba con una velocidades de 100, 160 y 200Mhz. Una segunda versión se anunció en septiembre de ese mismo año (1996) y trabaja a unas frecuencias de 166 y 233MHz. Ambas contenían una memoria caché de 16KB. 

SA-1100

Este nuevo procesador fue un derivado de su antecesor, el SA-110. Fue anunciado por el licenciatario DEC en 1997 y su principal objetivo de uso eran las PDA. Para ello se adaptó la memoria caché y se redujo de 16 a 8KB. Se le añadieron controladores integrados para memoria, PCMCIA y pantalla LCD a color. Intel fabricó a mediados de 1998 un integrado lamado SA-1101 que proporcionaba periféricos adicionales y puertos de E/S tales como salida de vídeo, PS/2, un controlador USB y uno PCMCIA que sustituye al del SA-1100. Posteriormente Intel compra el diseño del SA-1100 y con él la planta de producción de DEC en Massachusetts. Al igual que su predecesor también tenía unos 2.5 millones de transistores y un encapsulado cuadrado. 

SA-1110

Este procesador también deriva del SA-110 y es desarrollado íntegramente por Intel. Disponía de dos versiones, una a 133MHz y otra a 206Mhz. Se diferencia del SA-1100 por el soporte para SDRAM a 66MHz y 103MHz para cada una de las frecuencias de procesador respectivamente. Fue utilizado en PDAs, como el iPAQ o el Jornada, de HP, el Sharp SL serie 5000 y el Simputer, una PDA basada en Linux. 

SA-1500

También fue un derivado del SA-110, desarrollado pensando en decodificadores y soportaba unas frecuencias de 200 a 300MHz. DEC sólo produjo algunas muestras e Intel nunca lo llegó a comercializar.

3.3

ARM9TDMI

Esta familia de procesadores, al igual que la mayoría de sus predecesores, utiliza una arquitectura RISC de 32 bits. Es importante comentarla porque ARM dio un salto en estas

8

arquitecturas, de procesadores basados en la arquitectura de Von Neumann a la arquitectura Harvard, que recordemos que separaba memoria para datos y para instrucciones (también las memorias caché), aunque la mayoría adoptaron un enfoque híbrido, combinando los dos buses (para datos e instrucciones) y dos cachés con una memoria compartida.

Alguna de sus múltiples aplicaciones son:     

3.4

Cámaras digitales, como la Canon EOS 5D Mark II. Calculadora HP 50g a 90MHz Sistema Blue&Me de Fiat, usado para conectar sistemas del usuario con el vehículo (móvil, música, etc). El circuito encargado de la conectividad WiFi de la PlayStation Portable (PSP). SmartPhones: HTC Wizard, LG Cookie, Nokia N-Gage, Sony Ericsson series K, M y W.

Xscale

Tras los procesadores ARM9TDMI surgieron el ARM9E y ARM10E que usaban también la arquitectura ARMv5, pero la serie fuerte fueron los procesadores XScale licenciados por Intel y Marvell. Se basa en una arquitectura ARMv5TE y lo forman varias familias que comentaremos más abajo. Esta arquitectura ejecuta instrucciones en 7 etapas y para la ejecución de instrucciones de memoria, 8 etapas. No contiene instrucciones de punto flotante. Usa 2 memorias caché, una para instrucciones y otra para datos, ambas de 32KB, aunque las últimas versiones de la arquitectura ya incorporan caché de segundo nivel de 512KB. Se considera el sucesor del StrongARM, del cual hemos hablado anteriormente. Todas las generaciones de procesadores con Xscale son de 32 bits y usan tecnologías de 0.18µm y de 0.13µm. Entre sus aplicaciones se pueden nombrar productos de BlackBerry, Pocket PC de Dell (la gama Axim), la mayoría de productos Zire, Treo y Tungsten de Palm, el Motorola A780, la PDA Acer n50, el Compaq iPaq 3900. También se utilizó en ordenadores personales de escritorio (el Iyonix PC) usando el sistema operativo RISC OS. También se usa en dispositivos portátiles como reproductores de vídeo y multimedia, sectores de ebooks (Kindle de Amazon) y en sistemas empotrados industriales. Algunas de las características de las distintas generaciones de esta familia son:

9



PXA

Esta serie de procesadores tuvo diversos usos, aunque especialmente fue para móviles y también para PDAs, ya que eran capaces de codificar vídeo mediante hardware.



IXC

Esta serie sólo consta de un procesador, el IXC1100 que trabaja a unas frecuencias de 266, 400 y 533MHz. Tiene una caché de datos de 32KB y otra mini-caché de nivel más alto de 2KB. Está diseñado para un bajo consumo, llegando a 2.4W en su modo de funcionamiento a 533MHz.



IOP

Esta línea de microprocesadores está diseñada para permitir a los ordenadores y dispositivos de almacenamiento transferir datos e incrementar las prestaciones no teniendo que utilizar la CPU para esta área. 

CE

Esta serie de procesadores fue anunciada por Intel en 2007 para el mercado de la electrónica de consumo (Consumer Electronics). Dentro de éste podemos destacar (porque es el único del que se ha podido encontrar algo de información) el CE 2110, que está diseñado para, entre otros, para decodificadores y grabadores de televisión y vídeo.

3.5

ARM11

Esta familia de procesadores ya utilizan la arquitectura ARMv6 en la que se incluye instrucciones SIMD (Single Instruction, Multiple Data) para procesamiento multimedia, soporte multiprocesador y una nueva arquitectura caché. Los primeros procesadores de esta clase fueron introducidos a finales de 2002. Con respecto a los procesadores de la familia 9 introduce varias mejoras:  

Instrucciones sobre múltiples datos para uso multimedia y mejora la velocidad de procesamiento de video y audio del MPGE-4. Memoria no alineada y añadido el formato múltiple.

10

    

3.6

La temperatura del procesador se ha mejorado, evitando problemas de sobrecalentamiento. El pipeline aumenta de 5 (que tenía ARM9) a 8. Finalización de instrucciones desordenada. Predicción dinámica de saltos (XScale ya lo soportaba). Paralelismo en carga y almacenamiento de memoria.

Cortex-A/R/M

Los procesadores Cortex están diseñados para un amplio rango de usos, desde decodificadores de televisión hasta smartphones pasando por automóviles, portátiles, disco duros, impresoras, cámaras de fotos, sistemas empotrados... Algunas de las características más importantes de ellos especificamente son:



Cortex A:

Se trata de procesadores de 32 bits, con un pipeline de 13 etapas, capaz de soportar varios núcleos (hasta 4) y con una predicción de saltos bastante acertada, por lo que no suele perder ciclos de CPU y todo ello con un conjunto de instrucciones RISC. 

Cortex-R:

La serie R de Cortex está más centrada en el uso de aplicaciones de tiempo real, normalmente para sistemas embebidos con ciertas restricciones en el tiempo de respuesta. 

Cortex-M:

El objetivo de la serie M de Cortex es el consumo, una gama de procesadores que tengan una relación precio/consumo aceptable.

11

4. BIBLIOGRAFIA

   

http://www.omicrono.com/2012/12/te-explicamos-todo-sobre-x86-y-armdiferencias-ventajas-y-para-que-sirve-cada-uno/ http://www.diverteka.com/?p=274 http://es.wikipedia.org/wiki/Arquitectura_ARM http://es.scribd.com/doc/55525832/Arquitecturas-y-Procesadores-ARM

12