Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del...

22
06:13 1 de 22 Andrés Djordjalian <[email protected]> Seminario de Sistemas Embebidos 19 de mayo de 2011 Facultad de Ingeniería de la UBA Tecnologías y Arquitecturas Parte II

Transcript of Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del...

Page 1: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 1 de 22

Andrés Djordjalian <[email protected]>Seminario de Sistemas Embebidos

19 de mayo de 2011Facultad de Ingeniería de la UBA

Tecnologías y ArquitecturasParte II

Page 2: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 2 de 22

Temas de esta ClaseMedición de performance

Dhrystone MIPS y mejores benchmarks

Arquitecturas de gama altaSuperescalares, VLIW, memorias caches y MMU

¿Preguntas? ¡Gracias!

Page 3: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 3 de 22

Medición de PerformanceVelocidad = cant._de_procesamiento / tiempoMIPS (pico) = millones de instrucciones nativas por segundo

No es una buena métrica, porque:1. Las instrucciones individuales de diferentes ISAs no

necesariamente hacen la misma cantidad de procesamiento.2. Si MIPS se basa en la instrucción más rápida (ej., NOP), entonces

dice poco sobre el procesamiento real.

Como “cantidad de procesamiento”, mejor que instrucciones nativas es usar un programa

…escrito en un lenguaje, por ejemplo C1. así puede ser el mismo procesamiento, aunque los micros tengan

diferentes conjuntos de instrucciones.2. así puede emplearse un mix realista de instrucciones.

A los programas que se usan para esto se los llama benchmarks

Page 4: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 4 de 22

DhrystoneProblema: ¿Qué programa usar como benchmark?Dhrystone (1984)

Se lo usa mucho, aunque es cuestionado porque:1. Es pequeño, utiliza poca memoria2. No hace procesamiento en punto flotante3. No es representativo de las aplicaciones actuales4. El micro puede ser optimizado para “hacer trampa”

La versión actual es Dhrystone 2.1 (1988)

Para expresar el resultado de Dhrystone, se usa DMIPS (Dhrystone [VAX] MIPS)

Para fijar una referencia, a una minicomputadora VAX 11/780 se le asigna 1 DMIPSA una máquina que corre Dhrystone n veces más rápido que la VAX, se le atribuyen n DMIPSFrecuentemente se le dice MIPS a secas• Pero no confundirlo con el otro MIPS (pico)

Page 5: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 5 de 22

Ejemplos

45ARM Cortex-M0 a 50 MHz

159000Intel Core i7 EE-990x (6 cores) a 3,46 GHz

3200Intel Atom-Z530 a 1,6 GHz

2000ARM Cortex-A8 a 1 GHz

125ARM Cortex-M3 a 100 MHz

5,9ATmega32A (AVR, 8 bits, 16 MHz)

DMIPS (aprox.)Procesador

(Sin embargo, para que esta tabla fuera más precisa, convendría aclarar qué compilador se usó en cada caso, qué opciones de compilación y

otros detalles de ese estilo.)

Page 6: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 6 de 22

MFLOPSMFLOPS (megaflops) = Millones de instrucciones de punto flotante por segundoEs similar a MIPS pico, pero la instrucción en cuestión es de punto flotante

Puede ser una instrucción nativa, o una operación codificada en varias instrucciones nativasPero ¿de qué operación se trata, y con qué precisión?

• Esas cosas no están bien definidas, lo que le quita mérito a la métrica

Representa (imperfectamente) la performance del procesador para ejecutar programas de punto flotanteCuando un procesador incluye una unidad de punto flotante, aumenta mucho su performance medida en MFLOPS

Page 7: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 7 de 22

Mejores BenchmarksSPEC CPU

Estándar para medir performance de computadorasRegularmente actualizado. La versión más reciente es CPU2006Es una serie de programas (i.e., un suite) y sus datos de entrada

• Para integrar los resultados en uno solo, se usa la media geométrica

Los programas se dividen en enteros y de punto flotante• Se reporta SPECint06 y SPECfp06

EEMBC (suena como embassy)Son varios suites de benchmarks, cada uno apunta a un área de aplicación de sistemas embebidos.

• Ej.: Automotive, Consumer, Networking, etc.Tienen también uno genérico y gratuito: Coremark

BDTIPara productos que hacen procesamiento digital de señales (DSP).

Page 8: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 8 de 22

Actividad1. ¿Qué métrica podríamos usar para densidad de

código?O sea, algo que represente qué tanta memoria ocupan los programas para el procesador en cuestión

2. ¿Qué representa DMIPS dividido por frecuencia del ciclo de máquina?

O sea que su unidad es [ DMIPS / MHz ]

3. ¿Qué métricas podríamos usar para el consumo?Discútanlo en grupos de 2 a 4 personas, en unos minutos comparamos las respuestas

Page 9: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 9 de 22

Temas de esta ClaseMedición de performance

Dhrystone MIPS y mejores benchmarks

Arquitecturas de gama altaSuperescalares, VLIW, memorias caches y MMU

¿Preguntas? ¡Gracias!

Page 10: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 10 de 22

Segmentación (Pipelining)

CMP R5,R6BEQ SonIgualesADD R5,R5,R4

ADD R5,R6,R7SUB R4,R4,R5

Ejemplos decódigo Assembly:

LDR R1,[R0]LDR R3,[R2]ADD R1,R1,#200

Repaso

Page 11: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 11 de 22

Segmentación (Pipelining) Repaso

Page 12: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 12 de 22

Multiple Inicio de InstruccionesComo vimos, un pipeline procesa varias instrucciones al mismo tiempo, pero en cada ciclo sólo se inicia unaPero un procesador puede tener “n” pipelines, para iniciar “n” instrucciones por ciclo y lograr así más paralelismo

Los pipelines puede ser iguales o no• Ej., uno para instrucciones aritméticas, otro para loads y stores• Si el procesador puede iniciar “n” a la vez, se le dice n-issue.

Para esto, hay dos tipos de arquitectura, que difieren en dónde se decide qué instrucciones se van a iniciar en paralelo:

Superescalar: Lo decide el procesador, en tiempo de ejecución

• Se usa, por ej., en los procesadores de PC desde el Pentium, y en procesadores para embebidos de alta gama

VLIW (Very-Long Instruction Word): Lo decide el compilador o el programador

• Se usa, por ej., en los DSP de la serie C6x de Texas Instruments

Page 13: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 13 de 22

Superescalares y VLIW

tiempo

flujo de instrucciones

Se inician de a dos

Una instrucción

Otra

Page 14: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 14 de 22

Un Pipeline Superescalar

Pipeline del ARM Cortex A8(Para un ejemplo de VLIW, ver DSP de la familia C6x de TI, como el que acompaña al Cortex A8 en la BeagleBoard.)

Page 15: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 15 de 22

Memorias CacheLa tecnología de las memorias no experimenta tanto incremento de velocidad como la de los procesadores

A frecuencias altas, la velocidad de procesamiento empieza a estar dominada por las esperas hasta que responda la memoria.

Para alivianar el problema, a veces se usan memorias cache

Son memorias rápidas, puestas entre la memoria principal y el procesador. Conservan un subconjunto del contenido de la memoria principal

• Gracias a la localidad espacial y temporal del software, con ese contenido se atiende la mayoría de los accesos que requiere el procesador.

Frecuentemente, se usan varios niveles de cacheUn cache de nivel 1 (L1) pequeño y bien rápidoUn cache de nivel 2 (L2) más grande, aunque más lentoQuizás, un L3…Las cache L1 y L2 suelen estar en el mismo chip del procesador

Page 16: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 16 de 22

Memorias CacheEl cache L1 generalmente está dividido en cache de instrucciones y cache de datos

Así, segmentos como IF y MEM del pipeline no compiten por el acceso a memoria.

Las memorias cache tienen sus contras:Complican la predicción del tiempo de ejecución

• Porque no se sabe si la información va a estar o no en cache.Ocupan superficie de silicio (=costo)Consumen energía

Sin embargo, si la frecuencia de clock es alta, son imprescindibles para lograr buena performance.

Foto del die (pastilla) del Intel Atom

Page 17: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 17 de 22

ARM Cortex A832 bits

Arquitectura RISCISA ARM (32 bits) y Thumb-2 (16/32 bits)

desde 600 MHz hasta más de 1 GHzSuperescalar (2 issue)

Lanzado en 2009Pipelines de 13 etapas

Caches L1: split, 16KB o 32 KB c/uCache L2: 64 KB a 2 MB

2 DMIPS/MHzExtensión para

multimedia: NEON Por unos u$s 50 se

compra un TI OMAP 3515(= Cortex A8 a 600 MHz

+ un DSP)

Page 18: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 18 de 22

Intel AtomZ530

32 bitsISA x86 (PC compatible) pero

con núcleo RISC1,6 GHz

Superescalar (2 issue)Lanzado en 2008

Pipelines de 16 etapasCaches L1: split, 32 KB (I) + 24 KB (D)

Cache L2: 512 KBExtensión para multimedia: SSE3

Máx TDP (thermal design power): 2 WVcore = 1,1 V2 DMIPS/MHz

Fabricado con un proceso de 45 nmCuesta aprox. u$s 50

Page 19: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 19 de 22

ARMCortexA9

Page 20: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 20 de 22

Page 21: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 21 de 22

Con sistemas operativos (tipo Linux) se pueden correr varios procesos “simultáneamente”.

El mapeo lo hace una combinación de HW y SWAl bloque de HW que se ocupa de eso se le dice Unidad de Administración de Memoria (MMU)

La memoria virtual tiene contras similares a las cache

Memoria Virtual y MMU

Memoria del Proceso A

…del B

…del C

mapeo

Almacenamientode las “Páginas”de la Memoria

Virtual

Memoria VirtualMemoria Física

Page 22: Tecnologías y Arquitecturas - INDICARTLas cache L1 y L2 suelen estar en el mismo chip del procesador. 06:13 16 de 22 Memorias Cache ... Dhrystone MIPS y mejores benchmarks Arquitecturas

06:13 22 de 22

Temas de esta ClaseMedición de performance

Dhrystone MIPS y mejores benchmarks

Arquitecturas de gama altaSuperescalares, VLIW, memorias caches y MMU

¿Preguntas? ¿Comentarios? ¿Etc.?¡Gracias!