1 / 94

ARQUITECTURA DE COMPUTADORAS.

ARQUITECTURA DE COMPUTADORAS. ARQUITECTURA DE LAS FAMILIAS DE PROCESADORES: ARM7 Y ARM9 POR: JUAN C. SANTIAGO MARTINEZ HECTOR CARDENAS VIDAL. SUBTEMAS:. I.- ¿QUÉ ES ARM? II.- ARQUITECTURA ARM. III.- ARQUITECTURA Y ORGANIZACIÓN DE LA FAMILIA ARM7. IV.- EXTENSION THUMB.

michel
Télécharger la présentation

ARQUITECTURA DE COMPUTADORAS.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARQUITECTURA DE COMPUTADORAS. ARQUITECTURA DE LAS FAMILIAS DE PROCESADORES: ARM7 Y ARM9 POR: JUAN C. SANTIAGO MARTINEZ HECTOR CARDENAS VIDAL

  2. SUBTEMAS: • I.- ¿QUÉ ES ARM? • II.- ARQUITECTURA ARM. • III.- ARQUITECTURA Y ORGANIZACIÓN DE LA FAMILIA ARM7. • IV.- EXTENSION THUMB. • V.- EXTENSION JAZELLE. • VI.- ESTANDAR AMBA. • VII.- ADICIONES EN EL ARM9. • VIII.- APLICACIONES. • IX.- VIRTUDES Y LIMITACIONES. • X.- EJEMPLOS DE COMPILACION.

  3. I.- ¿ QUE ES ARM ?

  4. ¿ QUE ES ARM ? • Advanced RISC Machines Ltd. • Compañía inglesa fundada en 1990 por Apple Computer, Acorn Computer Group y VLSI Technology. • Dedicada al desarrollo de procesadores RISC, software y tecnologías relacionadas. • Una de las compañías con gran presencia mundial. • Cubre aprox. el 75 % del mercado mundial en procesadores RISC empotrados.

  5. ¿ QUÉ ES ARM ? • En la actualidad, ARM Ltd no hace procesadores, solo los diseña. • Licencia sus diseños a manufacturadores de tercera parte. • Por ejemplo, la tecnología ARM está licenciada por varias compañías como: Atmel, Cirrus Logic, Hyundai, Intel, Oki, Samsung, Sharp, Lucent, 3Comp, HP, IBM, Sony, entre otras.

  6. II.- ARQUITECTURA ARM.

  7. ARQUITECTURA ARM • Se basa en los principios RISC. • 37 registros de 32 bits (16 disponibles) • Memoria caché (dependiendo de la aplicación) • Estructura del bus tipo Von Neuman (ARM7), tipo Harvard ( ARM9)

  8. ARQUITECTURA ARM. • Tipos de datos de 8/16/32 bits • 6 modos de operación: usr y sys, fiq, irq, svc, abt, sys, und. • Estructura simple = excelente velocidad / bajo consumo de potencia • Todos las familias de procesadores ARM comparten el mismo conjunto de instrucciones.

  9. RAPIDAMENTE UN BREVE REPASO DE LA ARQUITECTURA RISC. • Instrucciones conceptualmente simples. • Transferencias Memoria/Registros exclusivamente LOAD/STORES. • Las operaciones aritméticas son entre registros. • Tamaño de instrucciones uniformes. • Pocos formatos para las instrucciones. • Conjunto de instrucciones ortogonal: poco o ningún traslape en la funcionalidad de las instrucciones. • Pocos modos de direccionamiento.

  10. BREVE REPASO DE LA ARQUITECTURA RISC. • Casi todas las instrucciones se ejecutan en un ciclo de reloj. • Tendencia a tener un gran número de registros. • Arquitectura RISC predomina en los procesadores de elevado rendimiento. • Ejemplos de procesadores RISC modernos: Motorola, IBM: Power PC 8XX, 7XX, 6XX, 4XX; Sun: SPARC; MIPS: RXXXX; ARM: ARM7,9; HP: PA-RISC; Hitachi: SHX; AMD: 29K.

  11. III.- ARQUITECTURA Y ORGANIZACIÓN DE LA FAMILIA ARM7

  12. ARQUITECTURA Y ORGANIZACIÓN DE LA FAMILIA ARM7 • 1.- DESCRIPCION GENERAL. • 2.- MODOS DE OPERACIÓN. • 3.- REGISTROS. • 4.- CONJUNTO DE INSTRUCCIONES. • 5.- TIPOS DE DATOS. • 6.- INTERFAZ DE MEMORIA. • 7.- COPROCESADORES.

  13. DIAGRAMA A BLOQUES.

  14. DESCRIPCION GENERAL ARM7. • Característica principal: bajo consumo de potencia y bajo costo. • ARM7 constituye una de las familias de procesadores de ARM, al igual que las familias ARM9, ARM10 y ARM11. • Emplea v4T, versión 4 de ISA de ARM. • ARM7 está compuesta, principalmente, por los procesadores: • ARM7TDMI • ARM7TDMI-S • ARM7EJ-S • ARM720T

  15. PIPELINE DE 3 ETAPAS.

  16. DESCRIPCION GENERAL ARM7. • Microprocesadores de propósito general de 32 bits. • Arquitectura RISC • Número de transistores: 74,209 • Frecuencias de operación: 100 – 133 MHz. • Bus de 32 bits para datos e instrucciones. • Elevado rendimiento: hasta 120 MIPS. • Elevada densidad de código.

  17. DESCRIPCION GENERAL ARM7. • Alimentación: 3.3 V y 5 V. • Bajo consumo de potencia: 80 mW. • Tecnología CMOS. • Extensiones: Thumb, Jazelle. • Los miembros de ARM7 tienen un coprocesador de interface que permite una fácil conexión hasta con 16 coprocesadores más.

  18. FAMILIA ARM7

  19. ARM7TDMI • Es la versión mas utilizada de ARM7. • ¿ TDMI ? • T: “Thumb”, soporta esta extensión. • D: “Debug-interface”. • M: “Multiplier”, hardware multiplicador. • I: “Interrupt”, interrupciones veloces.

  20. ARM7TDMI • Arquitectura de bus unificada. • Lógica de depuración EmbeddedICE-RT. • Interface ETM (Embedded Trace Macrocell).

  21. ARM7TDMI-S • Versión sintetizable del ARM7TDMI, con los mismos niveles de rendimiento y características en conjunto. • Optimizado para las tendencias modernas de diseño donde portabilidad y flexibilidad son clave. • Recorta el tiempo de entrega al mercado, reduciendo el tiempo de desarrollo a la vez que aumenta la flexibilidad en diseño.

  22. ARM7TDMI

  23. ARM7EJ-S • Versión sintetizable, incorpora las bondades del ARM7TDMI. • Soporta ejecución acelerada de Java y operaciones DSP. • Emplea tecnología ARM Jazelle.

  24. ARM7EJ-S

  25. ARM720T • Para sistemas que requieren manejo completo de memoria virtual y espacios de ejecución protegidos. • Memoria caché de 8K • MMU: unidad controladora de memoria. • Para aplicaciones de plataforma abierta como Windows CE, Linux, Palm OS y Symbian OS.

  26. ARM720T • Buffer de escritura. • Bus de interface AMBA AHB. • Coprocesador de interface ETM para expansión del sistema y debugueo en tiempo real. • Coprocesador para control interno de la memoria caché y la MMU. • Memoria externa puede soportar procesadores adicionales o canales DMA, con pérdida mínima de rendimiento.

  27. ARM720T

  28. MODOS DE OPERACIÓN ARM7. • User (usr): estado normal de ejecución de programas • FIQ (fiq): estado para transferencias de datos ( fast irq, transferencias tipo DMA) • IRQ (irq): para dar servivicio a interrupciones generales • Supervisor (svc): modo protegido para soporte del sistema operativo • Abort mode (abt): usado cuando se aborta el ciclo fetch de datos o instrucciones. • Undefined (und): usado cuando una instrucción indefinida es traida.

  29. REGISTROS ARM7. • 37 registros de 32 bits, 31 propósito general y 6 registros de estado. • El número de registros disponibles y su estructura dependen del modo de operación • 16 registros directamente accesibles (R0 – R15). • R13: puntero de pila (sp) • R14: enlace a subrutina (lr) • Guarda el valor de R15 cuando se ejecuta una instrucción BL

  30. REGISTROS ARM7. • R15: contador de programa • R16: registro de estado ( CPSR, Current Program Status Register ) • SPSR: Saved Program Status Register

  31. CONJUNTO DE REGISTROS ARM7

  32. CONJUNTO DE INSTRUCCIONES ARM7 • Instrucciones de 32 bits en el modo de operación nativo ARM: longitud de palabra de 32 bits • Todas las instrucciones son condicionales • En ejecución normal ( incondicional), la condición AL (always) se establece en el campo condición • En operaciones condicionales se selecciona una de las 14 condiciones • 36 formatos de instrucciones

  33. CONJUNTO DE INSTRUCCIONES ARM7. • 11 tipos básicos de instrucciones. • Dos de estos tipos emplean la ALU, el desplazador en barril y el multiplicador para ejecutar operaciones a alta velocidad sobre datos en los registros. • Ejemplos: AND, EOR, SUB, RSB, ADD, ADC, SBC, RSC, TST, TEQ, CMP, CMN, ORR, MOV, BIC, MVN, ( Multiplicaciones ) MUL, MLA, MULL, MLAL

  34. CONJUNTO DE INSTRUCCIONES ARM7. • Instrucciones de salto (Branching): BX, B, BL • BX: Branch and eXchange, salto con cambio de conjunto de instrucciones ARM < -- > Thumb • B: salto con desplazamiento de 24 bits con signo • BL: enlace (link) PC -> R14 • Instrucciones de transferencia de datos: LDR, STR, LDRH, STRH, LDRSB, LDRSH, LDM, STM, SWP.

  35. CONJUNTO DE INSTRUCCIONES ARM7. • Instrucciones de excepciones: SWI, SoftWare Interrupt. • Instrucciones del Coprocesador: CDP, LDC, STC, MRC, MCR. • ARM no ejecuta estas instrucciones pero deja al coprocesador la manipulación de ellas.

  36. CODIGOS DE CONDICION

  37. INSTRUCCIONES DE SALTO: B, BL

  38. PROCESAMIENTO DE DATOS

  39. MULTIPLICACIONES

  40. TRANSFERENCIAS DE DATOS

  41. INTERCAMBIO SIMPLE DE DATOS

  42. INTERRUPCIONES DE SOFTWARE

  43. SUMARIO: FORMATOS DEL CONJUNTO DE INSTRUCCIONES

  44. SUMARIO: CONJUNTO DE INSTRUCCIIONES

  45. TIPOS DE DATOS. • Emplea un bus de datos y un bus de direcciones de 32 bits. • Tipos de datos que soporta el procesador: bytes ( 8 bits ) y palabras ( 32 bits ). • Las instrucciones son exclusivamente palabras. • Las transferencias pueden ser bytes o palabras.

  46. INTERFAZ DE MEMORIA • Se puede emplear un sistema de memoria de bajo costo. • Comunicación vía bus de datos bidireccional. • Un bus de direcciones separado de 32 bits especifica la locación de memoria a ser usada en la transferencia.

  47. TIPOS DE CICLOS DE TRANSFERENCIA A MEMORIA. • Ciclo no secuencial: ARM7 requiere transferencia hacia o desde una dirección no relacionada con la dirección usada en el ciclo previo. • Ciclo secuencial: ARM7 requiere transferencia hacia o desde una dirección que es la misma o está una palabra después del ciclo previo. • Ciclo interno: ARM7 no requiere transferencia; se ejecuta una función interna y no se puede ejecutar al mismo tiempo una búsqueda de instrucción.

  48. TIPOS DE CICLOS DE TRANSFERENCIA A MEMORIA. • Transferencia de registro del coprocesador: ARM7 desea usar el bus de datos para comuicarse con un coprocesador pero no requiere ninguna acción del sistema de memoria. • Estos 4 tipos de ciclos son visibles a la memoria a través de las lineas de control nMREQ y SEQ.

  49. COPROCESADORES. • La funcionalidad de ARM7 se incrementa agregando hasta 16 coprocesadores externos. • nCPI, CPA (coporocesador ausente), CPB (coporocesador ocupado), señales que controlan la interfaz con los coprocesadores; CPA y CPB siempre activas excepto cuando el coprocesador está en “handshaking”. • Cada coprocesador tiene un único número dentro de un sistema y recibe una copia de la instrucción. • Inspeccionando el campo CP#, cada coprocesador determina si la instrucción le corresponde.

  50. COPROCESADORES. • Cada coprocesador tiene hasta 16 registros privados. • Emplean aquitectura LOAD/STORE. • Acoplados al bus de memoria ARM. • “Observan” el tráfico de instrucciones del bus.

More Related