360 likes | 537 Views
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
E N D
Autora: Mónica Larruy Carrete monica.larruy@estudiants.urv.cat Tutor: Carlos Molina Clemente carlos.molina@urv.cat INGENIERÍA INFORMÁTICAPROYECTO FINAL DE CARRERA:ANÁLISIS TLB
ÍNDICE • Motivación • Objetivos • Introducción • Infraestructura • Análisis estático • Análisis dinámico • Diagrama temporal • Conclusiones
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).
ÍNDICE • Motivación • Objetivos • Introducción • Infraestructura • Análisis estático • Análisis dinámico • Diagrama temporal • Conclusiones
OBJETIVOS • Historia y evolución TLB • Análisis estático • Análisis dinámico implantación TLB L2
ÍNDICE • Motivación • Objetivos • Introducción • Memoria virtual • TLB • Infraestructura • Análisis estático • Análisis dinámico • Diagrama temporal • Conclusiones
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.
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.
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.
Í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
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.
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
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
Í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
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 16
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}
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
Í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
MODIFICACIONES SIMPLESCALAR • Implementación L2 TLB. • Parametrización L2. • Etapas del pipeline modificadas: fetch, issue y commit.
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.
ÍNDICE • Motivación • Objetivos • Introducción • Análisis estático • Análisis dinámico • Diagrama temporal • Conclusiones
ÍNDICE • Motivación • Objetivos • Introducción • Análisis estático • Análisis dinámico • Diagrama temporal • Conclusiones
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.
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.