programa del curso fundamentos del diseño de computador. fundamentos del diseño de computador....
Post on 02-Feb-2016
227 Views
Preview:
TRANSCRIPT
ProgramaPrograma del Curso del Curso
Fundamentos del Diseño de Computador.Fundamentos del Diseño de Computador. Arquitectura del Conjunto de Instrucciones Arquitectura del Conjunto de Instrucciones
(Revisión).(Revisión).
Encauzamiento.Encauzamiento.Paralelismo a Nivel de Instrucciones.Paralelismo a Nivel de Instrucciones.Diseño de Jerarquía de Memoria.Diseño de Jerarquía de Memoria.Paralelismo a Nivel de Multiprocesador.Paralelismo a Nivel de Multiprocesador.Sistema de Entrada y Salida Sistema de Entrada y Salida
(Almacenamiento).(Almacenamiento).
CPU Crecimiento del Campo de Arquitecturas
Del CISC al RISC (Electrónicos vs Programadores) Rendimiento
Límite del Boquete CPU-Memoria Límite del Paralelismo a Nivel de Instrucciones
Ventana de Instrucciones (BrPredictor, hw, compilador)
El Factor de Disipación de Potencia Paralelismo a Nivel de Programas
Multithreadring, etc Multiprogramación
Arquitecturas de Computadoras Avanzadas RESUMEN TECNOLOGICO del CPU
Diseño de Jerarquía de Memoria Componente del Computador
Núcleo ElectrónicoE/S
Mem 2
Memoria
UCP
Redes
C OMPUTADOR =
CPU
MEMORIA
Memoria Virtual Magnético, Semiconductor
Memoria Principal Dynamic Random Access Memory
(DRAM) Memoria Cache
Static Random Access Memory (SRAM) Memoria de Registros
Lógica de Diseño
Diseño de Jerarquía de Memoria Tecnología de Implementación
Diseño de Jerarquía de Memoria Límites del Arquitecto de Computadores
Disipación de Potencia (Número. de Transistores) Boquete de Latencia CPU-Memoria
Predictor de Salto Localidad de Referencia
Costo Compatibilidad Validez Exigencias del Mercado
Diseño de Jerarquía de Memoria Costos en el Computador
DRAM: 50% to 55% Monitor de color: 15% to 20% Tarjeta CPU : 10% to 15% Disco Duro: 8% to 10% Cabinet del CPU: 3% to 5% Video & otros E/S: 3% to 7% Teclado y Ratón e-: 1% to 2%
Diseño de Jerarquía de Memoria Límites del Arquitecto de Computadores
Disipación de Potencia (Número. de Transistores)
Boquete de Latencia CPU-Memoria Predictor de Salto Localidad de Referencia
Costo Compatibilidad Validez Exigencias del Mercado
Capacidad Velocidad (latencia)
Lógica: 2x in 3 años 2x in 3 añosDRAM: 4x in 3 años 2x in 10 años Disk: 4x in 3 años 2x in 10
años
Diseño de Jerarquía de Memoria Tendencia Tecnológica en DRAM
Diseño de Jerarquía de Memoria Tendencia Tecnológica en DRAM (cont.)
Año Tamaño Tiempo de Ciclo
1980 64 Kb 250 ns
1983 256 Kb 220 ns
1986 1 Mb 190 ns
1989 4 Mb 165 ns
1992 16 Mb 145 ns
1995 64 Mb 120 ns
1998 256 Mb 100 ns
2001 1 Gb 80 ns
1000:1! 2:1!4:1!
Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Memoria Dinámica
Capacidad de Almacenamiento (40% por año)
Rendimiento de Latencia (9% por año)
Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Rendimiento
DRAM9%/año(2X/10 año)
µProc60%/año(2X/1.5año)
Margen de RendimientoUCP-Memoria: crece 50% / año
Apoyo en las Caches para aliviar el Boquete de Memoria Cache es memoria muy rápida entre el Mp y Memoria
Principal. Boquete de Rendimiento entre el Microprocesador-DRAM
Tiempo de un miss completo en la cache en número de instrucciones.
1st Alpha (7000): 340 ns/5.0 ns = 68 clks x 2 or 136 instrucciones
2nd Alpha (8400): 266 ns/3.3 ns = 80 clks x 4 or 320 instrucciones
3rd Alpha (t.b.d.): 180 ns/1.7 ns =108 clks x 6 or 648 instrucciones
1/2X latencia x 3X tasa del reloj x 3X Instr/clock ~ 5X 1980: no cache en µproc;
1997 Nivel 2 de cache, 60% trans. on Alpha 21164 µproc
2002 Nivel 3 de cahe (Itanium)2008 Coherencia de cache (multi CPUs)
Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Situación Actual
Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Memoria
Dinámica
Diseño de Jerarquía de Memoria Fuerzas de Atracción en la Implementación
Más cerca de la UCP:
Más Veloz
Menos Capacidad de Almacenaje
Menos Hacia el Usuario
Núcleo Electrónico
Atracción de Procesamiento
E/S
Mem 2
Memoria
UCP
Redes
Atracción de Almacenamiento
Atracción del Diseño
Localidad Temporal (Localidad en el Tiempo) Mantener la información recientemente solicitada
cerca del procesador Localidad Espacial (Localidad en el Espacio)
Mover hacia Niveles Superiores de Información Contigua en bloque
Lower LevelMemoryUpper Level
MemoryTo Processor
From ProcessorBlk X
Blk Y
Diseño de Jerarquía de Memoria
Principio de Funcionamiento
Diseño de Jerarquía de Memoria
Terminología Hit: dato aparece en algún bloque de nivel superior (i.e.
bloque X)
Rata de Hit: Fracción de Solicitudes de Memoria en nivel superior
Tiempo de Hit: Tiempo para solicitar el nivel superior RAM tiempo de solicitud + Tiempo para determinar hit/miss
Miss: dato es solicitado de un bloque en un nivel inferior (i.e. bloque Y)
Rata de Miss = 1 - (Rata de Hit) Penalización de Miss: Tiempo para reemplazar un bloque de un
bloque en nivel superior + Tiempo para entregar el bloque al procesador
Tiempo Hit << Penalización Miss
Lower LevelMemoryUpper Level
MemoryTo Processor
From ProcessorBlk X
Blk Y
Aprovechando el Principio de Localidad: Ofrecer tanta Memoria posible en la tecnología más económica. Ofrecer acceso a Memoria en la Tecnología más veloz
Diseño de Jerarquía de Memoria La Fuerza Tecnológica : Memoria Dinámica
Control
Datap
ath
AlmacenSecundario
(Disk)
Procesador
Registros
MemoriaPrincipal(DRAM)
L3Cache
(SRAM)
On
-Ch
ipL
2 Cach
e
1s 10,000,000s (10s ms)
Velocidad (ns): 2s 100s
100s GsTamaño (bytes): Ks Ms
AlmacenTerciario
(Tape)
10,000,000,000s (10s sec)
TsO
n-C
hip
L1 C
ache
10s
Registros Memoria El Compilador (¿el programador?)
Cache Memoria El Hardware
Memoria Discos El Hardware y el S.O. (memoria virtual) El Programador (archivos)
Diseño de Jerarquía de Memoria Cómo Manejar la Jerarquía
Acceso Aleatorio:“Aleatorio” es bueno: Tiempo de Acceso idéntico para cualquier datoDRAM: Dynamic Random Access Memory
Alta densidad, bajo en potencia, barato, lento Dinámica: requiere de ser “refrescada” regularmente
SRAM: Static Random Access Memory Baja densidad, alto en potencia, cara, rápida Estática: contenido para siempre (hasta que se pierde la corriente)
Acceso “No-tan-aleatoria”:Tiempo de acceso varía de localidad en localidad y de vez en cuando.Ejemplos: Discos, CDROMs
Acceso Secuencial: tiempo de acceso lineal según la posición (Tapes)
Diseño de Jerarquía de Memoria Las Tecnologías en la Jerarquía de Memoria
Superior: memoria más cerca al procesador Bloque: unidad mínima de bytes Dirección de Bloque: posición del bloque en memoria Hit: Dato es encontrado en la posición deseada Tiempo de Hit: tiempo de acceso del nivel superior Miss: Dato NO es encontrado en la posición deseada Rata de Miss: porcentaje de fallas en nivel superior
Diseño de Jerarquía de Memoria Organización de Memoria: Definiciones
Localidad Temporal: memoria referenciada es probable ser referenciada de
nuevo prontamente (ej.: código en un lazo) Espacial: memoria cerca a la memoria referenciada es probable
a ser pronto referenciada (ej.: datos en un arreglo solicitado secuencialmente)
Localidad + HW = jerarquía de memoria Niveles: Más Pequeña pero Más Rápido su Acceso y Más Caro Inclusive: datos en nivel superior también en nivel inferior.
Diseño de Jerarquía de Memoria Principios Organizacionales de Memoria
Registros (D Flip-Flops)
L1, L2 Cache (SRAM)
Cache L3 (SRAM)
Memoria Principal (DRAM)
Discos (Magnetico)
Almacenamiento Secundario
Jerarquíade
Memoria
Procesador
Nivel Inferior
Nivel Superior
Diseño de Jerarquía de Memoria Jerarquía de Memoria
Diseño de Jerarquía de Memoria Diferencias en Niveles de Memoria
Nivel Tecnología Tamaño típico Tiempo de AccesoTípico
Costo perMbyte
Registros D Flip-Flops
64 32-bit 2 -3 ns N/A
L1 Cache(on chip)
SRAM 16 Kbytes 5 - 25 ns $100 - $250
L3Cache(off chip)
SRAM 256 Kbytes 5 - 25 ns $100 - $250
MemoriaPrincipal
DRAM 256 Mbytes 60 - 120 ns $5 - $10
AlmacénSecundario
DiscoMagnético
8 Gbytes 10 - 20 ms $0.10-$0.20
P1: ¿Dónde puede ser colocado un Bloque en el nivel superior?
(Colocación de Bloque)
P2: ¿ Cómo se encuentra un Bloque si está en el nivel superior? (Identificación de Bloque)
P3: ¿ Cuál Bloque debe ser reemplazado en un miss ?
(Reemplazo de Bloque)
P4: ¿ Qué pasa en una Escritura ? (Estrategia de Escritura)
Diseño de Jerarquía de Memoria Preguntas a La Jerarquía de Memoria
Mapeo Directo Cada Bloque en Único lugar en Cache
Mapeo Asociativo Cada Bloque en Cualquier lugar en Cache
Mapeo Conjunto Asociativo Cada Bloque en un Conjunto de lugares en Cache Si hay “n” bloques en el conjunto, la Colocación se le
denomina conjunto asociativo de n formas. ¿Cuál es la asociatividad del Mapeo Directo ?
Diseño de Jerarquía de Memoria P1: ¿Dónde puede ser colocado un Bloque en el nivel superior?
Tamaño de Cache: 8 bloques Donde va la Palabra 12 de Memoria?
Mapeo Asociativo:Bloque 12 va en cualquier lugar
Mapeo Directo: Número de Bloque =(dir bloque) mod (Nro de bloques en cache)(12 mod 8 = 4) Bloque 12 solamente en bloque 4=> Acceso de bloque usa los 3 bits m.s.
Mapeo Conjunto Asociativo de 2-formasNúmero de Conjunto = (dir Bloque) mod (Nro de conjuntos en cache)(12 mod 4 = 0)Bloque 12 en cualquier lugar en conjunto 0=> Acceso de conjunto usa los 2 bits m.s.
Diseño de Jerarquía de Memoria Ejemplos de Asociatividad
La dirección puede ser dividida en dos partes principales Desplazamiento de Bloque: Selecciona el dato del bloque
Tamaño del Desplazamiento = log2(tamaño del bloque)
Dir de Bloque: Etiqueta Block + índice Índice : selecciona el conjunto en cache
tamaño índice = log2(#bloques/asociatividad) etiqueta: comparada con etiqueta en cache para determinar “hit”.
tamaño etiqueta = tamaño dir – tamaño índice – tamaño desplazamiento
Cada bloque tiene un bit de validez (bloque en cache si Etiqueta combina y si el bit de validez está colocado)
Diseño de Jerarquía de Memoria P2: ¿ Cómo se encuentra un Bloque si está en el nivel superior?
Fácil para el Mapeo Directo Solamente una selección
Mapeo Asociativo ó Conjunto-Asociativo Aleatoria : Más fácil para Implementar Menos Recientemente Usado (MRU): Más dificil
Ratas de Fallas en caches con:
Asociatividad: 2-formas 4-formas 8-formasTamaño MRU Aleatoria MRU Aleatoria MRU Aleatoria16 KB 5.18% 5.69% 4.67% 5.29% 4.39% 4.96%64 KB 1.88% 2.01% 1.54% 1.66% 1.39% 1.53%256 KB 1.15% 1.17% 1.13% 1.13% 1.12% 1.12%
Para Caches con baja rata de fallas, la técnica aleatoria es tan eficiente como MRU
Diseño de Jerarquía de MemoriaP3: ¿ Cuál Bloque debe ser reemplazado en un miss ?
Write through: La información se escribe en ambos: En bloque del Nivel Superior y en el bloque de Nivel Inferior.
Write back: La información se escribe solamente en bloque del Nivel Superior. El bloque de cache modificado es escrito a memoria principal solamente cuando es reemplazado. ¿ Está el bloque limpio ó sucio ? (agregar un bit de sucio para c/bloque)
Pros y Contras de cada Técnica: Write through
Fallas en Lecturas no pueden resultar en Escrituras a Memoria Más fácil para implementar Siempre se combina con Buffers de Escritura para evitar la latencia
de memoria Write back
Menos Tránsito de Memoria Realiza las Escrituras a la velocidad de la cache
Diseño de Jerarquía de MemoriaP4: ¿ Qué pasa en una Escritura ?
No Es Necesario Traer el Dato a un Nivel Superior en una Falla de Escritura, hay dos opciones: Write allocate
El bloque es traído a la cache. Usada con caches write-back Esperanza de escrituras subsecuentes al bloque
No-write allocate El bloque es modificado en memoria, pero no es traído a la cache Usada con caches write-through Escrituras tienen que ir a Memoria de todas formas, entonces
para que traer el bloque a la cache
Diseño de Jerarquía de MemoriaP4: ¿ Qué pasa en una Escritura ? (cont.)
Ejemplo: Alpha 21064 Data Cache
Organización:8 KB de Datos32 bytes el bloque Mapeo DirectoWrite through (no-write allocate, write buffer con bloque de 4 bytes)
Dirección Física de 34 bits: 5 bits de Desplazamiento 8 bits de Indice 21 bits de Etiqueta
Ejemplo: Alpha 21064 Data Cache
Un “cache read” tiene 4pasos (1) La Dirección de la cahe
Es divida en Etiqueta, Indice y Desplazamiento.(2) El Indice selecciona el Bloque(3) La Etiqueta es comparada con la Etiqueta en cache, el bit Válido es chequeado y el Dato buscado es
seleccionado(4) Si el bit Válido es uno, el Dato es cargado en el procesador.Si es un “cache write”, el Dato es
también enviado al “write buffer”.
2-Way Set Associative Cache
Features of an 8 KB 2-way set associative cache
5 bit block offset7 bit index22 bit tag
The set associative cache hasextra hardware for
2 tag comparisonsmux to select data
ResumenEl Boquete de Rendimiento CPU-Memory
Principal problema de RendimientoJerarquía de Memoria
Tomar ventaja de “Localidad de Referencia”Relación con el Procesador
Cercana: Más pequeño, rápido, caro. Lejana: todolocontrario
Cuatro Preguntas en la Jerarquía de Memorias Colocación, Identificación, Reemplazo, Estrategia de Escritura.
Organización: Tamaño, Bloque, Mapeo.
top related