1 / 28

SISTEMAS DE MEMORIA DEL COMPUTADOR

LECCIÓN 2. MEMORIAS CACHE. SISTEMAS DE MEMORIA DEL COMPUTADOR. NECESIDAD DE LA MEMORIA CACHE. La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia. CPU. MEMORIA RAM. NECESIDAD DE LA MEMORIA CACHE.

ruana
Download Presentation

SISTEMAS DE MEMORIA DEL COMPUTADOR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LECCIÓN 2. MEMORIAS CACHE SISTEMAS DE MEMORIA DEL COMPUTADOR Departamento de Informática. Curso 2005-2006

  2. NECESIDAD DE LA MEMORIA CACHE La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia CPU MEMORIA RAM Departamento de Informática. Curso 2005-2006

  3. NECESIDAD DE LA MEMORIA CACHE La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia llamada memoria cache con mejores tiempos de acceso CPU CACHE MEMORIA RAM Departamento de Informática. Curso 2005-2006

  4. ESTRUCTURA DE UNA MEMORIA CACHE Departamento de Informática. Curso 2005-2006

  5. Departamento de Informática. Curso 2005-2006

  6. LECTURA DE UNA MEMORIA CACHE CPU genera dir Acceso a Mp para obtener dato ¿Está en cache? Asignar bloque en cache Leer dato y pasar a CPU Pasar dato a CPU Copiar bloque en cache Continuar Departamento de Informática. Curso 2005-2006

  7. MEDIDAS DE CALIDAD DE UNA MEMORIA CACHE • Tiempo de acceso Ta Ta = h Tc + (1-h) Tp Donde • Tc es el tiempo de acceso a la cache • Tp es el tiempo de acceso a la memoria principal • h es el índice de aciertos de la cache. Departamento de Informática. Curso 2005-2006

  8. MEDIDAS DE CALIDAD DE UNA MEMORIA CACHE • Definimos índice de mejora  = TP /Ta Mide el aumento de rendimiento cuando se incluye una memoria caché en un sistema de memorias. Se puede demostrar que = 1/(1-h(1- )) Donde  = Tc /Tp Departamento de Informática. Curso 2005-2006

  9. ORGANIZACIÓN DE LA MEMORIA CACHE • FUNCIONES DE MAPA: Son las distintas formas de correspondencia entre los bloques de la memoria cache y los bloques de la memoria principal. Tenemos tres modelos básicos: • Correspondencia directa • Correspondencia asociativa • Correspondencia asociativa por conjuntos Departamento de Informática. Curso 2005-2006

  10. CORRESPONDENCIA DIRECTA Asocia a cada bloque de la memoria principal una línea de la cache, de acuerdo con la siguiente expresión: Cj Mi si i= j (mod C). Siendo Cj = línea j de la cache Mi = bloque i de la memoria principal C = nº de líneas de la cache Departamento de Informática. Curso 2005-2006

  11. FORMATO DE LAS DIRECCIONES • Palabra : codifica el nº de palabras de memoria de cada bloque de memoria • Línea : codifica el nº de línea de cache donde se realiza la búsqueda • Etiqueta: codifica el bloque de memoria asociado a esa línea de cache Departamento de Informática. Curso 2005-2006

  12. MECANISMO DE BÚSQUEDA EN CACHE Departamento de Informática. Curso 2005-2006

  13. VALORACIÓN DE LA CORRESPONDENCIA DIRECTA • Sencilla de implementar porque no necesita algoritmos de reemplazo • Ocupación de la cache ineficiente Departamento de Informática. Curso 2005-2006

  14. EJEMPLO Departamento de Informática. Curso 2005-2006

  15. CORRESPONDENCIA TOTALMENTE ASOCIATIVA Cualquier bloque de la memoria principal puede ocupar cualquier línea de la cache. Donde Etiqueta indica el nº de bloque de memoria principal que se está buscando Departamento de Informática. Curso 2005-2006

  16. MECANISMO DE BÚSQUEDA Departamento de Informática. Curso 2005-2006

  17. VALORACIÓN DE LA CORRESPONDENCIA ASOCIATIVA • Necesita el uso de memorias asociativas • Necesita algoritmos de reemplazo • Es la mas eficiente en la ocupación de la cache. Departamento de Informática. Curso 2005-2006

  18. EJEMPLO Departamento de Informática. Curso 2005-2006

  19. CORRESPONDENCIA ASOCIATIVA POR CONJUNTOS Es una solución intermedia entre las dos anteriores, las líneas de memoria caché se asocian en conjuntos y la correspondencia se establece de forma directa entre cada bloque de la memoria principal y cada conjunto de la caché. Dentro de cada conjunto la correspondencia es asociativa. Al número de bloques del conjunto se le llama número de vias o grado de asociatividad. Departamento de Informática. Curso 2005-2006

  20. CORRESPONDENCIA ASOCIATIVA POR CONJUNTOS Sea pues una caché con Q conjuntos de R bloques por conjunto. La relación entre los bloques de memoria principal y los conjuntos de la caché, viene dada por la expresión siguiente: Qj Mi si i= j (mod Q). Departamento de Informática. Curso 2005-2006

  21. FORMATO DE LAS DIRECCIONES • Palabra : codifica el nº de palabras de memoria de cada bloque de memoria • Conjunto : codifica el nº de conjunto de la cache donde se realiza la búsqueda • Etiqueta: codifica el bloque de memoria asociado a ese conjunto Departamento de Informática. Curso 2005-2006

  22. MECANISMO DE BÚSQUEDA Departamento de Informática. Curso 2005-2006

  23. TIPOS DE FALTAS • Frías: Aparecen en el momento inicial cuando la caché está vacía. • Por capacidad: Debida a que la caché está llena • Por conflicto : Cuando varios bloques de memoria principal ocupan una misma línea de la caché y computen por esa posición Departamento de Informática. Curso 2005-2006

  24. ALGORITMOS DE REEMPLAZO • Sustitución aleatoria. Se selecciona un bloque al azar para ser desalojado. Los resultados no son tan malos como cabría esperar. • FIFO. Se desaloja el bloque mas antiguo en la cache. Para facilitar su implementación cada bloque de la cache lleva asociado un contador de edad que se pone a cero en el momento de la carga y se incrementa en uno en cada acceso a memoria. • LRU En este caso se desaloja el bloque que lleva mas tiempo inactivo (Least recently used). Usa un contador similar al caso anterior salvo porque se pone a cero cada vez que se accede al bloque. • LFU Se desaloja al bloque que se usa menos frecuentemente (Least frecuently used). Necesitaremos pues un contador de uso para cada línea. Departamento de Informática. Curso 2005-2006

  25. ACTUALIZACIÓN DE LA CACHE • Lectura: En este caso se utiliza el sistema llamado lectura directa consistente en que el dato se busca en memoria principal y se transfiere a la caché el bloque que contiene a la palabra buscada. Departamento de Informática. Curso 2005-2006

  26. ACTUALIZACIÓN DE LA CACHE • Escritura : En este caso existen dos políticas posibles: • Escritura inmediata (write through) Consiste en actualizar de forma inmediata la memoria principal cada vez que se modifica el bloque en la caché • Escritura diferida (write back) Solo actualiza la memoria principal cuando se desaloja el bloque en la caché. Para ello lleva un bit de control que indica si se ha modificado el bloque o no ( bit sucio). ( Problemas de coherencia caché) Departamento de Informática. Curso 2005-2006

  27. Power-PC Departamento de Informática. Curso 2005-2006

  28. PENTIUM IV Departamento de Informática. Curso 2005-2006

More Related