INGENIERÍA INFORMÁTICA PROYECTO FINAL DE CARRERA: ANÁLISIS TLB

Post on 14-Jan-2016

56 views 0 download

description

Autora: Mónica Larruy Carrete monica.larruy@estudiants.urv.cat Tutor: Carlos Molina Clemente carlos.molina@urv.cat. INGENIERÍA INFORMÁTICA PROYECTO FINAL DE CARRERA: ANÁLISIS TLB. ÍNDICE. Motivación Objetivos Introducción Infraestructura - PowerPoint PPT Presentation

Transcript of INGENIERÍA INFORMÁTICA PROYECTO FINAL DE CARRERA: ANÁLISIS TLB

Autora: Mónica Larruy Carrete

monica.larruy@estudiants.urv.cat

Tutor: Carlos Molina Clemente

carlos.molina@urv.cat

ÍNDICE

Motivación Objetivos Introducción Infraestructura Análisis estático Análisis dinámico Diagrama temporal Conclusiones

2

MOTIVACIÓN

Actualmente está aumentando la demanda en el TLB.

El alcance actual de los TLBs no es suficiente para apoyar dicha demanda.

Posibles soluciones:Fuerza bruta escalar el tamaño del TLB.

Inviable!!!Implantar un segundo nivel de TLB (L2).

3

ÍNDICE

Motivación Objetivos Introducción Infraestructura Análisis estático Análisis dinámico Diagrama temporal Conclusiones

4

OBJETIVOS

Historia y evolución TLB

Análisis estático

Análisis dinámico implantación TLB L2

5

ÍNDICE Motivación Objetivos

Introducción• Memoria virtual• TLB

Infraestructura Análisis estático Análisis dinámico Diagrama temporal Conclusiones

6

MEMORIA VIRTUAL

Memoria virtual hacer creer a la CPU que cuenta con más MP de la que realmente dispone.

Dos tipos de direcciones:Direcciones virtuales las que maneja la CPU

(programador).Direcciones lógicas las que maneja la MP.

Se basa en el principio de cercanía. Suele construirse sobre un esquema de paginación.

7

TLB Problema: Tiempo acceso a TP excesivo.

Solución: TLB.

Translation Lookaside Buffer

Caché pequeña asociativa y de acceso rápido.

Almacena traducciones recientes.

8

TLB: TRADUCCIÓN

9

CONFIGURACIONES TÍPICAS

Tiempo de acierto = 1 ciclo. Típicamente aciertos son > 99%. El fallo debe tratarse de forma rápida. normalmente entre 10-100 ciclos. TLBs son pequeñas entre 16 y 64 entradas. MIPS R2000 64 entradas. Pentium Pro ITLB = 32 entradas y DTLB = 64

entradas. Tamaño TLB = {32..8192} bytes. VAX 11/780 512 bytes.

10

ÍNDICE Motivación Objetivos Introducción Infraestructura

• CACTI• SimpleScalar• Cargas de trabajo (benchmarks)

Análisis estático Diagrama temporal Análisis dinámico Diagrama temporal Conclusiones

11

CACTI

Evalúa las estructuras de memoria

implementadas en un microprocesador.

Se aplicará para el estudio estático del TLB; área,

consumo y tiempo acceso.

Devuelve la mejor configuración a partir de una

función de optimización.

12

SIMPLESCALAR

Software gratuito que funciona mediante Linux.

Funciones creadas en “C”.

Etapas = las mismas que un procesador real.

Ejecución paso a paso como un procesador real.

Entregará datos estadísticos.

Formado por un kit de simuladores

Uso: sim-outorder

Formado por varios módulos Uso: cache 13

Benchmarks (SPEC2000) Benchmark: estándar de evaluación para comparar el

nivel de rendimiento de componentes y/o sistemas completos en arquitectura de computadoras.

El benchmark elegido ha sido SPEC2000.

SPECs enteros SPECs punto flotante

14

Nombre Área de aplicación

bzip Compresión

gcc Compilador de lenguaje C

gzip Compresión

mcf Combinatoria

vortex Base de datos orientada a objetos

vpr FPGA

Nombre Área de aplicación

art Reconocimiento de imágenes /redes neuronales

equake Simulación de propagación de ondas sísmicas

mesa Biblioteca de gráficos 3D

ÍNDICE Motivación Objetivos Introducción Infraestructura

Análisis estático• Modificaciones sobre CACTI• Parámetros y valores estudiados• Análisis de resultados

Análisis dinámico Diagrama temporal Conclusiones 15

MODIFICACIONES CACTI

1) Independizar resultados.

2) Eliminar restricciones en el tamaño del TLB.• No soporta tamaños pequeños de TLB.• Problema: C/(B*A*Ndbl*Nspd) ≤ 0 para TLBs pequeños

modificar area.c y time.c

3) Modificar máximo escala integración• Soporta sólo hasta 80 nm, se introdujo hasta 90 nm modificar

leakage.c e io.c

1616

PARÁMETROS ESTUDIADOS

Tamaño TLB: {256..32768 bytes}

Grado de asociatividad: {directa, 2, 4, 8}

Tamaño de línea: {32, 64, 128 bytes}

Escala de integración: {32, 45, 65, 90 nm}

# puertos: {L=1 E=1, L=2 E=1, L=2 E=2, L=4 E=1}

17

VALORES BASE

Asociatividad: 4

Tamaño línea: 64 bytes

Escala integración: 45 nm

# puertos: L=2, E=1 y L/E=0

# subbancos: 1

18

ANÁLISIS GRADO ASOCIATIVIDAD: TIEMPO

DE ACCESO

19

ANÁLISIS ESCALA INTEGRACIÓN: TIEMPO DE

ACCESO

20

ANÁLISIS GRADO ASOCIATIVIDAD: ÁREA

21

ANÁLISIS ESCALA INTEGRACIÓN: ÁREA

22

ANÁLISIS GRADO ASOCIATIVIDAD: CONSUMO

L/E

23

ANÁLISIS ESCALA INTEGRACIÓN: CONSUMO L/E

24

ÍNDICE Motivación Objetivos Introducción Análisis estático

Análisis dinámico• Modificaciones SimpleScalar• Configuración• Parámetros estudiados• Ejemplo SPEC: bzip

Diagrama temporal Conclusiones

25

MODIFICACIONES SIMPLESCALAR

Implementación L2 TLB.

Parametrización L2.

Etapas del pipeline modificadas: fetch, issue y commit.

26

CONFIGURACIÓN SIMPLESCALAR

Número de instrucciones ejecutadas

2500 millones. Tamaño total TLBs (DTLB+ITLB) en L1

128, 256, 512, 1024 y 2048 bytes. Tamaño total TLBs en L2

384, 768, 1280, 3072 y 6144 bytes. Grado de asociatividad: directa. Número de líneas variable.

27

BZIPT. DE ACCESO (sin L2 vs

con L2)

28

BZIPMISS_RATE (sin L2 vs

con L2)

29

BZIP:IPC (sin L2 vs con L2)

30

ÍNDICE Motivación Objetivos Introducción Análisis estático Análisis dinámico Diagrama temporal Conclusiones

31

DIAGRAMA TEMPORAL

32

ÍNDICE Motivación Objetivos Introducción Análisis estático Análisis dinámico Diagrama temporal Conclusiones

33

CONCLUSIONES

Medir rendimiento TLB tasa de fallos y tiempo medio de acceso.

Estudio estático mejores resultados con tamaños pequeños de TLB.

Estudio dinámico mejores resultados con tamaños grandes de TLB.

34

CONCLUSIONES

Tasa de fallos no demuestra la mejora de L2.

IPC y tiempo de acceso remarcan la mejoría con L2.

Introducir L2 supone una mejora entorno al doble que sólo disponiendo de L1.

35

GRACIAS POR LA ATENCIÓN