Documente Academic
Documente Profesional
Documente Cultură
Memoria Cache
Pioneros:
Visionarios.
"640K debe ser suficiente para cualquiera.
Bill Gates, 1981
65 nm
nanotechnology
Buffer
Transistor
Bit de datos de salida al bus
Diagrama de un bit elemental de DRAM (Dynamic RAM).
Almacena la informacin como una carga en una capacidad
espuria de un transistor.
Una celda (un bit) se implementa con un solo transistor
mxima capacidad de almacenamiento por chip.
Ese transistor consume mnima energa Muy bajo consumo.
Al leer el bit, se descarga la capacidad necesita regenerar la
carga aumenta entonces el tiempo de acceso de la celda.
Autor: Alejandro Furfaro - 2006 4
Tecnologa de memorias: RAM Esttica
Seleccin
3 4 6
1
2 5
ADDRESS
CONTROL
tiempos de acceso a
DATOS
Bus Local del
Procesador memoria.
Buffer Buffer
Bus de
de de
En este escenario, el
Control
Datos Address procesador necesita
generar wait states para
esperar que la memoria
est lista (READY) para
el acceso.
BUS DEL SISTEMA
Tiene sentido lograr
altos clocks en los
procesadores si no puede
Memoria del E/S del
aprovecharlos por tener
Sistema Sistema que esperar (wait) a la
memoria? 6
Autor: Alejandro Furfaro - 2006
Crecimiento de la velocidad de clock
de las CPU versus memoria
1100
1000
Pentium III
1GHz
900
800
700
600
Pentium II
400 MHz.
500
400
486 DX4
100 MHz.
300
Memorias
200
386 DX
33 MHz
100
89 90
Autor: Alejandro Furfaro - 2006
91 92 93 94 95 96 97 98 99 00 7
El problema
RAM dinmica (DRAM)
2 Consumo mnimo.
2 Capacidad de almacenamiento comparativamente alta.
2 Costo por bit bajo.
2 Tiempo de acceso alto (lento), debido al circuito de
regeneracin de carga.
2 Si construimos el banco de memoria utilizando RAM
dinmica, no aprovechamos la velocidad del procesador.
RAM esttica (SRAM)
2 Alto consumo relativo.
2 Capacidad de almacenamiento comparativamente baja.
2 Costo por bit alto.
2 Tiempo de acceso bajo (es mas rpida).
2 Si construimos el banco de memoria utilizando RAM
esttica, el costo y el consumo de la computadora son altos.
Autor: Alejandro Furfaro - 2006 8
La solucin: Memoria cache
Se trata de un banco de SRAM de muy alta
velocidad, que contiene una copia de los datos e
instrucciones que estn en memoria principal
El arte consiste en que esta copia est disponible
justo cuando el procesador la necesita permitindole
acceder a esos tems sin recurrir a wait states.
Combinada con una gran cantidad de memoria
DRAM, para almacenar el resto de cdigos y datos,
resuelve el problema mediante una solucin de
compromiso tpica.
Requiere de hardware adicional que asegure que
este pequeo banco de memoria cache contenga los
datos e instrucciones mas frecuentemente utilizados
por el procesador.
Autor: Alejandro Furfaro - 2006 9
Referencias
El tamao del banco de memoria cache debe ser:
2 Suficientemente grande para que el procesador resuelva la
mayor cantidad posible de bsquedas de cdigo y datos en
esta memoria asegurando una alta performance
2 Suficientemente pequea para no afectar el consumo ni el
costo del sistema.
Se dice que se logra un hit cuando se accede a un
tem (dato o cdigo) y ste se encuentra en la
memoria cache.
En caso contrario, se dice que el resultado del
acceso es un miss.
Se espera un hit rate lo mas alto posible
Inicio
Fin
Procesador
CONTROL
ADDRESS
DATOS
Bus Local del
Memoria Controlador de procesador
cache CONTROL Memoria cach
Buffer Buffer
de de Bus Local del
Datos Address controlador
cache
Bus de
Control
Subsistema cach
Memoria
Hardware adicional. Mantiene el cache
Controlador de SRAM con los datos mas frecuentemente
Memoria cach ultrarrpida
(cache) utilizados por el procesador
Bus del Sistema
Control del bus local del
controlador cache Bus de Address
del procesador
Interfaz
Directorio
Arbitracin del Bus
con el
de Cache
Bus Local Bus de Snoop
Memoria
DRAM Control del bus Local
del Procesador Interfaz con Bus de Control de
el Control del
la Memoria Cache
Procesador Cache
Decodificaciones del bus
local del procesador
Configuracin
Autor: Alejandro Furfaro - 2006 15
Organizacin del cach: Mapeo Directo
Bit de validez del Tag 1 Lnea = 4 bytes
Lnea
Tag
17 bits Lnea
Bits de validez
Set 0 de las lneas
32 Kbytes
(igual tamao
Que el del cache)
Set 1
Pag.217 -1
Set 1023
A 31 A 15 A 14 A5 A 4 A 2
Tag de 17 bits (1 de las 217 pginas) Set Address (1 de 1024 sets) Selector de
Lnea
(1 de 8 lneas)
1
Nro de Set
1023
Directorio de
Cach Interno
Autor: Alejandro Furfaro - 2006 17
Organizacion del cache: Asociativo de dos
vas
1 Lnea = 4 bytes
Bit de validez del Tag
Lnea Lnea
Tag
16 Kbytes
Bits
18 bits LRU 18 bits
Set 1
Pag.218 -1
Bits
18 bits 18 bits
LRU
Set 512
Selector de
Tag de 18 bits (1 de las 218 pginas) Set Address (1 de 512 sets)
Lnea
(1 de 8 lneas)
1
Nro de Set
512
Directorio de
Cach Interno
Autor: Alejandro Furfaro - 2006 19
Manejo del contenido
Algoritmos de reemplazo del contenido
de la memoria cache
2 LRU: Least Recently Used.
Se corresponde con el principio de vecindad
temporal.
2 LFU: Last Frecuently Used
2 Random
2 FIFO
Resultado
Una vez en rgimen ejecuta a razn de una
instruccin por ciclo de clock
CONTROL
CONTROL
ADDRESS
ADDRESS
DATOS
DATOS
MemoriaCONTROL Controlador de
cache Memoria
Memoria cach CONTROL Controlador de
cache Memoria cach
Buffer Buffer
de de SNOOP BUS Buffer Buffer
Datos Address de de
Datos Address
SNOOP BUS
Cache
Level1
CPU
On chip
Cache Cache
Level 2 controller