SlideShare una empresa de Scribd logo
Memoria Caché




Jerarquía de memoria

 Registros
 Cache nivel 1
 Cache nivel 2
 Memoria principal
 Cache de disco
 Disco
 Memoria óptica
 Cintas




                       1
Localidad de las referencias

 En el curso de la ejecución de un programa, las
 referencias a memoria tienden a estar
 agrupadas.
 Ejemplo: bucles, matrices, vectores.




Cache

 Cantidad pequeña de memoria rápida.
 Está entre la memoria principal normal y la CPU.
 Puede localizarse en el chip o módulo de la CPU.

                                   Transferencia de bloques

       Transferencia de palabras




                                                              Memoria
                                                              principal




                                                                          2
Operación de la cache:
           resumen

 La CPU solicita contenidos de la localización de
 memoria.
 Comprueba la cache para estos datos.
 Si está, la obtiene de la cache (rápidamente).
 Si no está, lee el bloque requerido a partir de la
 memoria principal hasta la cache.
 Después, de la cache los entrega a la CPU.
 La cache incluye etiquetas para identificar qué
 bloque de la memoria principal está en cada
 ranura de la cache.




Diseño de la cache

 Tamaño
 Función de correspondencia
 Algoritmo de sustitución
 Política de escritura
 Tamaño del bloque
 Número de caches




                                                      3
El tamaño importa

 Coste
   Una cache grande es costosa.
 Velocidad
   Cuanto más cache, más rapidez (hasta cierto punto).
   Comprobar la cache para acceder a los datos, lleva
   tiempo.




Organización típica de cache

                        Direcciones




                                          Buffer
                                      de direcciones
                                                       Bus del sistema




         Procesador




                                          Buffer
                                         de datos




                          Datos




                                                                         4
Función de correspondencia

 Cache de 64 kbytes.
 Los datos se transfieren en la cache en bloques
 de 4 bytes.
    Ejemplo: la cache es de 16k (214) líneas de 4 bytes.
 Memoria principal de 16Mbytes.
 Dirección de 24 bits:
    (224=16M).




Correspondencia directa
 Cada bloque de memoria principal se corresponde a
 sólo una línea de cache.
 Ejemplo: si un bloque se encuentra en la cache,
 debería estar en un lugar específico.
 La dirección está en dos partes.
 Los w bits menos significativos identifican una sóla
 palabra.
 La mayoría de los s bits significativos especifican un
 bloque de la memoria.
 Los s bits significativos se distribuyen en un campo de
 línea r en la cache y en una etiqueta de s - r (los más
 significativos).




                                                           5
Correspondencia directa:
Estructura de la dirección
Etiqueta s-r                  Línea o ranura r        Palabra w
    8                              14                       2

 Dirección de 24 bits.
 Identificador de palabra de 2 bits (bloques de 4 bytes).
 Identificador de bloque de 22 bits.
    Etiqueta de 8 bits (=22-14).
    Ranura o línea de 14 bits.
 Ninguno de los dos bloques en la misma línea tiene el
 mismo campo de etiqueta.
 Compruebe los contenidos de la cache mediante la
 búsqueda de la línea y la comprobación de la etiqueta.




Correspondencia directa:
Tabla de la línea de cache

   Línea de cache              Bloques de memoria
                               principal asignados
   0                           0, m, 2m, 3m, …, 2s-m
   1                           1, m+1, 2m+1, …, 2s-m+1

   m-1                         m-1, 2m-1, 3m-1, …, 2s-1




                                                                  6
Correspondencia directa:
Organización de cache

                                                                                                                               Memoria
                                                                              Cache                                            principal
                                                                       Etiqueta        Datos
            Dirección de memoria
 Etiqueta        Línea                 Palabra




 Comparación


                                    (Acierto de cache)




                         (Fallo de cache)




     Ejemplo de correspondencia
               directa
                                    Línea +
                    Etiqueta        Palabra       Datos




                                                                                                        Número
                                                                                  Etiqueta     Datos    de línea




                                                                                                       Cache de 16K palabras




                                            Memoria principal de 16 Mbytes




                                                                                                                                           7
Correspondencia directa:
ventajas y desventajas

 Simple.
 Poco costosa.
 Hay una posición concreta para cada bloque
 dado:
   Si un programa accede a dos bloques que se
   corresponden a la misma línea de forma repetida, las
   pérdidas de cache son muy grandes.




Correspondencia asociativa

 Un bloque de memoria principal pueda cargarse
 en cualquier línea de la cache.
 La dirección de memoria se interpreta como una
 etiqueta y una palabra.
 La etiqueta identifica unívocamente un bloque
 de memoria.
 Todas las etiquetas de líneas se examinan para
 buscar una coincidencia.
 La búsqueda de cache es costosa.




                                                          8
Organización de cache
totalmente asociativa

                                                                                                    Memoria principal
                                                         Etiqueta        Datos
        Dirección de memoria

        Etiqueta               Palabra




Comparación


                               (Acierto de cache)




                   (Fallo de cache)




Ejemplo de correspondencia
asociativa
                      Dirección           Datos




                                                                                         Número
                                                                    Etiqueta     Datos   de línea




                                                                     Cache de 16K palabras




                            Memoria principal de 16 MBytes




                                                                                                                        9
Correspondencia asociativa:
Estructura de la dirección
                                                        Palabra
                    Etiqueta 22 bits                    2 bits
 La etiqueta de 22 bits está almacenada con cada bloque
 de datos de 32 bits.
 Compare el campo de etiqueta con la entrada de
 etiqueta en la cache para comprobar si ha tenido éxito.
 La dirección de 2 bits menos significativa identifica qué
 palabra de 16 bits se necesita en un bloque de datos de
 32 bits.
 Ejemplo:
    Dirección   Etiqueta      Datos    Línea de cache
    FFFFFC      FFFFFC      24682468       3FFF




Correspondencia asociativa por
          conjuntos

 La cache se divide en un número de conjuntos.
 Cada conjunto contiene un número de líneas.
 Un bloque determinado se hace corresponder a
 cualquier línea en un conjunto determinado.
    Ejemplo: El bloque B puede asignarse en cualquiera
    de las líneas del conjunto i.
 Ejemplo: 2 líneas por conjunto.
     Correspondencia asociativa de 2 vías.
     Un bloque determinado puede asignarse en una de
    las dos líneas en un único conjunto.




                                                                  10
Correspondencia asociativa por
          conjuntos

      Número de conjunto de 13 bits.
      El número del bloque de memoria principal es
      módulo 213.
      000000, 00A000, 00B000, 00C000 … se hacen
      corresponder al mismo conjunto.




Estructura de cache asociativa
        por conjuntos

                                                                                     Memoria principal
                                                     Etiqueta   Datos
             Dirección de memoria
  Etiqueta         Conjunto         Palabra




                                                                        Conjunto 0




Comparación
                                                                        Conjunto 1




                                (Acierto de cache)




                       (Fallo de cache)




                                                                                                         11
Correspondencia asociativa por
    conjuntos: Estructura de la
            dirección

Etiqueta                                                                                                 Palabra
de 9 bits                                           Conjunto de 13 bits                                  de 2 bits

 Utilice los campos de conjunto a la hora de determinar el
 conjunto de cache que necesita para poder verlo.
 Compare los campos de etiqueta para ver si tenemos
 éxito:
 Ejemplo:
     Dirección   Etiqueta Datos       Número de conjuntos
     1FF 7FFC    1FF      12345678 1FFF
     001 7FFC    001      11223344 1FFF




Correspondencia asociativa por
conjuntos de dos vías
    Etiqueta
               Conj. +palabra   Datos




                                                                              N.º de
                                                     Etiqueta   Datos                 Etiqueta   Datos
                                                                             conjunto




                                                                        Cache de 16K palabras




                    Memoria principal de 16Mbytes




                                                                                                                     12
Algoritmos de sustitución (1):
Correspondencia directa

  No hay elección posible.
  Sólo hay una posible línea para cada bloque.
  Se necesita una sustitución de esa línea.




Algoritmos de sustitución (2):
Correspondencias asociativas y
asociativas por conjuntos
  Los algoritmos deben implementarse en hardware (para
  conseguir velocidad).
  “Utilizado menos recientemente” (LRU).
  Ejemplo: en correspondencias asociativas por conjuntos
  de 2 vías.
      ¿Cúal de los 2 bloques es LRU?
  “Primero en entrar-primero en salir” (FIFO).
      Se sustituye aquel bloque que ha estado más tiempo
     en la cache.
  “Utilizado menos frecuentemente” (LFU).
      Se sustituye aquel bloque que ha experimentado
     menos referencias.
  Aleatoria (coger una línea al azar)



                                                           13
Política de escritura

 No se debe escribir sobre un bloque de cache, a
 no ser que la memoria principal esté
 actualizada.
 Las CPU múltiples pueden tener caches
 individuales.
 Un módulo E/S puede tener acceso directo a la
 memoria principal.




Escritura inmediata

 Todas las operaciones de escritura se hacen,
 tanto en memoria principal como en cache.
 Las CPU pueden monitorizar el tráfico a
 memoria principal para mantener actualizada la
 cache local (CPU).
 Genera mucho tráfico.
 Retrasa la escritura.
 Recuerde los caches de falsa escritura
 inmediata.




                                                   14
Post-escritura

 Las actualizaciones se hacen sólo en la cache.
 Cuando tiene lugar la actualización, se activa un bit
 actualizar en la ranura de cache.
 Cuando un bloque es sustituido, es escrito en
 memoria principal, si el bit actualizar está activo.
 Las otras caches no son síncronas.
 Los módulos de E/S sólo pueden acceder a la
 memoria principal a través de la cache.
 El porcentaje de referencias a memoria para
 escritura es del orden del 15%.




Otros elementos de diseño

 Caché de dos niveles: Puedo definir dos niveles de
 caché.
 Caché unificada frente a partida: Puedo definir una
 caché para datos y otra para instrucciones o bien
 una única caché dónde se almacena todo.
 Longitud de la línea. Cuanto mayor longitud tenga
 la línea, menos fallos tendremos, pero un fallo
 supone un coste muy alto (hay que trasvasar
 muchos datos de la memoria principal a la caché).




                                                         15

Más contenido relacionado

La actualidad más candente

U2S2: Memoria Principal (RAM)
U2S2: Memoria Principal (RAM)U2S2: Memoria Principal (RAM)
U2S2: Memoria Principal (RAM)
ITST - DIV. IINF (YASSER MARÍN)
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL
ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL
ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL
Ing. Jesus A. López K.
 
Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Julio Jornet Monteverde
 
10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)
10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)
10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)Horacio Barba
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
Melvin Gustavo Balladares Rocha
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fetVelmuz Buzz
 
Configuración Emisor Común
Configuración Emisor ComúnConfiguración Emisor Común
Configuración Emisor Común
Ivan Javier Mulia Nava
 
DISEÑO Y CONSTRUCCION DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...
DISEÑO Y CONSTRUCCION  DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...DISEÑO Y CONSTRUCCION  DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...
DISEÑO Y CONSTRUCCION DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...
LUIS HORACIO Y JOSE HORACIO HERNANDEZ DIAZ
 
Modulo automatas-y-lenguajes-formales
Modulo automatas-y-lenguajes-formalesModulo automatas-y-lenguajes-formales
Modulo automatas-y-lenguajes-formales
EDNA ROCIO CORTES HERNANDEZ
 
Lab.circuitos ii#8
Lab.circuitos ii#8Lab.circuitos ii#8
Lab.circuitos ii#8
Karensu Pantoja
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
Manzelot
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
Diagrama de bode
Diagrama de bodeDiagrama de bode
Diagrama de bodetgcuysito
 

La actualidad más candente (20)

Pipelining
PipeliningPipelining
Pipelining
 
U2S2: Memoria Principal (RAM)
U2S2: Memoria Principal (RAM)U2S2: Memoria Principal (RAM)
U2S2: Memoria Principal (RAM)
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL
ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL
ANÁLISIS DE TRANSISTORES BJT EN PEQUEÑA SEÑAL
 
Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430
 
10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)
10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)
10 lecciones-de-reproductores-de-dvd-club-saber-electronica-by priale (1)
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Conversión NAND y NOR
Conversión NAND y NORConversión NAND y NOR
Conversión NAND y NOR
 
Polarización por divisor de voltaje
Polarización por divisor de voltajePolarización por divisor de voltaje
Polarización por divisor de voltaje
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
 
Configuración Emisor Común
Configuración Emisor ComúnConfiguración Emisor Común
Configuración Emisor Común
 
DISEÑO Y CONSTRUCCION DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...
DISEÑO Y CONSTRUCCION  DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...DISEÑO Y CONSTRUCCION  DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...
DISEÑO Y CONSTRUCCION DE UNA FUENTE DE VOTAJE EN LA UPTex INGENIERIA ROBOTIC...
 
Modulo automatas-y-lenguajes-formales
Modulo automatas-y-lenguajes-formalesModulo automatas-y-lenguajes-formales
Modulo automatas-y-lenguajes-formales
 
Lab.circuitos ii#8
Lab.circuitos ii#8Lab.circuitos ii#8
Lab.circuitos ii#8
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
vhdl
vhdlvhdl
vhdl
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Mapeo de memoria
Mapeo de memoriaMapeo de memoria
Mapeo de memoria
 
Diagrama de bode
Diagrama de bodeDiagrama de bode
Diagrama de bode
 

Similar a memoria cache

Jerarquia de la memoria
Jerarquia de la memoriaJerarquia de la memoria
Jerarquia de la memoria
Gloria Salamanca
 
Jerarquia de memorias
Jerarquia de memoriasJerarquia de memorias
Jerarquia de memorias
Michael Rivera
 
Funciones de correspondencia
Funciones de correspondenciaFunciones de correspondencia
Funciones de correspondenciaIsrael Rey
 
ARQUITECTURA - JERARQUIA DE MEMORIAS
ARQUITECTURA - JERARQUIA DE MEMORIASARQUITECTURA - JERARQUIA DE MEMORIAS
ARQUITECTURA - JERARQUIA DE MEMORIAS
Noralma Yanez
 
Memoria del computador
Memoria del computadorMemoria del computador
Memoria del computadorSofylutqm
 
Arquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo IIIArquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo III
Videoconferencias UTPL
 
Problemas m3
Problemas m3Problemas m3
Problemas m3xavazquez
 
Almacenamiento Datos.pptx
Almacenamiento Datos.pptxAlmacenamiento Datos.pptx
Almacenamiento Datos.pptx
IEST VIGIL
 
ARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdfARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdf
DavidVeraOlivera
 
Memoria cache.pptx
Memoria cache.pptxMemoria cache.pptx
Memoria cache.pptx
ANGELGonzlez624137
 

Similar a memoria cache (20)

Resumen
ResumenResumen
Resumen
 
Ec6
Ec6Ec6
Ec6
 
Memoria I
Memoria  IMemoria  I
Memoria I
 
Jerarquia de la memoria
Jerarquia de la memoriaJerarquia de la memoria
Jerarquia de la memoria
 
Jerarquia de memorias
Jerarquia de memoriasJerarquia de memorias
Jerarquia de memorias
 
Funciones de correspondencia
Funciones de correspondenciaFunciones de correspondencia
Funciones de correspondencia
 
Previo4
Previo4Previo4
Previo4
 
ARQUITECTURA - JERARQUIA DE MEMORIAS
ARQUITECTURA - JERARQUIA DE MEMORIASARQUITECTURA - JERARQUIA DE MEMORIAS
ARQUITECTURA - JERARQUIA DE MEMORIAS
 
Memoria del computador
Memoria del computadorMemoria del computador
Memoria del computador
 
Memoria cache
Memoria cacheMemoria cache
Memoria cache
 
Arquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo IIIArquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo III
 
Problemas m3
Problemas m3Problemas m3
Problemas m3
 
Almacenamiento Datos.pptx
Almacenamiento Datos.pptxAlmacenamiento Datos.pptx
Almacenamiento Datos.pptx
 
ARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdfARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdf
 
Memoria cache.pptx
Memoria cache.pptxMemoria cache.pptx
Memoria cache.pptx
 
Memoria I I
Memoria  I IMemoria  I I
Memoria I I
 
Sistemas de memorias1
Sistemas de memorias1Sistemas de memorias1
Sistemas de memorias1
 
Sistemas de memorias
Sistemas de memoriasSistemas de memorias
Sistemas de memorias
 
Sistemas de memorias1
Sistemas de memorias1Sistemas de memorias1
Sistemas de memorias1
 
Sistemas de memorias1
Sistemas de memorias1Sistemas de memorias1
Sistemas de memorias1
 

Último

absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 

Último (20)

absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 

memoria cache

  • 1. Memoria Caché Jerarquía de memoria Registros Cache nivel 1 Cache nivel 2 Memoria principal Cache de disco Disco Memoria óptica Cintas 1
  • 2. Localidad de las referencias En el curso de la ejecución de un programa, las referencias a memoria tienden a estar agrupadas. Ejemplo: bucles, matrices, vectores. Cache Cantidad pequeña de memoria rápida. Está entre la memoria principal normal y la CPU. Puede localizarse en el chip o módulo de la CPU. Transferencia de bloques Transferencia de palabras Memoria principal 2
  • 3. Operación de la cache: resumen La CPU solicita contenidos de la localización de memoria. Comprueba la cache para estos datos. Si está, la obtiene de la cache (rápidamente). Si no está, lee el bloque requerido a partir de la memoria principal hasta la cache. Después, de la cache los entrega a la CPU. La cache incluye etiquetas para identificar qué bloque de la memoria principal está en cada ranura de la cache. Diseño de la cache Tamaño Función de correspondencia Algoritmo de sustitución Política de escritura Tamaño del bloque Número de caches 3
  • 4. El tamaño importa Coste Una cache grande es costosa. Velocidad Cuanto más cache, más rapidez (hasta cierto punto). Comprobar la cache para acceder a los datos, lleva tiempo. Organización típica de cache Direcciones Buffer de direcciones Bus del sistema Procesador Buffer de datos Datos 4
  • 5. Función de correspondencia Cache de 64 kbytes. Los datos se transfieren en la cache en bloques de 4 bytes. Ejemplo: la cache es de 16k (214) líneas de 4 bytes. Memoria principal de 16Mbytes. Dirección de 24 bits: (224=16M). Correspondencia directa Cada bloque de memoria principal se corresponde a sólo una línea de cache. Ejemplo: si un bloque se encuentra en la cache, debería estar en un lugar específico. La dirección está en dos partes. Los w bits menos significativos identifican una sóla palabra. La mayoría de los s bits significativos especifican un bloque de la memoria. Los s bits significativos se distribuyen en un campo de línea r en la cache y en una etiqueta de s - r (los más significativos). 5
  • 6. Correspondencia directa: Estructura de la dirección Etiqueta s-r Línea o ranura r Palabra w 8 14 2 Dirección de 24 bits. Identificador de palabra de 2 bits (bloques de 4 bytes). Identificador de bloque de 22 bits. Etiqueta de 8 bits (=22-14). Ranura o línea de 14 bits. Ninguno de los dos bloques en la misma línea tiene el mismo campo de etiqueta. Compruebe los contenidos de la cache mediante la búsqueda de la línea y la comprobación de la etiqueta. Correspondencia directa: Tabla de la línea de cache Línea de cache Bloques de memoria principal asignados 0 0, m, 2m, 3m, …, 2s-m 1 1, m+1, 2m+1, …, 2s-m+1 m-1 m-1, 2m-1, 3m-1, …, 2s-1 6
  • 7. Correspondencia directa: Organización de cache Memoria Cache principal Etiqueta Datos Dirección de memoria Etiqueta Línea Palabra Comparación (Acierto de cache) (Fallo de cache) Ejemplo de correspondencia directa Línea + Etiqueta Palabra Datos Número Etiqueta Datos de línea Cache de 16K palabras Memoria principal de 16 Mbytes 7
  • 8. Correspondencia directa: ventajas y desventajas Simple. Poco costosa. Hay una posición concreta para cada bloque dado: Si un programa accede a dos bloques que se corresponden a la misma línea de forma repetida, las pérdidas de cache son muy grandes. Correspondencia asociativa Un bloque de memoria principal pueda cargarse en cualquier línea de la cache. La dirección de memoria se interpreta como una etiqueta y una palabra. La etiqueta identifica unívocamente un bloque de memoria. Todas las etiquetas de líneas se examinan para buscar una coincidencia. La búsqueda de cache es costosa. 8
  • 9. Organización de cache totalmente asociativa Memoria principal Etiqueta Datos Dirección de memoria Etiqueta Palabra Comparación (Acierto de cache) (Fallo de cache) Ejemplo de correspondencia asociativa Dirección Datos Número Etiqueta Datos de línea Cache de 16K palabras Memoria principal de 16 MBytes 9
  • 10. Correspondencia asociativa: Estructura de la dirección Palabra Etiqueta 22 bits 2 bits La etiqueta de 22 bits está almacenada con cada bloque de datos de 32 bits. Compare el campo de etiqueta con la entrada de etiqueta en la cache para comprobar si ha tenido éxito. La dirección de 2 bits menos significativa identifica qué palabra de 16 bits se necesita en un bloque de datos de 32 bits. Ejemplo: Dirección Etiqueta Datos Línea de cache FFFFFC FFFFFC 24682468 3FFF Correspondencia asociativa por conjuntos La cache se divide en un número de conjuntos. Cada conjunto contiene un número de líneas. Un bloque determinado se hace corresponder a cualquier línea en un conjunto determinado. Ejemplo: El bloque B puede asignarse en cualquiera de las líneas del conjunto i. Ejemplo: 2 líneas por conjunto. Correspondencia asociativa de 2 vías. Un bloque determinado puede asignarse en una de las dos líneas en un único conjunto. 10
  • 11. Correspondencia asociativa por conjuntos Número de conjunto de 13 bits. El número del bloque de memoria principal es módulo 213. 000000, 00A000, 00B000, 00C000 … se hacen corresponder al mismo conjunto. Estructura de cache asociativa por conjuntos Memoria principal Etiqueta Datos Dirección de memoria Etiqueta Conjunto Palabra Conjunto 0 Comparación Conjunto 1 (Acierto de cache) (Fallo de cache) 11
  • 12. Correspondencia asociativa por conjuntos: Estructura de la dirección Etiqueta Palabra de 9 bits Conjunto de 13 bits de 2 bits Utilice los campos de conjunto a la hora de determinar el conjunto de cache que necesita para poder verlo. Compare los campos de etiqueta para ver si tenemos éxito: Ejemplo: Dirección Etiqueta Datos Número de conjuntos 1FF 7FFC 1FF 12345678 1FFF 001 7FFC 001 11223344 1FFF Correspondencia asociativa por conjuntos de dos vías Etiqueta Conj. +palabra Datos N.º de Etiqueta Datos Etiqueta Datos conjunto Cache de 16K palabras Memoria principal de 16Mbytes 12
  • 13. Algoritmos de sustitución (1): Correspondencia directa No hay elección posible. Sólo hay una posible línea para cada bloque. Se necesita una sustitución de esa línea. Algoritmos de sustitución (2): Correspondencias asociativas y asociativas por conjuntos Los algoritmos deben implementarse en hardware (para conseguir velocidad). “Utilizado menos recientemente” (LRU). Ejemplo: en correspondencias asociativas por conjuntos de 2 vías. ¿Cúal de los 2 bloques es LRU? “Primero en entrar-primero en salir” (FIFO). Se sustituye aquel bloque que ha estado más tiempo en la cache. “Utilizado menos frecuentemente” (LFU). Se sustituye aquel bloque que ha experimentado menos referencias. Aleatoria (coger una línea al azar) 13
  • 14. Política de escritura No se debe escribir sobre un bloque de cache, a no ser que la memoria principal esté actualizada. Las CPU múltiples pueden tener caches individuales. Un módulo E/S puede tener acceso directo a la memoria principal. Escritura inmediata Todas las operaciones de escritura se hacen, tanto en memoria principal como en cache. Las CPU pueden monitorizar el tráfico a memoria principal para mantener actualizada la cache local (CPU). Genera mucho tráfico. Retrasa la escritura. Recuerde los caches de falsa escritura inmediata. 14
  • 15. Post-escritura Las actualizaciones se hacen sólo en la cache. Cuando tiene lugar la actualización, se activa un bit actualizar en la ranura de cache. Cuando un bloque es sustituido, es escrito en memoria principal, si el bit actualizar está activo. Las otras caches no son síncronas. Los módulos de E/S sólo pueden acceder a la memoria principal a través de la cache. El porcentaje de referencias a memoria para escritura es del orden del 15%. Otros elementos de diseño Caché de dos niveles: Puedo definir dos niveles de caché. Caché unificada frente a partida: Puedo definir una caché para datos y otra para instrucciones o bien una única caché dónde se almacena todo. Longitud de la línea. Cuanto mayor longitud tenga la línea, menos fallos tendremos, pero un fallo supone un coste muy alto (hay que trasvasar muchos datos de la memoria principal a la caché). 15