1 de 22 - PowerPoint PPT Presentation

About This Presentation
Title:

1 de 22

Description:

... 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.) – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 23
Provided by: indicartC
Category:

less

Transcript and Presenter's Notes

Title: 1 de 22


1
Tecnologías y Arquitecturas
  • Parte II

2
Temas de esta Clase
  • Medición de performance
  • Dhrystone MIPS y mejores benchmarks
  • Arquitecturas de gama alta
  • Superescalares, VLIW, memorias caches y MMU
  • Preguntas?
  • Gracias!

3
Medición de Performance
  • Velocidad cant._de_procesamiento / tiempo
  • MIPS (pico) millones de instrucciones nativas
    por segundo
  • No es una buena métrica, porque
  • Las instrucciones individuales de diferentes ISAs
    no necesariamente hacen la misma cantidad de
    procesamiento.
  • 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 C
  • así puede ser el mismo procesamiento, aunque los
    micros tengan diferentes conjuntos de
    instrucciones.
  • así puede emplearse un mix realista de
    instrucciones.
  • A los programas que se usan para esto se los
    llama benchmarks

4
Dhrystone
  • Problema Qué programa usar como benchmark?
  • Dhrystone (1984)
  • Se lo usa mucho, aunque es cuestionado porque
  • Es pequeño, utiliza poca memoria
  • No hace procesamiento en punto flotante
  • No es representativo de las aplicaciones actuales
  • 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 DMIPS
  • A una máquina que corre Dhrystone n veces más
    rápido que la VAX, se le atribuyen n DMIPS
  • Frecuentemente se le dice MIPS a secas
  • Pero no confundirlo con el otro MIPS (pico)

5
Ejemplos
Procesador DMIPS (aprox.)
ATmega32A (AVR, 8 bits, 16 MHz) 5,9
ARM Cortex-M0 a 50 MHz 45
ARM Cortex-M3 a 100 MHz 125
ARM Cortex-A8 a 1 GHz 2000
Intel Atom-Z530 a 1,6 GHz 3200
Intel Core i7 EE-990x (6 cores) a 3,46 GHz 159000
(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.)
6
MFLOPS
  • MFLOPS (megaflops) Millones de instrucciones de
    punto flotante por segundo
  • Es 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 nativas
  • Pero 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
    flotante
  • Cuando un procesador incluye una unidad de punto
    flotante, aumenta mucho su performance medida en
    MFLOPS

7
Mejores Benchmarks
  • SPEC CPU
  • Estándar para medir performance de computadoras
  • Regularmente actualizado. La versión más reciente
    es CPU2006
  • Es 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
  • BDTI
  • Para productos que hacen procesamiento digital de
    señales (DSP).

8
Actividad
  • 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
  • Qué representa DMIPS dividido por frecuencia del
    ciclo de máquina?
  • O sea que su unidad es DMIPS / MHz
  • Qué métricas podríamos usar para el consumo?
  • Discútanlo en grupos de 2 a 4 personas, en unos
    minutos comparamos las respuestas

9
Temas de esta Clase
  • Medición de performance
  • Dhrystone MIPS y mejores benchmarks
  • Arquitecturas de gama alta
  • Superescalares, VLIW, memorias caches y MMU
  • Preguntas?
  • Gracias!

10
Segmentación (Pipelining)
Repaso
CMP R5,R6 BEQ SonIguales ADD R5,R5,R4
Ejemplos decódigo Assembly
LDR R1,R0 LDR R3,R2 ADD R1,R1,200
ADD R5,R6,R7 SUB R4,R4,R5
11
Segmentación (Pipelining)
Repaso
12
Multiple Inicio de Instrucciones
  • Como vimos, un pipeline procesa varias
    instrucciones al mismo tiempo, pero en cada ciclo
    sólo se inicia una
  • Pero 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

13
Superescalares y VLIW
Una instrucción
Otra
flujo de instrucciones
Se inician de a dos
tiempo
14
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.)

15
Memorias Cache
  • La 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 cache
  • Un cache de nivel 1 (L1) pequeño y bien rápido
  • Un cache de nivel 2 (L2) más grande, aunque más
    lento
  • Quizás, un L3
  • Las cache L1 y L2 suelen estar en el mismo chip
    del procesador

16
Memorias Cache
  • El 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
17
ARM Cortex A8
  • 32 bits
  • Arquitectura RISC
  • ISA ARM (32 bits) y Thumb-2 (16/32 bits)
  • desde 600 MHz hasta más de 1 GHz
  • Superescalar (2 issue)
  • Lanzado en 2009
  • Pipelines de 13 etapas
  • Caches L1 split, 16KB o 32 KB c/u
  • Cache L2 64 KB a 2 MB
  • 2 DMIPS/MHz
  • Extensión para multimedia NEON
  • Por unos us 50 se compra un TI OMAP 3515(
    Cortex A8 a 600 MHz un DSP)

18
Intel Atom
  • Z530
  • 32 bits
  • ISA x86 (PC compatible) pero con núcleo RISC
  • 1,6 GHz
  • Superescalar (2 issue)
  • Lanzado en 2008
  • Pipelines de 16 etapas
  • Caches L1 split, 32 KB (I) 24 KB (D)
  • Cache L2 512 KB
  • Extensión para multimedia SSE3
  • Máx TDP (thermal design power) 2 W
  • Vcore 1,1 V
  • 2 DMIPS/MHz
  • Fabricado con un proceso de 45 nm
  • Cuesta aprox. us 50

19
ARMCortex A9
20
(No Transcript)
21
Memoria Virtual y MMU
  • Con sistemas operativos (tipo Linux) se pueden
    correr varios procesos simultáneamente.
  • El mapeo lo hace una combinación de HW y SW
  • Al 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
Memoria Física
Memoria del Proceso A
Almacenamientode las Páginasde la
MemoriaVirtual
mapeo
del B
del C
22
Temas de esta Clase
  • Medición de performance
  • Dhrystone MIPS y mejores benchmarks
  • Arquitecturas de gama alta
  • Superescalares, VLIW, memorias caches y MMU
  • Preguntas? Comentarios? Etc.?
  • Gracias!
Write a Comment
User Comments (0)
About PowerShow.com