Arquitectura de Computadores

Slides:



Advertisements
Presentaciones similares
III - Gestión de memoria
Advertisements

Administración de memoria
Diseño de Circuitos Lógicos Secuenciales1
Multiprocesadores 3.1 Dominios de aplicación
Arquitectura de Computadores I
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Algoritmos de Remplazamiento de Paginas
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
SISTEMAS DE MEMORIA DEL COMPUTADOR
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Algorítmo de Mapeo Directo
Memoria cache.
Composición Interna de un Procesador
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez
Teoría de Sistemas Operativos
Gustavo Andrés Uribe Gómez
Direcciones físicas y direcciones virtuales (lógicas)
TRADUCTOR DE UN PROGRAMA
La memoria de acceso aleatorio (en inglés:random- access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones.
Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
Tema 10: Gestión de Memoria
Introducción a la Ingeniería en Sistemas
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Simulador didáctico de jerarquías de memoria
Administración de Memoria Memoria Virtual
1 Memoria Virtual Capítulo 8. 2 Estructuras de Hardware y Control Todas las referencias a memoria son direcciones lógicas y son mapeadas a direcciones.
Administración de la memoria
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Antecedentes Memoria virtual – separación de la memoria lógica de la física Sólo parte del programa necesita estar en memoria en un momento dado para.
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Tema VII Memoria Virtual.
Chips Controladores Pequeño circuito electrónico utilizado para realizar una función electrónica especifica. El chips es el que hace posible que la placa.
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Organización del Computador
Organización del Computador
Memoria virtual.
Tema 5: Multiprocesadores
Estructura de los Sistemas Operativos
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Protocolos de Sondeo SNOOPY
DISPOSITIVOS DE ALMACENAMIENTO
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
ALMACENAMIENTO DE DATOS. Son componentes que leen o escriben datos en medios o soportes de almacenamiento, y juntos conforman lamemoria o almacenamiento.
Memoria Virtual Msc. Rina Arauz.
Historia de las computadoras INFORMATICA. Originalmente el término "computadora personal" apareció en un artículo del New York Times el 3 de noviembre.
INGENIERIA EN SISTEMAS FUNDAMENTOS DE COMPUTACION
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Unidad de transferencia de memoria
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Pontificia Universidad Católica de Chile
Gestión de Memoria – Parte 2
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadores Clase 16 Sistemas y Jerarquías de Almacenamiento IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Transcripción de la presentación:

Arquitectura de Computadores Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Arquitectura de Computadores Clase 20 Memoria Caché: Elementos de Diseño Agregar: Explicar qué pasa cuando escribo en memoria sin antes haber leído. IIC 2342 Semestre 2008-2 Rubén Mitnik

Objetivos Capítulo 5 : Sistemas de Memoria Objetivos Entender los distintos elementos de diseño de las memorias caché Políticas de reemplazo Políticas de escritura Coherencia Niveles y tipos de caché Tamaño de las líneas R.Mitnik 2 Arquitectura de Computadores

Algoritmos de Reemplazo Memoria Caché Capítulo 5 : Sistemas de Memoria – Memoria Caché Algoritmos de Reemplazo Determinan qué línea hay que sobreescribir cuando la memoria caché se llena y se requiere escribir un bloque de memoria principal en la caché R.Mitnik R.Mitnik 3 Arquitectura de Computadores Arquitectura de Computadores 3

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché Para el esquema directo no hay elección ya que cada bloque de memoria sólo puede estar en un sitio. Para los otros esquemas : LRU (least recently used) FIFO (first in first out) LFU (least frequently used) Random R.Mitnik 4 Arquitectura de Computadores

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché LRU (least recently used: menos recientemente usada): Probablemente los bloques usados más recientemente seguirán usándose en el futuro cercano. Probablemente los bloques no usados en mucho tiempo no se usarán mucho en el futuro cercano. R.Mitnik 5 Arquitectura de Computadores 5

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché LRU (least recently used: menos recientemente usada): Con esta política se desaloja de la caché el bloque que tiene más tiempo sin usarse. Implementación por hardware Cada vez que se usa un bloque se debe almacenar alguna referencia al tiempo (timestamp) Se sustituye aquel bloque que tenga la referencia más antigua. R.Mitnik 6 Arquitectura de Computadores

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché FIFO (first input first output): Se hace una lista con la secuencia de entrada de los bloques a la memoria caché. Se desaloja el bloque más antiguo. Nota: no se desaloja el bloque cuyo uso sea el más antiguo (eso es LRU), se desaloja aquella que su ingreso a la caché es el más antiguo. Es decir se sustituye aquel bloque que ha estado más tiempo en la caché (aún cuando se haya usado recientemente) R.Mitnik 7 Arquitectura de Computadores

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché FIFO (first input first output): Implementación: se usa una lista circular con una manecilla que indica el más antiguo. R.Mitnik 8 Arquitectura de Computadores

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché LFU (least frecuently used: utilizado menos frecuentemente): Se sustituye aquel bloque que ha experimentado menos referencias. Implementación: cada bloque posee un contador, el que se incrementa cada vez que el bloque ha sido referenciado. Se sustituye aquel que tenga el contador más bajo. R.Mitnik 9 Arquitectura de Computadores

Algoritmos de reemplazo Capítulo 5 : Sistemas de Memoria – Memoria Caché Random (aleatorio): Se sustituye un bloque cualquiera según una función aleatoria. Estudios realizados mediante simulación han mostrado que la sustitución aleatoria proporciona un desempeño ligeramente menor a un algoritmo de reemplazo como los anteriores (basados en el grado de utilización). R.Mitnik 10 Arquitectura de Computadores

Políticas de escritura Memoria Caché Capítulo 5 : Sistemas de Memoria – Memoria Caché Políticas de escritura Antes de que pueda ser reemplazado un bloque de la caché es necesario comprobar si ha sido alterado en la caché y no en la memoria principal. Si la memoria principal se encuentra actualizada, el bloque puede ser sobre-escrito. En caso contrario habrá que actualizar la memoria principal antes de sobre-escribir el bloque. R.Mitnik R.Mitnik 11 Arquitectura de Computadores Arquitectura de Computadores 11

Políticas de escritura Capítulo 5 : Sistemas de Memoria – Memoria Caché Hay dos técnicas principales Write-through (inmediatamente) Write-back (post-escritura) R.Mitnik 12 Arquitectura de Computadores

Políticas de escritura Capítulo 5 : Sistemas de Memoria – Memoria Caché Write-through (escritura inmediata): Todas las operaciones de escritura se hacen tanto en la caché como en la memoria principal inmediatamente. Así se asegura que el contenido de la memoria principal sea siempre válido. R.Mitnik 13 Arquitectura de Computadores

Políticas de escritura Capítulo 5 : Sistemas de Memoria – Memoria Caché Write-through (escritura inmediata): Desventaja: se genera un tráfico sustancial a la memoria principal que puede disminuir el desempeño. Estudios señalan que el porcentaje de referencias a memoria para escritura es del orden del 15%. R.Mitnik 14 Arquitectura de Computadores

Políticas de escritura Capítulo 5 : Sistemas de Memoria – Memoria Caché Write-back (post-escritura): La línea se copia a memoria cuando se va a reemplazar (sólo si fue modificada). Bit de actualización: inicializado en ‘0’ (al cargarse la línea) seteado en ‘1’ al modificarse la línea. R.Mitnik 15 Arquitectura de Computadores

Políticas de escritura Capítulo 5 : Sistemas de Memoria – Memoria Caché Problemas de diseño: ¿Qué sucede si un dispositivo de I/O hace un requerimiento a memoria de un dato que aún no ha sido actualizado? 1KB 256 KB 1 GB 80 GB 1ns 5 ns 100 ns 5 ms R.Mitnik 16 Arquitectura de Computadores

Políticas de escritura Capítulo 5 : Sistemas de Memoria – Memoria Caché Write-back (post-escritura): Desventaja: Porciones de la memoria principal pueden no ser válidos. Los módulos de I/O necesitarían acceder a ella a través de la caché.  puede generar problemas de coherencia de memoria Explicar qué es coherencia: La habilidad de mantener todas las memorias con los mismos datos, o bien que cada una pueda determinar si sus datos son válidos o no. R.Mitnik 17 Arquitectura de Computadores

Número y Niveles de Caché Memoria Caché Capítulo 5 : Sistemas de Memoria – Memoria Caché Número y Niveles de Caché R.Mitnik R.Mitnik 18 Arquitectura de Computadores Arquitectura de Computadores 18

Número y Niveles de caches Capítulo 5 : Sistemas de Memoria – Memoria Caché Incialmente, se usaba sólo una caché externa (off-chip) a la CPU. Luego se desarrollaron caches on-chip. Se hicieron estudios de performance para determinar si una sola cache es suficiente. El resultado de estas investigaciones indican que el desempeño aumenta si se emplean distintos niveles de caché. R.Mitnik 19 Arquitectura de Computadores

Número y Niveles de caches Capítulo 5 : Sistemas de Memoria – Memoria Caché Actualmente se tienen sistemas de con caches on-chip (L1 y L2) y off-chip (L3). R.Mitnik 20 Arquitectura de Computadores

Tipos de Cachés Memoria Caché Unified: Split: Specific: Capítulo 5 : Sistemas de Memoria – Memoria Caché Tipos de Cachés Unified: instrucciones y datos juntos Split: instrucciones y datos separados Specific: usos específicos (trace cache, victim cache) Trace cache: caché donde se almacenan (encolan) las instrucciones ya decodificadas Victim cache: caché donde se almacenan las instrucciones o datos que fueron retirados de la caché R.Mitnik R.Mitnik 21 Arquitectura de Computadores Arquitectura de Computadores 21

Tipos de caches CPU L2 Cache L3 Cache Main Memory L1 Instruction Data Capítulo 5 : Sistemas de Memoria – Memoria Caché CPU Instruction Cache Data L2 Cache L3 Cache Main Memory L1 CACHE R.Mitnik 22 Arquitectura de Computadores

Número, Niveles y Tipos de caches Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 23 Arquitectura de Computadores

Coherencia Memoria Caché Capítulo 5 : Sistemas de Memoria – Memoria Caché Coherencia El uso de diversos caches genera problemas de coherencia entre ellos, tanto utilizando politicas write-through como write-back. Problemas de coherencia: Entre caches del mismo core o CPU Entre caches de distintos cores o CPUs ¿Por qué utilizando politicas de escritura write-through podría tener problemas de coherencia?  Porque la memoria principal se actualiza inmediatamente, pero otra caché puede tener una copia del dato ya obsoleto y no saber que este ya no es válido. R.Mitnik R.Mitnik 24 Arquitectura de Computadores Arquitectura de Computadores 24

Coherencia Soluciones: Vigilancia del bus (con write-through) Capítulo 5 : Sistemas de Memoria – Memoria Caché Soluciones: Vigilancia del bus (con write-through)  invalidación de datos Transparencia de hardware  actualización en todas las caches Memoria excluida de cache  memoria compartida no se transfiere a cache R.Mitnik 25 Arquitectura de Computadores

Coherencia Soluciones: Capítulo 5 : Sistemas de Memoria – Memoria Caché Soluciones: Protocolo MESI (Modified / Exclusive / Shared / Invalid)  agrega dos bits de control por línea Modificada: distinta de memoria principal y no existe en otras caches. Exclusiva: coincide con memoria principal y no existe en otras caches. Compartida: coincide con memoria principal y puede estar presente en otras caches. Inválida: datos no son válidos. R.Mitnik 26 Arquitectura de Computadores

Tamaño del bloque Memoria Caché Capítulo 5 : Sistemas de Memoria – Memoria Caché Tamaño del bloque Cuando se carga una palabra en la caché, se carga también palabras contiguas con la idea de que posteriormente van a ser también referenciadas. R.Mitnik R.Mitnik 27 Arquitectura de Computadores Arquitectura de Computadores 27

Tamaño del bloque Ni pocas, ni muchas: Capítulo 5 : Sistemas de Memoria – Memoria Caché ¿Qué tan grande debe ser el bloque? ¿Cuántas palabras contiguas deben cargarse en la caché? Ni pocas, ni muchas: La tasa de aciertos aumenta a medida que aumenta el tamaño del bloque, pero empieza a disminiuir si aumenta demasiado En bloques muy grandes las palabras dejan de estar tan contiguas y nunca o casi nunca son referenciadas. Ej: Pentium 4 y AMD Athlon 64 usan líneas de 64 bytes R.Mitnik 28 Arquitectura de Computadores

Tamaño del bloque Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 29 Arquitectura de Computadores

Efectos: eficiencia Tamaño del código Capítulo 5 : Sistemas de Memoria – Memoria Caché Tamaño del código Optimización para velocidad  tamaño Código optimizado para tamaño puede llegar a ejecutarse más rápido que código optimizado para velocidad. Loop unrolling sirve para disminuir el tiempo de procesamiento de un código, pero aumenta el tamaño. Esto, si hace que mi código no entre completo en la caché, puede generar una disminución del performance. Si no hago loop unrolling, pero mi loop entra completo en la caché, puede que sea más rápido de procesar, aún cuando las instrucciones son más lentas (requiere saltos condicionales por el loop). R.Mitnik 30 Arquitectura de Computadores

Efectos: eficiencia Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 31 Arquitectura de Computadores

Efectos: eficiencia Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 32 Arquitectura de Computadores

Efectos: eficiencia Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 33 Arquitectura de Computadores

Efectos: eficiencia Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 34 Arquitectura de Computadores

Efectos: eficiencia Capítulo 5 : Sistemas de Memoria – Memoria Caché R.Mitnik 35 Arquitectura de Computadores

Resumen Capítulo 5 : Sistemas de Memoria – Memoria Caché Resumen Existen diversos elementos de diseño los cuales determinan la funcionalidad y desempeño de las memorias caché Algoritmos de reemplazo Políticas de escritura Número y niveles de caché Tipos de caché Coherencia Tamaño de las líneas La correcta selección de éstos permite optimizar la funcionalidad de la memoria caché para usos específicos R.Mitnik R.Mitnik 36 Arquitectura de Computadores Arquitectura de Computadores 36