arquitectura de computadoras n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ARQUITECTURA DE COMPUTADORAS. PowerPoint Presentation
Download Presentation
ARQUITECTURA DE COMPUTADORAS.

Loading in 2 Seconds...

play fullscreen
1 / 94

ARQUITECTURA DE COMPUTADORAS. - PowerPoint PPT Presentation


  • 340 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ARQUITECTURA DE COMPUTADORAS.' - michel


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
arquitectura de computadoras

ARQUITECTURA DE COMPUTADORAS.

ARQUITECTURA DE LAS

FAMILIAS DE PROCESADORES:

ARM7 Y ARM9

POR:

JUAN C. SANTIAGO MARTINEZ

HECTOR CARDENAS VIDAL

subtemas
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.
que es arm
¿ 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.
qu es arm
¿ 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.
arquitectura arm
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)
arquitectura arm1
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.
rapidamente un breve repaso de la arquitectura risc
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.
breve repaso de la arquitectura risc
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.
arquitectura y organizaci n de la familia arm7
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.
descripcion general arm7
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
descripcion general arm71
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.
descripcion general arm72
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.
arm7tdmi
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.
arm7tdmi1
ARM7TDMI
  • Arquitectura de bus unificada.
  • Lógica de depuración EmbeddedICE-RT.
  • Interface ETM (Embedded Trace Macrocell).
arm7tdmi s
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.
arm7ej s
ARM7EJ-S
  • Versión sintetizable, incorpora las bondades del ARM7TDMI.
  • Soporta ejecución acelerada de Java y operaciones DSP.
  • Emplea tecnología ARM Jazelle.
arm720t
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.
arm720t1
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.
modos de operaci n arm7
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.
registros arm7
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
registros arm71
REGISTROS ARM7.
  • R15: contador de programa
  • R16: registro de estado ( CPSR, Current Program Status Register )
  • SPSR: Saved Program Status Register
conjunto de instrucciones arm7
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
conjunto de instrucciones arm71
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
conjunto de instrucciones arm72
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.
conjunto de instrucciones arm73
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.
tipos de datos
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.
interfaz de memoria
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.
tipos de ciclos de transferencia a memoria
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.
tipos de ciclos de transferencia a memoria1
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.
coprocesadores
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.
coprocesadores1
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.
tipos de instrucciones de coprocesador
TIPOS DE INSTRUCCIONES DE COPROCESADOR.
  • PROCESAMIENTO DE DATOS DE COPROCESADOR: invoca a un coprocesador para la ejecución de una operación interna.
  • TRANSFERENCIA DE REGISTROS DE COPROCESADOR: transferencias entre registros de coprocesador y registros ARM.
  • TRANSFERENCIA DE DATOS DE COPROCESADOR: transferencias de datos entre coprocesador y Memoria. El procesador ARM calcula la dirección.
extension thumb
EXTENSION “THUMB”
  • Representación comprimida de 16 bits del ISA de ARM.
  • Con el objetivo de incrementar: densidad de código y rendimiento, en algunos casos.
  • No es una arquitectura completa, es un subconjunto del ISA de ARM.
extension thumb1
EXTENSION “THUMB”.
  • Thumb comprime las instrucciones de ARM a una longitud de palabra de 16 bits, ahorrándose del 35 al 40 % en memoria, comparado con un conjunto de instrucciones de 32 bits.
  • Los registros se mantienen como de 32 bits, pero solo la mitad de ellos es empleado.
  • Se emplea un decodificador de instrucciones Thumb en el pipeline.
  • Solo los registros de la parte mas baja se emplean, los registros de la parte alta se establecen a cero.
cambiando de modo arm thumb
CAMBIANDO DE MODO:ARM < -- > THUMB
  • Si solo se emplea el bus de datos de 16 bits, la velocidad de ejecución de código ARM nativo disminuye significativamente.
  • Para retornar de Thumb a ARM nativo, se reestablece T-flag y se ejecuta BX a la dirección deseada.
slide57
Se activa T-flag en el registro CPSR y se ejecuta BX ( Branch and eXchange ), a la dirección en memoria donde inicia el código Thumb.
conjunto de instrucciones thumb
CONJUNTO DE INSTRUCCIONES THUMB.
  • La longitud de palabra se reduce a 16 bits.
  • Las instrucciones siguen su propia sintaxis, pero cada instrucción tiene su contraparte en ARM nativo.
  • Debido a la reducción de bits, se pierde cierta funcionalidad.
  • Existen 19 formatos diferentes de instrucción Thumb.
aplicaciones de thumb
APLICACIONES DE THUMB.
  • Para optimizar el costo y el consumo de potencia.
  • Para rutinas de control largas y no críticas.
extension jazelle
EXTENSION JAZELLE.
  • El uso de aplicaciones basadas en tecnología Java se está incrementando.
  • ARM implementó su extensión Jazelle.
  • Las soluciones típicas en Java descansan en implementaciones de software o hardware.
  • Implementaciones de software requieren el uso de más componentes de memoria => mayor consumo de potencia.
  • Soluciones de hardware requieren acoplar dispositivos al procesador => costo adicional en silicio.
extension jazelle1
EXTENSION JAZELLE.
  • La extensión Jazelle implementa ambas soluciones sin requerir hardware o memoria adicional.
  • Mejora el rendimiento hasta 8 veces de soluciones basadas en software y hasta el doble de soluciones basadas en co-procesadores => poder correr aplicaciones Java complejas en sistemas basados en nucleos ARM de bajo consumo de potencia.
  • Permite a los desarrolladores correr en un solo procesador aplicaciones Java, junto con los sistemas operativos establecidos y código de aplicación.
extension jazelle2
EXTENSION JAZELLE.
  • En la práctica, es agregar un tercer conjunto de instrucciones al núcleo del procesador ARM ( Jazelle, ARM y Thumb ).
  • Se crea un nuevo estado del procesador: estado Java, el procesador se comporta como un procesador Java.
  • El cambio entre estados: Java y ARM/Thumb, es por medio del control del sistema operativo.
  • 140 intrucciones son ejecutadas directamente en hardware, el resto ( 94 ) se ejecutan por simulación por múltiples instrucciones ARM.
vi estandar amba a dvanced m icrocontroller b us a rchitecture
VI.- ESTANDAR AMBA

( ADVANCED MICROCONTROLLER BUS ARCHITECTURE )

estandar amba
ESTANDAR AMBA.
  • Estándar de especificación de buses de conexión.
  • Detalla la estrategia para interconexión y manejo de bloques funcionales que conforman un SoC.
  • ASB: AMBA System Bus.
  • AHB: Advanced High performance Bus, bus de ancho de banda grande para la conexión de bloques funcionales de alta velocidad, tales como la memoria.
  • APB: Advanced Peripherial Bus, bus más simple para conectar periféricos de propósito general.
slide75

ARM9

  • Es una familia constituida por los procesadores ARM920T, ARM922T Y ARM940T.
  • Construida en base al procesador ARM9TDMI.
  • Set de instrucciones de 16 Bits.
  • El procesador es RISC de 32 Bits.
  • Buffer de escritura de 8 entradas.
slide76
ARM9
  • Es una familia constituida por los procesadores ARM920T, ARM922T Y ARM940T.
  • Construida en base al procesador ARM9TDMI.
  • Set de instrucciones de 16 Bits.
  • El procesador es RISC de 32 Bits.
  • Buffer de escritura de 8 entradas.
slide77
ARM9
  • Pipeline de 5 estados que alcanza 1.1 MIPS/MHz, expandible a 300 MIPS.
  • Bus de interface AMBA de 32 Bits.
  • MMU (Memory Management Unit) que soporta Windows CE, Symbian OS, Linux, Palm OS.
  • MPU (Memory Protection Unit) soportando una amplia gama de sistemas operativos en tiempo real, incluyendo VxWORKS.
arm920t y arm922t
ARM920T Y ARM922T
  • Macrocelulas basadas en el ARM9TDMI RISC de 32 Bits convenientes para una gama de aplicaciones basadas en plataforma OS, ofrecen caches para instrucciones y datos, son idénticos pero se diferencian en que uno es de 16k y el otro de 8k.
  • MMU permitiendo soporte para otros sistemas operativos importantes.
aplicaciones
En las próximas generaciones de Teléfonos, comunicadores y PDA’S.

En procesadores 3G.

En dispositivos basados en Plataforma OS.

Cámaras digitales.

Decodificadores de Audio y video.

En la industria automotiva.

APLICACIONES
caracteristicas
CARACTERISTICAS
  • Arquitectura RISC de 32/16 Bits.
  • Set de instrucciones ARM de 32 Bits para flexibilidad y optimización.
  • Set de instrucciones Thumb de 16 Bits para densidad de código.
  • Bus de interfaz estándar de la industria AMBA.
beneficios
BENEFICIOS
  • El set de instrucciones puede ser extendido para su uso en Coprocesadores.
  • Soporta un excelente debbugeo.
  • Código compatible con ARM10E.
  • Múltiple fuente para la industria de vendedores de Silicio.
  • Corre en todos los OS’s.
arm940t
ARM940T
  • Comparten características de los anteriores.
  • Se caracteriza por ser de 4k para caches de instrucciones y datos.
  • MPU habilitada para soportar sistemas operativos en tiempo real (RTOS).
aplicaciones1
APLICACIONES
  • En imagen, p.ej: Impresoras, Cámaras Digitales.
  • Decodificadores de Audio y video.
  • Sistemas de red.
  • Características y Beneficios iguales a los anteriores.
aplicaciones en la industria automotiva
APLICACIONES EN LA INDUSTRIA AUTOMOTIVA
  • Computadoras para autos.
  • Reproductores digitales.
  • Consolas de gráficos en colores.
  • En GPS’s.
aplicaciones en entretenimiento
APLICACIONES EN ENTRETENIMIENTO
  • Terminales de Internet.
  • Cables decodificadores.
  • Reproductores MP4.
  • Tarjetas de video.
  • Libros electrónicos.
  • Reproductores CD/MP3.
  • Gameboy, Nintendo, Sega.
  • Reproductores minidisk.
aplicaciones en im genes digitales
APLICACIONES EN IMÁGENES DIGITALES
  • Impresoras HP, JVC, Lexmark, Xerox.
  • Cámaras fotográficas Agfa, HP, JVC, Kodak, Konica.
aplicaciones en redes
APLICACIONES EN REDES
  • Tarjetas de red 3COM.
  • LAN inalámbrica.
  • Modems externos.
  • Servidores para LINUX.
  • Adaptadores telefónicos.
  • Servidores de correo.
  • Redes de computo
aplicaciones en seguridad y almacenamiento
APLICACIONES EN SEGURIDAD Y ALMACENAMIENTO
  • Sistemas de encriptado
  • Sistemas de autenticación.
  • Discos duros.
  • Minidisks.
  • Dispositivos de almacenaje USB.
ejemplos de compilacion
EJEMPLOS DE COMPILACION

Int combined_div_mod (int a, int b) int g (int x, int y)

{ { if (x + y < 0)

return (a/b)+(a%b); return 1;

} else

return 0;

}

Codigo generado... Codigo generado...

Combined_div_mod g

STMDB sp!, {lr} ADDS a1, a1, a2

MOV a3,a2 MOVLP a1,#0

MOV a2,a1 MOVMI a1,#1

MOV a1,a3 MOV pc,lr

BL _rt_sdiv

ADD a1,a1,a2

LDMIA sp!,{pc}

ejemplos de compilacion1
Typedef unsigned int uint;

Uint div16u (uint a)

{ return a/ 16;

}

Int div16s (int a)

{ return a/ 16;

}

Codigo generado...

Div16u

MOV a1, a1, LSR #4

MOV pc,lr

Div16s

CMP a1, #0

ADDLT a1, a1, #&f

MOV a1, a1, ASR #4

MOV pc,lr

Int sum (int x, int y)

{ int res;

res= x + y;

if ((unsigned) res < (unsigned) x)

res++;

return res;

}

Codigo generado...

Sum

ADDS a2, a1, a2

ADC a2, a2, #0

MOV a1, a2

MOV pc,lr

EJEMPLOS DE COMPILACION
ligas de consulta
Ligas de consulta

www.arm.com

www.metaware.com

www.ahare.btinternet.co.uk

www.redhat.com

www.ocdemon.com

www.tazenda.demon.co.uk