820 likes | 963 Views
Departamento de Ingeniería Electrónica Facultad de Ingeniería. Circuitos Digitales II. Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre 2012-1 Prof. Eugenio Duque Pérez eaduque@udea.edu.co Prof. Felipe Cabarcas fcabarcas@udea.edu.co.
E N D
Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre 2012-1 Prof. Eugenio Duque Pérez eaduque@udea.edu.co Prof. Felipe Cabarcas fcabarcas@udea.edu.co
El contenido de esta clase se complementa con el capítulo 7 del texto :Computer OrganizationDavid A. Patterson, John L. Hennessy.Tercera Edición
Recordando : Los cinco componentes de cualquier computador Con: • registros para almacenar variables, y • modos de direccionamiento para accesar la memoria.
Ejemplos reales de sistemas computacionales y sus jerarquías de memoria
Jerarquía de Memoria Soportada en la diferencia de las tecnologías de memoria (SRAM,DRAM y Magnética) y en el principio de localidad (espacial, y temporal).
Cache : Consideraciones y términos (…cont) • Miss Penalty (Tiempo de penalización) : • Tiempo necesario para recuperar una falta y suministrar el bloque requerido a la CPU.
Calculating Miss Penalties • What happens during a miss? 1.Ask for data (send address to DRAM), 1 cycle typical Address Cache(k-wordblocks) DRAM 2. DRAM finds and reads the data e.g. 5 cycles CPU 3. DRAM delivers 1 word each cycle
Fundamentos de Cache Mapeamiento Directo y Desempeño
Accessing Cache (...cont) 31 30 29 ... 15 14 13 12 11 10 9 ... 3 2 1 0 Address 20 10 Slot # V Tag Data 0 Total cache size:1024x (1 + 20 + 32) = 53 Kbits 1 2 1022 1023 32 20 Tag Data = Hit
Exploiting Spatial Locality: Bigger Blocks • To better exploit spatial locality caches fetch several words after a miss V Tag Data V Tag Data 0 0 1 1 2 2 511 64 1022 1023 choose desired word 32 20 20 Data 32 Data
Example: 4-word Blocks Read address 28 (0011100): • Block index 01, • Word 11 within block, • tag 0. Is stored in Tag field Chooses word within block 0 0 1 1 1 0 0 Chooses byte within word Chooses slot