icee1012 capitulo 5 la memoria
TRANSCRIPT
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
1/101
ICEE1012
La Memoria: Jerarqua, Tamaos yVelocidades
Basado en el Capitulo 5 del texto: Computer Organization and Design, David Patterson y John Hennessy
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
2/101
Procesador MemoriaAddress
MemWrite
WriteData
ReadData
WE
CLKCLK
La performance del Computador depende
de: Performance del Procesador Performance de la Memoria
Interfaz de la Memoria
Introduccin
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
3/101
En captulos anteriores, asumimos el acceso a
Memoria en 1 ciclo de relojpero eso no ha sidocierto desde los 80
Gap Procesador-Memoria
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
4/101
Tecnologa de las Memorias
RAM Esttica; Static RAM (SRAM) 0,5 ns2,5ns; $ 500$ 1.000 per GB
RAM Dinmica; Dynamic RAM (DRAM) 50 ns70 ns; $ 10$ 20 per GB
Memoria Flash 5.000ns50.000 ns; $ 0,75$ 1,00 per GB
Discos Magnticos 5ms20ms, $ 0,05$ 0,1 per GB
Memoria Ideal Tiempo de acceso de SRAM
Capacidad y costo/GB de discoICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
5/101
Principio de Localidad
Los programas accesan una pequea
proporcin de su espacio de direcciones en untiempo dado
Localidad Temporal
tems accesados recientemente son probables de seraccesados pronto nuevamente
p.e., instrucciones en un loop, variables de induccin
Localidad Espacial tems cercanos a aquellos accesados recientemente
son probables de ser accesados pronto
p.e., acceso de instrucciones secuenciales, datos dearreglos
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
6/101
Aprovechando la Localidad
Jerarqua en las Memorias
Guardar todo en disco
Copiar los tems accesados recientemente (y locercano) desde disco a pequeas memorias
DRAM Memoria principal
Copiar los tems accesados recientemente (y lo
cercano) desde DRAM a pequeas memoriasSRAM Memoria cache conectada a la CPU
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
7/101
Niveles de Jerarqua de Memoria
Bloque (o lnea): unidad de copiado
Pueden ser mltiples palabras Si el dato accesado est presente
en el nivel superior Hit (acierto, xito): acceso satisfecho
por el nivel superior ndice de hits: hits/accesos
Si el dato accesado esta ausente Miss (fallo, yerro): bloque copiado
desde nivel inferior
Tiempo tomado: castigo por miss ndice de Miss: misses/accesos
= 1ndice de hits
Entonces, el dato accesado esentregado para el nivel superior
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
8/101
Memoria Cache
Memoria Cache
El nivel de jerarqua de memoria ms cercano a laCPU
Dados los accesos X1, , Xn1, Xn
ICEE1012 Sistemas Digitales II
Cmo sabemos siel dato estpresente?
Dnde miramos?
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
9/101
Cache Mapeado Directamente
Ubicacin determinado por la direccin
Mapeado directamente: slo una eleccin (Direccin del bloque) mdulo (#Bloques en el cache)
ICEE1012 Sistemas Digitales II
#Bloques es unapotencia de 2
Utiliza bits de
direccin menossignificativos
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
10/101
Rtulo (Tag) y Bit Vlido
Como sabemos cul bloque particular estguardado en una ubicacin del cache? Guarda direccin del bloque como tambin el dato
En realidad, slo necesita los bits mas significativos
Llamado el rtulo (tag) Qu pasa si no hay datos en dicha ubicacin?
Bit valido: 1 = presente, 0 = no presente
Inicialmente 0
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
11/101
Ejemplo de Cache
8-bloques, 1 palabra/bloque, mapeado
directamente Estado inicial
ICEE1012 Sistemas Digitales II
ndice V Tag Dato
000 N001 N
010 N
011 N
100 N
101 N
110 N
111 N
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
12/101
Ejemplo de Cache
ICEE1012 Sistemas Digitales II
ndice V Tag Dato
000 N001 N
010 N
011 N
100 N
101 N
110 Y 10 Mem[10110]
111 N
Direccinpalabra Direccinbinaria Hit/miss BloqueCache
22 10 110 Miss 110
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
13/101
Ejemplo de Cache
ICEE1012 Sistemas Digitales II
ndice V Tag Dato
000 N001 N
010 Y 11 Mem[11010]
011 N
100 N
101 N
110 Y 10 Mem[10110]
111 N
Direccinpalabra Direccinbinaria Hit/miss BloqueCache
26 11 010 Miss 010
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
14/101
Ejemplo de Cache
ICEE1012 Sistemas Digitales II
ndice V Tag Dato
000 N
001 N
010 Y 11 Mem[11010]
011 N
100 N101 N
110 Y 10 Mem[10110]
111 N
Direccin
palabra
Direccin
binaria Hit/miss
Bloque
Cache22 10 110 Hit 110
26 11 010 Hit 010
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
15/101
Ejemplo de Cache
ICEE1012 Sistemas Digitales II
ndice V Tag Dato000 Y 10 Mem[10000]
001 N
010 Y 11 Mem[11010]
011 Y 00 Mem[00011]
100 N
101 N
110 Y 10 Mem[10110]
111 N
Direccin
palabra
Direccin
binaria
Hit/missBloque
Cache16 10 000 Miss 000
3 00 011 Miss 011
16 10 000 Hit 000
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
16/101
Ejemplo de Cache
ICEE1012 Sistemas Digitales II
ndice V Tag Dato
000 Y 10 Mem[10000]
001 N010 Y 10 Mem[10010]
011 Y 00 Mem[00011]
100 N
101 N110 Y 10 Mem[10110]
111 N
Direccin
palabra
Direccin
binaria
Hit/missBloque
Cache18 10 010 Miss 010
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
17/101
Subdivisin de Direcciones
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
18/101
Ejemplo: Tamao de Bloque ms grande
64 bloques, 16 bytes/bloque A que nmero de bloque corresponde la direccin
1200 dada en bytes?
Direccin de bloque = 1200/16= 75
Nmero de bloque = 75 mdulo 64 = 11
ICEE1012 Sistemas Digitales II
Tag ndice Offset03491031
4 bits6 bits22 bits
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
19/101
Consideraciones del Tamao del Bloque
Bloques ms grandes deberan reducir el ndicemiss Debido a la localidad espacial
Pero en el cache de tamao fijo
Bloques ms grandes menos de ellosMs competencia aumenta el ndice miss
Bloques ms grandes contaminacin
Mayor penalidad por miss Puede anular beneficio de un ndice de miss reducido Latencia de la primera palabra y tiempo de
transferencia del resto del bloque son crticos
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
20/101
Yerros (Misses) del Cache
En aciertos (hits) del cache, la CPU procedenormalmente
En yerros (miss) del cache Stall del pipeline de la CPU
Fetch del bloque desde el siguiente nivel de lajerarqua
Yerro de una instruccin en el cache Reiniciar fetch de la instruccin
Yerro de un dato en el cache Completar acceso al dato
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
21/101
Write-Through
En hit de escritura de dato, podra slo actualizar el
bloque en el cache Pero entonces el cache y la memoria seran inconsistentes Write through: tambin actualiza la memoria Pero hacer escritura toma ms tiempo
p.e., si CPI base = 1, 10% de las instrucciones songuardar, escribir en memoria toma 100 ciclos CPI efectivo = 1 + 0.1100 = 11
Solucin: escribir buffer
Mantener el dato esperando ser escrito en memoria CPU continua inmediatamente Slo hacer stalls en la escritura si buffer de escritura est ya lleno
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
22/101
Write-Back
Alternativa: En acierto de escritura de dato, sloactualizar el bloque en el cache Rastrear si cada bloque est sucio
Cuando se remplaza un bloque sucio Escribirlo de vuelta a memoria Se puede utilizar un buffer de escritura para permitir
el remplazo del bloque que ser ledo primero
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
23/101
Write Allocation
Qu pasara en un yerro de escritura?Alternativas para el write-through
Asignar espacio (allocate) en el miss: fetch elbloque
Escribir alrededor: no hacer fetch del bloque Ya que los programas a menudo escriben un bloque entero
antes de leerlo (p.e., inicializacin)
Para el write-back Normalmente hacer fetch del bloque
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
24/101
Ejemplo: FastMATH de Intrinsity
Procesador MIPS Embedded Pipeline de 12 etapasAcceso a instruccin y datos en cada ciclo
Cache separado (split cache): separa I-cache
y D-cache Cada 16KB: 256 bloques 16 palabras/bloque D-cache: write-through o write-back
ndice de yerros de SPEC2000
I-cache: 0.4% D-cache: 11.4% Promedio ponderado: 3.2%
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
25/101
Ejemplo: FastMATH de Intrinsity
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
26/101
Caches de Soporte de la Memoria Principal
Utiliza DRAMs para la memoria principal
Ancho fijo (p.e., 1 palabra) Conectado por buses sncronos de ancho fijo
Reloj del bus es normalmente mas lento que el reloj de la CPU
Ejemplo lectura bloque cache
1 ciclo del bus para transferencia de direccin 15 ciclos del bus para accesos a la DRAM 1 ciclo de bus para la transferencia de datos
Para bloques de 4 palabras, DRAM de 1 palabra
de ancho Penalidad por yerro = 1 + 415 + 41 = 65 ciclos de busAncho de banda (bandwidth) = 16 bytes / 65 ciclos =
0.25 B/cicloICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
27/101
Aumentando el Ancho de Banda de la Memoria
ICEE1012 Sistemas Digitales II
Memoria de 4 palabras de ancho Penalidad por yerro = 1 + 15 + 1 = 17 ciclos de bus Ancho banda = 16 bytes / 17 ciclos = 0.94 B/ciclo
Memoria de 4 bancos interleaved Penalidad por yerro = 1 + 15 + 41 = 20 ciclos de
bus Ancho banda = 16 bytes / 20 ciclos = 0.80 B/ciclo
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
28/101
Organizaciones de DRAM Avanzadas
Los bits en una DRAM son organizados comoun arreglo rectangular DRAM accesa una fila entera
Modo burst: entrega palabras sucesivas desde una
fila con latencia reducida DRAM Double Data Rate (DDR)
Transfiere en los flancos de subida y de bajada delreloj
DRAM Quad Data Rate (QDR) DDR de entrada y salida separados
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
29/101
Generaciones de DRAM
ICEE1012 Sistemas Digitales II
0
50
100
150
200
250
300
'80 '83 '85 '89 '92 '96 '98 '00 '04 '07
Trac
Tcac
Ao Capacidad $/GB1980 64Kbit $1.500.000
1983 256Kbit $500.000
1985 1Mbit $200.000
1989 4Mbit $50.000
1992 16Mbit $15.000
1996 64Mbit $10.000
1998 128Mbit $4.000
2000 256Mbit $1.000
2004 512Mbit $250
2007 1Gbit $50
Semestre Primavera 2015
Trac: Total access time to a new Row/ColumnTcac: Column access time to existing row
ns
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
30/101
Tecnologa en Memorias
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
31/101
Tecnologa en Memorias
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
32/101
Medida de la Performance del Cache
Componentes del tiempo de CPU
Ciclos de ejecucin del programa Incluye tiempo de acierto del cache Ciclos de stall de la memoria
Principalmente por yerros del cache
Con supuestos para simplificar:
ICEE1012 Sistemas Digitales II
miss""porPenalidadnInstruccio
Misses""
Programa
nesInstruccio
miss""porPenalidadmiss""deIndicePrograma
memoriaaAccesos
memoriadestall""deCiclos
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
33/101
Ejemplo de Performance del Cache
Dado: ndice miss I-cache = 2% ndice miss D-cache = 4% Penalidad de miss = 100 ciclos Base CPI (cache ideal ) = 2
Load & stores son el 36% de las instrucciones Ciclos de miss por instruccin
I-cache: 0.02 100 = 2 D-cache: 0.36 0.04 100 = 1.44
CPI real = 2 + 2 + 1.44 = 5.44 CPU ideal es 5.44/2 =2.72 veces ms rpida
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
34/101
Tiempo de Acceso Promedio
Tiempo de hit es tambin importante para laperformance
Average Memory Access Time (AMAT)AMAT = Tiempo de hit + ndice Miss Penalidad
Miss Ejemplo
CPU con reloj de 1 ns, tiempo de hit = 1 ciclo,penalidad miss = 20 ciclos, ndice miss I-cache = 5%
AMAT = 1 + 0.05 20 = 2 ns 2 ciclos por instruccin
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
35/101
Resumen Performance
Cuando se incrementa performance de la CPU Penalidad miss se hace ms significativa
Disminuyendo CPI base
Gran parte del tiempo se pasa en stalls de memoria Incrementando la frecuencia del reloj
Stalls de memoria toman ms ciclos de CPU
No se puede descuidar el comportamiento delcach al evaluar el rendimiento del sistema
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
36/101
Caches Asociativos
Completamente asociativo (Fully Associative)
Permite a un bloque dado accesar cualquiera entrada delcache Requiere que todas las entradas se busquen
simultneamente Comparador por entrada (ms caro)
Conjunto asociativo de n-vas (n-Way SetAssociative) Cada conjunto contiene nentradas
El nmero del bloque determina cul conjunto (Nmero del bloque) mdulo (#Conjuntos en el cache) Bsqueda simultnea de entradas en un conjunto dado ncomparadores (ms barato)
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
37/101
Ejemplo Asociatividad de los Caches
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
38/101
Espectro de Asociatividad
Para un cache con 8 entradas
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
39/101
Ejemplo Asociatividad
Compara caches de 4 bloques Mapeado directamente, conjunto asociativo de 2 vas,
completamente asociativo
Secuencia acceso a los bloques: 0, 8, 0, 6, 8
Mapeado directamente
ICEE1012 Sistemas Digitales II
DireccinBloque
ndiceCache
Hit/missContenido cache despus del acceso
0 1 2 30 0 miss Mem[0]8 0 miss Mem[8]
0 0 miss Mem[0]6 2 miss Mem[0] Mem[6]8 0 miss Mem[8] Mem[6]
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
40/101
Ejemplo Asociatividad
Conjunto asociativo de 2 vas
ICEE1012 Sistemas Digitales II
DireccinBloque
ndiceCache
Hit/miss Contenido cache despus del accesoSet 0 Set 1
0 0 miss Mem[0]8 0 miss Mem[0] Mem[8]0 0 hit Mem[0] Mem[8]6 0 miss Mem[0] Mem[6]8 0 miss Mem[8] Mem[6]
Completamente asociativoDireccinBloque
Hit/miss Contenido cache despus del acceso
0 miss Mem[0]
8 miss Mem[0] Mem[8]0 hit Mem[0] Mem[8]6 miss Mem[0] Mem[8] Mem[6]8 hit Mem[0] Mem[8] Mem[6]
Semestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
41/101
Cunta Asociatividad
El aumentar la asociatividad disminuye el ndicede miss Pero con menos retornos
Simulacin de un sistema con D-cache de 64KB,
bloques de 16 palabras, SPEC2000 1 va: 10.3%
2 vas: 8.6%
4 vas: 8.3%
8 vas: 8.1%
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Organizacin Cache Conjunto Asociativo
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
42/101
Organizacin Cache Conjunto Asociativo
de 4 vas
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
43/101
Polticas de Reemplazos
Mapeado directamente: no hay eleccin
Conjunto asociativo Preferir entrada no vlida, si hay una De lo contrario, elegir entre las entradas del conjunto
Least-Recently Used (LRU) Elegir una no utilizada por el tiempo ms largo
Simple para 2 vas, manejable para 4 vas, demasiado difcilmas all de eso
Al azar (Random) Da aproximadamente el mismo rendimiento que LRU
para alta asociatividad
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
44/101
Caches Multinivel
Cache primario ligado a la CPU Pequeo pero rpido
Misses servicios cache Level-2 del cacheprimario Ms grande, ms lento pero todava ms rpido que la
memoria principal
Servicios memoria principal misses cache L-2
Algunos sistemas de alto nivel incluyen cache L-3
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
45/101
Ejemplo Cache Multinivel
Dado: CPU con CPI base = 1, frecuencia reloj = 4GHz
ndice miss/instruccin = 2%
Tiempo acceso memoria principal = 100ns (incluye
manejo de miss) Slo con cache primario
Penalidad por miss = 100ns/0.25ns = 400 ciclos reloj
CPI efectivo un nivel de caching = 1 + 0.02 400 = 9
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
46/101
Ejemplo (cont.)
Ahora se agrega cache L-2 Tiempo de acceso = 5ns
ndice de miss global a memoria principal = 0.5%
Miss primario con hit L-2
Penalidad = 5ns/0.25ns = 20 ciclos Miss primario con miss L-2
Penalidad extra = 400 ciclos
CPI = 1 + 0.02 20 + 0.005 400 = 3.4
ndice performance = 9/3.4 = 2.6
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
47/101
Consideraciones Cache Multinivel
Cache Primario Se enfoca en mnimo tiempo de hit
Cache L-2 Se enfoca en un bajo ndice de miss para evitar
accesos a la memoria principal
El tiempo de hit tiene un menor impacto global
Resultados Cache L-1 normalmente ms pequeo que un cache
nico Tamao de bloque de L-1 ms pequeo que tamao
de bloque de L-2
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
48/101
Interacciones con CPU Avanzadas
CPUs Out-of-order pueden ejecutar
instrucciones durante un cache missAlmacenaje pendiente permanece en unidad
load/store
Instrucciones dependientes esperan en estaciones dereservacin Instrucciones independientes continan su ejecucin
Efecto de los miss depende del flujo de datos
del programa Mucho ms difcil de analizar Se utilizan simulaciones de sistemas
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
49/101
Interacciones con Software
Los misses dependen
de los patrones deacceso a memoria Comportamiento del
algoritmo
Optimizacin delcompilador para accesosde memoria
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Memoria Virtual
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
50/101
Memoria Virtual Se utiliza la memoria principal como un cache del
almacenamiento secundario (discos) Manejado conjuntamente entre el hardware de la CPU y
el Sistema Operativo (SO)
Los programas comparten la memoria principal Cada uno obtiene un espacio virtual de direcciones
privadas manteniendo sus cdigos y datos utilizadosfrecuentemente
Protegidos de otros programas
La CPU y el SO traducen las direcciones virtuales
a direcciones fsicas El bloque MV es llamado una pgina La traduccin de MV fallida (miss) es llamada una
pgina fallida (page fault)ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
51/101
Traduccin de Direcciones
Pginas de tamao fijo (p.e., 4K)
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
52/101
Penalidad por Page Fault
Cuando sucede un page fault, la pgina debeser buscada en el disco Toma millones de ciclos de reloj
Manejado por el cdigo del SO
Se trata de minimizar el ndice de page fault Ubicacin asociatividad completa
Algoritmos de remplazo inteligentes
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
53/101
Tabla de Paginas
Almacena informacin de ubicacin
Arreglo de entradas a la tabla de pginas, indexadopor el nmero de la pgina virtual Registro de tabla de pginas en la CPU apunta a
tabla de pginas en la memoria fsica
Si la pgina est presente en memoria El PTE (Page Table Entry) almacena el nmero dela pgina fsica
Mas otros bits de estado (referenced, dirty, )
Si la pgina no est presente El PTE puede referirse a la ubicacin en el espacioswap en el disco
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
54/101
Traduccin utilizando una Tabla de Pginas
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
55/101
Mapeo de Pginas al Almacenamiento
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
R l E it
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
56/101
Remplazos y Escritura
Para reducir el ndice de page fault, preferir
remplazo Least-Recently Used (LRU) Bit reference (tambin llamado use bit) en PTE
puesto en 1 cuando hay acceso a la pgina Peridicamente limpiado a 0 por el SO
Una pgina con bit reference = 0, no ha sidoutilizada recientemente
Escrituras en disco toman millones de ciclos Bloques completos, no ubicaciones individuales
Write-through no es prctico Se utiliza write-back Bit dirty se activa en el PTE cuando la pgina es
escritaICEE1012 Sistemas Digitales IISemestre Primavera 2015
Traduccin Rpida Utilizando un TLB
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
57/101
Traduccin Rpida Utilizando un TLB
Traduccin de direcciones pareciera que
requieren referencias de memoria adicionales Uno para accesar el PTE Luego el acceso a memoria real
Pero el acceso a las tablas de pgina tiene buena
localidadAs se utiliza un cache rpido de PTEs en la CPU Llamado un Translation Look-aside Buffer (TLB) Se podra llamar mejor Translation Cache
Tpico: 16512 PTEs, 0.51 ciclos por hit, 10100ciclos por miss, 0.01%1% ndice de miss
Los misses podran ser manejados por hardware osoftware
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
58/101
Traduccin Rpida Utilizando TLB
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
59/101
Misses del TLB
Si la pgina esta en memoria Cargar el PTE de la memoria y reintentar Podra ser manejada en hardware
Puede ser complejo para estructuras de tablas de pginams complicadas
O en softwareGenerar una excepcin (interrupcin) especial, conmanejador optimizado
Si la pgina no esta en memoria (page fault) El SO maneja la bsqueda de la pgina y actualiza la
tabla de pginas Luego reinicia la instruccin fallada
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
60/101
Manejador de Miss del TLB
Un miss del TLB indica Pgina presente, pero PTE no en el TLB
Pgina no presente
Se debe reconocer el miss del TLB antes que
el registro de destino sea remplazado Generar excepcin
Manejador copia PTE de memoria al TLB Entonces reinicia instruccin
Si la pgina no est presente, ocurrir un page fault
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
61/101
Manejador de Page Fault
Utilizar la direccin virtual fallida para encontrar elPTE
Localizar pgina en el disco
Elegir la pgina a remplazar Si dirty, escribir primero a disco
Leer pgina a memoria y actualizar tabla depginas
Hacer que el proceso sea ejecutable nuevamente Reiniciar desde la instruccin fallida
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
TLB e Interaccin con el Cache (Intrinsity
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
62/101
( y
FastMATH) Si tag del cache
utiliza direccionesfsicas Necesita traducir antes
de bsqueda en elcache
Alternativa: utilizartag de direccionesvirtuales Complicaciones debido
al aliasing Direcciones virtuales
diferentes paradirecciones fsicascompartidas
ICEE1012 Sistemas Digitales II
TLB e Interaccin con el Cache (Intrinsity
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
63/101
TLB e Interaccin con el Cache (Intrinsity
FastMATH)
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Un TLB en la Jerarq a de la Memoria
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
64/101
Un TLB en la Jerarqua de la Memoria
CPUTLB
LookupCache
Main
Memory
VA PA miss
hit
data
Trans-
lation
hit
miss
t t
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Combinaciones de Eventos en el TLB
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
65/101
Combinaciones de Eventos en el TLB
TLBPageTable
Cache Posible? Bajo qu circunstancias?
Hit Hit HitHit Hit Miss
Miss Hit Hit
Miss Hit Miss
Miss Miss Miss
Hit Miss Miss/
HitMiss Miss Hit
Combinaciones de Eventos en el TLB
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
66/101
Combinaciones de Eventos en el TLB
TLBPageTable
Cache Posible? Bajo qu circunstancias?
Hit Hit HitHit Hit Miss
Miss Hit Hit
Miss Hit Miss
Miss Miss Miss
Hit Miss Miss/
HitMiss Miss Hit
Silo que se quiere!
Siaunque no se chequea la page tablesi se tiene un hit en el TLB
SiTLB miss, PA en page table
SiTLB miss, PA en page table, perodato no en el cache
Sipage fault
Imposibletraduccin del TLB no es posible
si pgina no est presente en memoriaImposibledato no permitido en cache sila pgina no est en memoria
P t i l M i Vi t l
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
67/101
Proteccin con la Memoria Virtual
Diferentes tareas pueden compartir partes de susespacios de direcciones virtuales Pero necesitan protegerse contra accesos errantes
Requiere asistencia del SO
Soporte de hardware para proteccin del SO Modo supervisor privilegiado (llamado tambin modo
kernel o ejecutivo) a diferencia del modo usuario
Instrucciones privilegiadas
Tablas de pgina y otra informacin de estado sloaccesible en modo supervisor
Excepcin; llamada de sistema (p.e., syscall en MIPS)
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Resumen Memoria Virtual
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
68/101
El manejar la jerarqua de memoria entre la memoria principal esimportante dado el alto costo de las page faults. Para reducir losmisses: Pginas son grandes para aprovechar la localidad espacial y reducir el ndice
de miss
El mapeo entre las direcciones virtuales y las direcciones fsicas,implementado con una Tabla de Pgina, es completamente asociativo de talmanera que la pgina virtual puede ser ubicada en cualquier parte de la
memoria principal El sistema operativo utiliza tcnicas como LRU y bit de referencia para elegir
qu pgina remplazar
El escribir en disco es muy caro, por ello se utiliza el esquema write-back. El dirty bit permite rastrear si la pgina cambi.
Proteccin a los procesos: uso del SO para efectuar los cambios TLB acta como un cache para la traduccin de la Tabla de Pgina. Esto
evita que el procesador tenga que accesar la TP, residente en memoria,para traducir cada acceso.
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Caractersticas Cuantitativas de la
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
69/101
Caractersticas Cuantitativas de la
Jerarqua de Memorias
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
L J d l M i
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
70/101
La Jerarqua de la Memoria
Principios comunes se aplican a todos losniveles de la jerarqua de la memoria Basado en conceptos de caching
A cada nivel en la jerarqua Ubicacin de bloques
Encontrar un bloque
Remplazo en un miss Poltica de escritura
ICEE1012 Sistemas Digitales II
El uadro Global
Semestre Primavera 2015
Ubicacin de un Bloque
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
71/101
Ubicacin de un Bloque
Determinado por la asociatividad Mapeado directamente (asociativo de 1-via)
Una alternativa por ubicacin
Conjunto asociativo de n-vas nalternativas dentro de un conjunto
Asociatividad completa Cualquier ubicacin
Asociatividad ms alta reduce el ndice de miss
Aumenta la complejidad, costo y tiempo de acceso
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Ubi i d Bl A i i id d
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
72/101
Ubicacin de un Bloque y Asociatividad
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Encontrar un Bloque
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
73/101
Encontrar un Bloque
Caches de hardware Reduce comparaciones para reducir costos
Memoria virtual Completa bsqueda de tabla hace factible laasociatividad completa
Beneficio en reducir ndice de missICEE1012 Sistemas Digitales II
Asociatividad Mtodo ubicacinComparaciones
de tagMapeado directamente ndice 1
Conjunto asociativo den-vas
Activar ndice, luego buscarentradas en el conjunto
n
Completamente
asociativa
Buscar todas las entradas #entradas
Completa bsqueda de tabla 0
Semestre Primavera 2015
R l
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
74/101
Reemplazo
Eleccin de entrada para reemplazar un miss Least recently used (LRU)
Hardware complejo y costoso para alta asociatividad
Aleatorio (Random) Cercano a LRU, ms fcil de implementar
Memoria virtualAproximacin a LRU con soporte de hardware
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Poltica de Escritura
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
75/101
Poltica de Escritura
Write-throughActualiza ambos niveles: alto y bajo Simplifica el remplazo, pero puede requerir un buffer
de escritura
Write-backActualiza el nivel alto solamenteActualiza el nivel inferior cuando el bloque es
remplazado Necesita mantener ms estados
Memoria Virtual Slo es factible el write-back, dada la latencia de
escritura en disco
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Fuentes de los Misses
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
76/101
Fuentes de los Misses
Misses obligados (compulsory misses tambin
llamados cold start misses) Primer acceso a un bloque Misses de capacidad (capacity misses)
Debido al tamao de cache finito
Un bloque remplazado es accesado ms tardenuevamente
Misses de conflicto (conflict misses tambinllamados collision misses)
En un cache no completamente asociativo Debido a la competencia por entradas en el conjunto No ocurrira en un cache completamente asociativo
del mismo tamao totalICEE1012 Sistemas Digitales IISemestre Primavera 2015
Pros y Contras en el Diseo del Cache
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
77/101
ICEE1012 Sistemas Digitales II
Pros y Contras en el Diseo del Cache
Cambio de Diseo Efecto en el ndice
de miss
Efecto performance
negativo
Incrementar tamaocache
Disminuye capacidadde misses
Puede aumentar el tiempode acceso
Incrementar
asociatividad
Disminuye conflicto
de misses
Puede aumentar el tiempo
de accesoIncrementar tamaodel bloque
Disminuyen missesobligados
Aumenta la penalidad pormiss. Para bloques muygrande, puede aumentarel ndice de miss debido
a la contaminacin
Semestre Primavera 2015
Maquinas Virtuales
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
78/101
Maquinas Virtuales
Computador principal (Host) emula sistemaoperativo y recursos de una mquina husped(guest)Aislacin mejorada de mltiples huspedes
Evita problemas de seguridad y confiabilidad
Agrega el compartir recursos Virtualizacin tiene algn impacto en la performance
Factible con computadores modernos de alta performance
Ejemplos: IBM VM/370 (tecnologa de los 70!) VMWare Microsoft Virtual PC
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Monitor Mquina Virtual (Virtual Machine
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
79/101
q (
Monitor, VMM)
Mapea recursos virtuales a recursos fsicos Memoria, Dispositivos E/S, CPUs, etc. Cdigos del husped corren en mquina nativa
en modo usuario
Interrupciones (traps) a la VMM en instruccionesprivilegiadas y acceso a recursos protegidos
SO husped puede ser diferente al SO delhost
VMM maneja los dispositivos reales de E/S Emula dispositivos de E/S virtuales genricos para el
husped
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Ejemplo: Virtualizacin del Timer
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
80/101
Ejemplo: Virtualizacin del Timer
En una mquina nativa, en interrupcin del timer SO suspende proceso actual, maneja la interrupcin,
selecciona y reinicia el proceso siguiente
Con VMM (Virtual Machine Monitor) VMM suspende la VM actual, maneja la interrupcin,
selecciona y reinicia la siguiente VM
Si una VM requiere interrupciones de un timer VMM emula un timer virtual
Emula la interrupcin para la VM cuando ocurre lainterrupcin del timer fsico
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Soporte Conjunto de Instrucciones
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
81/101
Soporte Conjunto de Instrucciones
Modos Usuario y de Sistema
Instrucciones privilegiadas slo disponibles enmodo sistema Trap al sistema si es ejecutado en modo usuario
Todos los recursos fsicos slo accesiblesutilizando instrucciones privilegiadas Incluyendo tablas de pgina, controles de
interrupciones, registros de E/S, etc.
Renacimiento del soporte de virtualizacinAdaptacin de ISAs actuales (p.e., x86)
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Diseo Control del Cache
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
82/101
Diseo Control del Cache
Ejemplo caractersticas de un cache Mapeado directo, write-back, write allocate Tamao bloque: 4 palabras (16 bytes) Tamao cache: 16 KB (1024 bloques) Direcciones 32-bit al byte
Valid bit y dirty bit por bloque Bloqueo del cache
CPU espera hasta que el acceso esta completo
ICEE1012 Sistemas Digitales II
Tag Index Offset
03491031
4 bits10 bits18 bits
Semestre Primavera 2015
Seales de la Interface
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
83/101
Seales de la Interface
ICEE1012 Sistemas Digitales II
CacheCPU Memoria
Read/Write
Vlido
Direccin
Write Data
Read Data
Ready
32
32
32
Read/Write
Vlido
Direccin
Write Data
Read Data
Ready
32
128
128
Mltiples ciclospor acceso
Semestre Primavera 2015
Mquinas de Estado Finito (FSM)
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
84/101
Mquinas de Estado Finito (FSM)
Utilizar un FSM para los
pasos de control de lasecuencia Definir estados, transiciones
en cada flanco del reloj Estados son codificados en
binario Estado actual guardado en un
registro Estado siguiente
= fn(estado actual,
entradas actuales) Control de seales de salida
= fo(estado actual). Mquina
de MooreICEE1012 Sistemas Digitales IISemestre Primavera 2015
Controlador FSM del Cache
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
85/101
Controlador FSM del Cache
ICEE1012 Sistemas Digitales II
Se podraparticionar enestados
separadospara reducir el
tiempo de
ciclo del reloj
Semestre Primavera 2015
Problema de Coherencia del Cache
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
86/101
Problema de Coherencia del Cache
Supongamos dos ncleos de CPU compartiendo
un espacio de direcciones fsicas Write-through en caches
ICEE1012 Sistemas Digitales II
Pasotiempo
EventoCacheCPU A
CacheCPU B
Memoria
0 0
1 CPU A lee X 0 0
2 CPU B lee X 0 0 0
3 CPU A escribe 1 a X 1 0 1
Semestre Primavera 2015
Definicin de Coherencia
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
87/101
Definicin de Coherencia
Informalmente: Lectura retorna valor escrito msrecientemente
Formalmente: P escribe X; P lee X (no interviene la escritura)lectura retorna valor escrito
P1escribe X; P2lee X (suficientemente ms tarde)lectura retorna valor escrito c.f. CPU B lee X despus de paso 3 en el ejemplo
P1escribe X, P2escribe X
todos los procesadores ven las escrituras en elmismo orden Se termina con el mismo valor final para X
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Protocolos de Coherencia del Cache
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
88/101
Protocolos de Coherencia del Cache
Operaciones realizadas por los caches enmultiprocesadores para asegurar la coherencia Migracin de datos a los caches locales
Reduce ancho de banda para la memoria compartida
Replicacin de datos compartidos en lectura Reduce la contencin por accesos
Protocolo Espiar (snooping) Cada cache monitorea bus de lecturas/escrituras
Protocolos basados en directorios Caches y registros de memoria compartiendo
estados de bloques en un directorio
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Inhabilitacin en Protocolo Snooping
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
89/101
p g
Cache obtiene acceso exclusivo a un bloque cuando
ste va a ser escrito Difundir un mensaje de inhabilitacin en el bus Lecturas subsecuentes producen otros misses de cache
Tomando control del cache entrega valores actualizados
ICEE1012 Sistemas Digitales II
Actividad CPU Actividad Bus CacheCPU A
CacheCPU B
Memoria
0
CPU A lee X Miss de cache para X 0 0
CPU B lee X Miss de cache para X 0 0 0CPU A escribe 1 en X Inhabilitado para X 1 0
CPU B lee X Miss de cache para X 1 1 1
Semestre Primavera 2015
Consistencia de la Memoria
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
90/101
Cuando lo que se escribe es visto por otrosprocesadores
Visto significa que una lectura retorna el valor escrito No puede ser instantneamente
Supuestos Una escritura se completa slo cuando todos los
procesadores la han visto Un procesador no vuelve a pedir otras escrituras con otros
accesos
Consecuencia P escribe en X entonces escribe en Y
todos los procesadores que ven el nuevo Y tambin ven elnuevo X Los procesadores pueden volver a pedir lecturas, pero no
escriturasICEE1012 Sistemas Digitales IISemestre Primavera 2015
Cache Multinivel On-Chip
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
91/101
Cache Multinivel On Chip
ICEE1012 Sistemas Digitales II
Por ncleo: 32KB L1 I-cache, 32KB L1 D-cache, 512KB L2 cache
Procesador Intel Nehalem de 4 ncleos
Semestre Primavera 2015
Cache Multinivel On-Chip
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
92/101
p
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Procesador AMD Opteron X4 (Barcelona) de 4 ncleos
Organizacin TLB de 2 Niveles
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
93/101
g
ICEE1012 Sistemas Digitales II
Intel Nehalem AMD Opteron X4
Direccionamiento
Virtual
48 bits 48 bits
DireccionamientoFsico
44 bits 48 bits
Tamao Pgina 4KB, 2/4MB 4KB, 2/4MB
TLB L1
(por ncleo)
I-TLB L1: 128 entradas para
pginas pequeas, 7 por hebra (2)para paginas grandes
D-TLB L2: 64 entradas parapginas pequeas, 32 para paginasgrandes
Ambos 4 vas, remplazo LRU
I-TLB L1: 48 entradas
D-TLB L1: 48 entradasAmbos completamenteasociativos, remplazo LRU
TLB L2(por ncleo)
L2 TLB nico: 512 entradas4 vas, Remplazo LRU
I-TLB L2: 512 entradasD-TLB L2: 512 entradas
Ambos 4 vas, LRU round-robin
Misses TLB Manejado en hardware Manejado en hardware
Semestre Primavera 2015
Organizacin Cache 3 Niveles
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
94/101
ICEE1012 Sistemas Digitales II
Intel Nehalem AMD Opteron X4
Caches L1(por ncleo)
I-cache L1: 32KB, bloques 64bytes, 4 vas, aprox. remplazoLRU, tiempo hit n/dD-cache L1: 32KB, bloques 64bytes, 8 vas, aprox. remplazoLRU, write-back/allocate,tiempo hit n/d
I-cache L1: 32KB, bloques 64bytes, 2 vas, remplazo LRU,tiempo hit 3 ciclosD-cache L1: 32KB, bloques 64bytes, 2 vas, remplazo LRU,write-back/allocate, tiempo hit9 ciclos
Cacheunificado L2(por ncleo)
256KB, bloques 64 bytes, 8vas, aprox. remplazo LRU,write-back/allocate, tiempohit n/d
512KB, bloques 64 bytes, 16 vas,aprox. remplazo LRU, write-back/allocate, tiempo hit n/d
Cache
unificado L3(compartido)
8MB, bloques 64 bytes, 16
vas, remplazo n/d, write-back/allocate, tiempo hitn/d
2MB, bloques 64 bytes, 32 vas,
bloque remplazo compartido porpocos ncleos, write-back/allocate, tiempo hit 32ciclos
n/d: dato no disponibleSemestre Primavera 2015
Evolucin Memorias Cache en MIPS
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
95/101
Evolucin Memorias Cache en MIPS
Ao CPU MHz Cache L1 Cache L2
1985 R2000 16,7 No tiene No tiene
1990 R3000 33Direct Mapped32KB
No tiene
1991 R4000 100Direct Mapped8KB
Direct Mapped1MB
1995 R10000 250 Two-Way 32KB Two-Way 4MB
2001 R14000 600 Two-Way 32KB Two-Way 16MB
2004 R16000A 800 Two-Way 64KB Two-Way 16MB
2010 MIPS 32 1074K 1500 32KTamaosvariables
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Evolucin Memorias Cache en x86
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
96/101
Procesador AoFrecuencia
(MHz)
Data Cache
L1
Instr. Cache
L1Cache L2
80386 1985 16-25 No tiene No tiene No tiene
80486 1989 25-100 8KB nico Fuera del Chip
Pentium 1993 60-300 8KB 8KB Fuera del Chip
Pentium Pro 1995 150-200 8KB 8KB 256KB-1MB enMCM
Pentium II 1997 233-450 16KB 16KB 256-512KB enCartridge
Pentium III 1999 450-1400 16KB 16KB 256-512KB en elChip
Pentium 4 2001 1400-3730 8-16KB 12KB OperationTrace
256KB-2M en elChip
Pentium M 2003 900-2130 32KB 32KB 1-2MB en el Chip
Core Duo 2005 1500-2160 32KB/Core 32KB/Core 2MB compartidoen el Chip
Core i7 2009 1600-3600 32KB/Core 32KB/Core 256KB/Core + 4-15MB L3
Semestre Primavera 2015 ICEE1012 Sistemas Digitales II
Ms Reducciones de Penalidad Miss
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
97/101
Retornar primero palabra requerida
Luego llenar hacia atrs resto del bloque Procesamiento non-blocking miss
Hit bajo un miss: permite que hits procedan
Miss bajo un miss: permite mltiples misses
pendientes prefetch en hardware : instrucciones y datos
Opteron X4: bank interleaved L1 D-cache
Dos accesos concurrentes por ciclo Intel: poltica de inclusinen jerarqua de
memoria. AMD: exclusinen L1 y L2ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Peligros
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
98/101
g
Byte vs. direccionamiento palabra Ejemplo: cache de 32 bytes mapeado directamente,
bloques de 4 bytes Byte 36 mapea el bloque 1
Palabra 36 mapea el bloque 4
Ignorar que el sistema de la memoria afecta elescribir o generar cdigos Ejemplo: iterar sobre filas vs. columnas de arreglos
Grandes zancadas resultan una pobre localidad
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Peligros
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
99/101
g
En multiprocesadores con cache L2 o L3
compartido Menor asociatividad que ncleos resultan misses en
conflicto
Mas ncleos necesidad de aumentar asociatividad
Utilizar AMAT para evaluar performance deprocesadores out-of-order Ignora efecto de accesos no bloqueados
En vez de ello, evaluar performance por simulacin
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Peligros
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
100/101
Extender el rango de direcciones utilizandosegmentos P.e., Intel 80286
Pero un segmento no siempre es lo suficientementegrande
Hace complicada la aritmtica del clculo de direcciones Implementar una VMM en una ISA no diseada
para virtualizacin P.e., instrucciones no privilegiada accesando recursos
de hardware Ya sea extender el ISA o requerir que el SO husped no
utilice instrucciones problemticas
ICEE1012 Sistemas Digitales IISemestre Primavera 2015
Comentarios Finales
-
7/24/2019 ICEE1012 Capitulo 5 La Memoria
101/101
Memorias rpidas son pequeas, memorias
grandes son lentas Realmente queremos memorias rpidas y grandes Caching nos da esa ilusin
Principio de localidad Programas utilizan frecuentemente una pequea parte
de su espacio de memoria
Jerarqua de la memoria Cache L1 cache L2 memoria DRAM disk
Diseo del sistema de la memoria es crtico paralos multiprocesadores