Академический Документы
Профессиональный Документы
Культура Документы
2011
Memoria cache
Memorias: Evolucin
Pioneros: Maurice Wilkes con la primer memoria de tanque de mercurio para la computadora EDSAC. 2 bytes: 1947.
Visionarios... 640K debe ser suciente para cualquiera. Bill Gates, 1981.
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache
Memoria cache
Imgenes obtenidas con TEM (Transmission Electron Microscope) de una cepa del virus de la gripe, y de un transistor construido con la tecnologa de 65 nm utilizada desde el ao 2005 en el Procesador Pentium IV y posteriores.
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache
Memoria cache
Buffer
Transistor
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.
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache
Memoria cache
Almacena la informacin en un biestable. Una celda (un bit) se compone de seis transistores menor capacidad de almacenamiento por chip. 3 transistores consumen energa mxima en forma permanente y los otros 3 consumen mnima energa Mayor consumo. La lectura es directa y no destructiva tiempo de acceso muy bajo.
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache
Memoria cache
Procesador
CONTROL ADDRESS DATOS
Bus de control
Buffer de datos
Buffer de address
Memoria cache
89
90
91
92
93
94
95
96
97
98
99
00
Memoria cache
El problema
RAM dinmica (DRAM)
Consumo mnimo. Capacidad de almacenamiento comparativamente alta. Costo por bit bajo. Tiempo de acceso alto (lento), debido al circuito de regeneracin de carga. Si construmos el banco de memoria utilizando RAM dinmica, no aprovechamos la velocidad del procesador.
Memoria cache
Memoria cache
Referencias
El tamao del banco de memoria cache debe ser:
Sucientemente grande para que el procesador resuelva la mayor cantidad posible de bsquedas de cdigo y datos en esta memoria asegurando una alta performance. Sucientemente 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 ms alto posible hit rate =
Cantidad de accesos con presencia en Memoria Cache Cantidad total de accesos a memoria
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache
Memoria cache
Hit!
Miss
Fin
Memoria cache
CONTROL
Buffer de Datos
DATOS
Memoria cach
ADDRESS
Buffer de Address
Bus de control
Memoria cache
El controlador cache trabaja mediante dos principios que surgen de analizar el comportamiento de los algoritmos de software que se emplean habitualmente.
Principio de vecindad temporal: Si un tem es referenciado, la probabilidad de ser referenciado en el futuro inmediato es alta. Principio de vecindad espacial: Si un tem es referenciado, es altamente probable que se referencie a los tems vecinos a ste. Ejemplo: Algoritmo de convolucin i, j, suma, se utilizan a menudo. Por lo tanto si se mantienen en el cache, el tiempo de acceso a estas variables por parte del procesador es ptimo.
Memoria cache
Lnea
Lnea: Elemento mnimo de palabra de datos dentro del cache. Corresponde a un mltiplo del tamao de la palabra de datos de memoria. Razn: Cuando se direcciona un tem en memoria generalmente se requerir de los tems que lo rodean (Principio de vecindad espacial)
Dr. Ing. Marcelo Risk
Ancho de palabra
Memoria cache
Memoria Cache
Procesador
Baja capacidad, pero accesible a la velocidad del procesador!
Hardware adicional. Mantiene el cache con los datos ms frecuentemente utilizados por el procesador.
Directorio de Cache
Memoria DRAM
Control del bus local del procesador Decodificacin del bus local del procesador
Control de Cache
Configuracin
Memoria cache
1 lnea = 4 bytes
Lnea
Lnea
Pg. 217 - 1
Set 1023
Pg. 0
Memoria cache
Nro. de Set
Memoria cache
Bits LRU
18 bits
Lnea
18 bits
Set 1
Bits LRU
18 bits
18 bits
Set 512
Bits LRU
18 bits
Pg. 218
Pg. 0
Memoria cache
Nro. de Set
Memoria cache
Memoria cache
Dec.FI Inst. 1
Dec. Inst. 2
Dec. Inst. 3
Dec. Inst. 4
Dec. Inst. 5
Dec. Inst. 6
Bsq. Op. 1
Bsq. Op. 2
Bsq. Op. 3
Bsq. Op. 4
Bsq. Op. 5
Ejec. Inst. 1
Ejec. Inst. 2
Ejec. Inst. 3
Ejec. Inst. 4
Memoria cache
Bsq. Inst. 1
Bsq. Inst. 2
Bsq. Inst. 3
Bsq. Inst. 4
Bsq. Inst. 5
Bsq. Inst. 6
Bsq. Inst. 7
Bsq. Inst. 8
Bsq. Inst. 9
Bsq. Inst. 10
Bsq. Inst. 11
Dec.FI Inst. 1
Dec. Inst. 2
Dec. Inst. 3
Dec. Inst. 4
Dec. Inst. 5
Dec. Inst. 6
Dec.FI Inst. 7
Dec. Inst. 8
Dec. Inst. 9
Dec. Inst. 10
PI PE
Bsq. Op. 1
Bsq. Op. 2
Bsq. Op. 3
Bsq. Op. 4
Bsq. Op. 5
Bsq. Op. 6
Bsq. Op. 7
Bsq. Op. 8
Bsq. Op. 9
LI E N ST
Ejec. Inst. 1
Ejec. Inst. 2
Ejec. Inst. 3
Ejec. Inst. 4
Ejec. Inst. 5
Ejec. Inst. 6
Ejec. Inst. 7
Ejec. Inst. 8
AL LE
Escrib. Escrib. Escrib. Escrib. Escrib. Escrib. Res. 1 Res. 2 Res. 3 Res. 4 Res. 5 Res. 6
Escrib. Res. 7
Memoria cache
Coherencia de un cache
Una variable que est en el cach tambin est alojada en alguna direccin de la DRAM. Ambos valores deben ser iguales. Cuando el procesador la modica hay varios modos de actuar:
Write through: el procesador escribe en la DRAM y el controlador cache refresca el cache con el dato actualizado. Write through buffered: el procesador actualiza la SRAM cache, y el controlador cache luego actualiza la copia en memoria DRAM mientras el procesador contina ejecutando instrucciones y usando datos de la memoria cache. Copy back: Se marcan las lneas de la memoria cache cuando el procesador escribe en ellas. Luego en el momento de eliminar esa lnea del cache el controlador cache deber actualizar la copia de DRAM.
Si el procesador realiza un miss mientras el controlador cache est accediendo a la DRAM para actualizar el valor, deber esperar hasta que controlador cache termine la actualizacin para recibir desde ste la habilitacin de las lneas de control
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache
Memoria cache
Procesador
DATOS
CONTROL
CONTROL
Buffer de Datos
Buffer de Address
SNOOP BUS
Buffer de Datos
DATOS
Memoria cach
Memoria cach
Buffer de Address
SNOOP BUS
Bus de control
Bus del cach Bus local del procesador Bus local del controlador cach BUS DEL SISTEMA
ADDRESS
Memoria cache
Multilevel cache
CPU
Cache Nivel 2
Controlador Cache
Memoria cache
Pentium:
Dos caches on-chip, uno para datos y otro para instrucciones. Tamao de cada cache: 8 Kbytes. Tamao de lnea: 32 bytes. Organizacin asociativa de 4-vas.
PowerPC 601:
Cache on-chip de 32 Kbytes. Tamao de lnea: 32 bytes. Organizacin asociativa de 8-vas.
Memoria cache
PowerPC 604:
Dos caches on-chip, uno para datos y otro para instrucciones. Tamao de cada cache: 16 Kbytes. Tamao de lnea: 32 bytes. Organizacin asociativa de 4-vas.
PowerPC 620:
Dos caches on-chip, uno para datos y otro para instrucciones. Tamao de cada cache: 32 bytes. Tamao de lnea: 64 bytes. Organizacin asociativa de 8-vas.
Dr. Ing. Marcelo Risk Organizacin del Computador 1 Memoria Cache