INGENIERÍA INFORMÁTICA PROYECTO FINAL DE CARRERA: ANÁLISIS TLB
description
Transcript of INGENIERÍA INFORMÁTICA PROYECTO FINAL DE CARRERA: ANÁLISIS TLB
Í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