Arquitectura de Computadores Clase 19 Memoria Caché: Funciones de Correspondencia IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica.

Slides:



Advertisements
Presentaciones similares
Gustavo Andrés Uribe Gómez
Advertisements

Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Memoria Retos de diseño. Universidad de SonoraArquitectura de Computadoras2 Fallas de caché Las fallas de caché disminuyen conforme se incrementa la asociatividad.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Asignación de Espacio No Contiguo
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
Memoria virtual.
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.
MIA - Grupo 5 Unidad 2.
Arquitectura de Computadores I
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 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 13 Subrutinas y Manejo de Stack IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores
Arquitectura de Computadores Clase 12 Instrucciones en lenguaje de máquina IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile.
Arquitectura de Computadores Clase 0 Presentación del Curso IIC 2342 Semestre José Tomás Eterović Pontificia Universidad Católica de Chile Escuela.
Componentes físicos de un ordenador MSc. Lic. David Escalera.
ARQUITECTURA DE COMPUTADORES ESCUELA: NOMBRES: Escuela de Ciencias de la Computación Ing. Greyson Alberca P. BIMESTRE: Primero.
Organización y Arquitectura de Computadores
Aspectos básicos de la computación paralela. Tipos de computacion paralela.
Tema II Unidad de memoria. 2.1 Definiciones y conceptos básicos. 2.2 Jerarquía de memorias. 2.3 Memorias de semiconductor. 2.4 Memorias asociativas. 2.5.
SISTEMA BINARIO. Binario, del latín binarius, derivada de bis; lo que consta de dos partes. Un sistema de numeración, que solo utiliza unos(1) y ceros(0),
NTICX 2014 – CLASE X Prof. Andrea Marigomez. Sistema Binario  Usa sólo ceros (o) y unos (1) para representar los números.  Constituye la clave del.
Memoria Cachés.
Introducción a los Ordenadores
ARQUITECTURA BÁSICA DE UN ORDENADOR
Fundamentos de la Computación
El procesador Diseño del control.
Datapath para las instrucciones aritméticas y lógicas
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
Computadora Máquina electrónica rápida y exacta que es capaz de aceptar datos a través de un medio de entrada, procesarlos automáticamente bajo el control.
Unidades de almacenamiento
1 1 1 El Sistema B nar o
Comunicación Serial: Conceptos Generales
Otros temas sobre cachés
Unidad 7: Nivel Interno Algunos Conceptos Importantes
TIPO DE DATOS EN ACCESS 2010 TEXTO, MEMO, NUMERO, FECHA/HORA, MONEDA, AUTONUMERACION, SI/NO, OBJETO OLE, HIPERVINCULO, DATOS ADJUNTADOS, CALCULADO Y ASISTENTES.
Organización del Computador
Organización del caché
Memoria virtual.
JENNY MONTES. COD: DANIEL GUAQUETA COD: 37835
ORGANIZACIÓN Y ADMINISTRACIÓN DE LA MEMORIA VIRTUAL
Memoria virtual.
ICAS REDES Y SUBREDES LIA. Reginaldo Sánchez Carranza.
¿Qué es una computadora?
UNIDAD I. Diseño de redes de datos.
UD1 (PARTE 2: NUMERACIÓN)
Introducción a las ciencias de la computación Antonio López Jaimes
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
P P AGINACION FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS.
Memoria flash y su uso en el microcontrolador MSP430F149
Empecemos por el principio
Tema 1 Fundamentos de Computación
Un sistema de numeración es el conjunto de símbolos y reglas que se utilizan para la representación de datos numéricos y cantidades. Se caracteriza por.
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
MATRICES. ¿QUÉ ES UNA MATRIZ? Una matriz es un espacio bidimensional que se genera en la memoria del computador. Las matrices deben tener un nombre que.
Memoria Cachés.
Otros temas sobre cachés
Universidad Técnica De Manabí Facultad De Ciencias Informáticas Departamento De Informática Y Electrónica Trabajo de investigación grupal Tema: Arquitectura.
INTRODUCCIÓN A LA INFORMÁTICA
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Organización del caché
VARIABLE Y TIPO DE DATOS. ¡Que Es Variable? Un lugar para almacenar información en un espacio de memoria de la computadora.
Transcripción de la presentación:

Arquitectura de Computadores Clase 19 Memoria Caché: Funciones de Correspondencia IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Objetivos Capítulo 5 : Sistemas de Memoria Entender el modo de operación de las distintas funciones de correspondencia utilizadas en las memorias caché Entender como cada función mapea las direcciones de la memoria principal en la memoria caché Entender las ventajas y desventajas de cada función de correspondencia Objetivos R.Mitnik 2Arquitectura de Computadores

Indica la forma como mapeo los bloques de memoria principal en las líneas de la memoria caché R.Mitnik Arquitectura de Computadores3 Determina donde guardar un bloque Determina donde buscar un dato Permite determinar qué bloque hay en cada línea Memoria Caché Capítulo 5 : Sistemas de Memoria – Memoria Caché Función de Correspondencia

R.Mitnik Arquitectura de Computadores4 Correspondencia Directa (directly mapped) Correspondencia Asociativa (fully associative) Correspondencia Asociativa por conjuntos (N-way associative) Funciones de Correspondencia Capítulo 5 : Sistemas de Memoria – Memoria Caché – Elementos de diseño Tipos de Correspondencia

R.Mitnik Arquitectura de Computadores5 Correspondencia Directa (directly mapped) Funciones de Correspondencia Capítulo 5 : Sistemas de Memoria – Memoria Caché

R.Mitnik Arquitectura de Computadores6 Correspondencia Directa (directly mapped) Mapea a priori Cada bloque tiene asociada una línea de la caché Correspondencia Directa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores7 Ej alumnos: Cada uno se estaciona en el estacionamiento determinado por sus últimos 2 dígitos del número de alumno. Correspondencia Directa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores8 Ej alumnos: Cada uno se estaciona en el estacionamiento determinado por sus últimos 2 dígitos del número de alumno. Correspondencia Directa Llega alumno 814 Se estaciona en 14 Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores9 Ej alumnos: Cada uno se estaciona en el estacionamiento determinado por sus últimos 2 dígitos del número de alumno. Correspondencia Directa Llega alumno 764 Se estaciona en 64 Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

Llega alumno 102 Se estaciona en 02 R.Mitnik Arquitectura de Computadores10 Ej alumnos: Cada uno se estaciona en el estacionamiento determinado por sus últimos 2 dígitos del número de alumno. Correspondencia Directa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores11 Correspondencia Directa Queremos ir a buscar el auto del alumno 683 ¿Cómo sabemos si el auto del estacionamiento 83 es el de él? Necesitamos almacenar información extra que indique que auto es el que está en cada estacionamiento. Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores12 Correspondencia Directa TAG Queremos ir a buscar el auto del alumno 683 ¿Cómo sabemos si el auto del estacionamiento 83 es el de él? Necesitamos almacenar información extra que indique que auto es el que está en cada estacionamiento. Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores13 ¿Qué guardo? El dígito de las centenas El resto determinado por número de n° estacionamiento Correspondencia Directa TAG Entonces el auto guardado en 83 no corresponde al 683 sino al 583. Hay que ir a buscar el auto 683 fuera del campus y actualizar el tag. Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores14 ¿Si quiero el auto del alumno 963? Voy a 63 y leo el tag. El auto es el que busco. Correspondencia Directa TAG Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores15 Correspondencia Directa Memoria Cache Cada línea de caché corresponde a un “estacionamiento”. Cada bloque de la memoria principal se asocia a una línea particular. Ej.Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes. Memoria Principal = 128 bloques Caché = 4 líneas Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores16 Correspondencia Directa Cada línea de caché corresponde a un “estacionamiento”. Cada bloque de la memoria principal es asociada a una línea particular. Ej.Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes, Determina el byte dentro del bloque o de la línea Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores17 Correspondencia Directa Cada línea de caché corresponde a un “estacionamiento”. Cada bloque de la memoria principal es asociada a una línea particular. Ej.Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes, Determina la línea de la caché Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores18 Correspondencia Directa Cada línea de caché corresponde a un “estacionamiento”. Cada bloque de la memoria principal es asociada a una línea particular. Ej.Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes, Tag asociado a la dirección Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores19 Correspondencia Directa ¿Qué pasa si duplicamos la memoria principal? El tag aumenta en un bit Tag asociado a la dirección Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores20 Correspondencia Directa ¿Qué pasa si duplicamos la cantidad de líneas de la caché? Los bits que determinan las líneas aumentan en 1 El tag se reduce en un bit Determina la línea de la caché Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores21 Correspondencia Directa ¿Qué pasa si duplicamos el tamaño de las líneas? Índice del byte en el bloque o línea aumenta en un bit Bit de la línea se mantiene, pero se desplaza. Tag se reduce en 1 Determina el byte dentro del bloque o de la línea Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores22 Correspondencia Directa Ventajas Tag pequeño (menos memoria extra) Muy rápidas No requieren políticas de reemplazo Lógica simple Desventajas Poca eficiencia en el uso del espacio Puedo sobrescribir datos aún cuando hay lugares libres Muchas colisiones Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores23 Correspondencia Directa Ej. Memoria principal de 2 Mb 2 * 2 20  21 bits. Caché de 64 Kb Línea de 4 bytes 64Kb / 4b = 16K_líneas 2 4 * 2 10  14 bits Para una dirección cualquiera A 20 A 19 A 18 A 17 A 16 A 15 A 14 A 13 A 12 A 11 A 10 A9A9 A8A8 A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 Índice del byte Línea Tag Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores24 Correspondencia Asociativa (fully associative) Funciones de Correspondencia Capítulo 5 : Sistemas de Memoria – Memoria Caché

R.Mitnik Arquitectura de Computadores25 Correspondencia Asociativa (fully associative) Mapea en forma dinámica Cada bloque puede estar en cualquier línea Correspondencia Asociativa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores26 Ej alumnos: Cada uno se estaciona en el primer estacionamiento libre Correspondencia Asociativa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores27 Llega alumno 814 Correspondencia Asociativa Ej alumnos: Cada uno se estaciona en el primer estacionamiento libre. Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores28 Ej alumnos: Cada uno se estaciona en el primer estacionamiento libre. Llega alumno 764 Correspondencia Asociativa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

Llega alumno 102 R.Mitnik Arquitectura de Computadores29 Correspondencia Asociativa Ej alumnos: Cada uno se estaciona en el primer estacionamiento libre. Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores30 Queremos ir a buscar el auto del alumno 683 ¿Cómo sabemos donde está? Correspondencia Asociativa TAG ¿Qué almacenamos en el tag? Todo el n° de alumno Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores31 TAG ¿Qué pasa si se llena el estacionamiento? Al llegar un nuevo auto, sacamos alguno conforme a alguna política Correspondencia Asociativa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores32 Memoria Cache Cualquier bloque de memoria principal puede estar en cualquier línea de la caché Ej. Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores33 Cualquier bloque de memoria principal puede estar en cualquier línea de la caché Ej. Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa Determina el byte dentro del bloque o de la línea Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores34 Cualquier bloque de memoria principal puede estar en cualquier línea de la caché Ej. Memoria principal de 256 bytes, caché de 8 bytes, bloques de 2 bytes. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa Tag asociado a la dirección Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores35 Correspondencia Asociativa Ventajas Uso eficiente de la memoria (100%) Desventajas Tag muy grande. Requiere politicas de reemplazo Requiere almacenar información adicional para las políticas de reemplazo. Es muy caro determinar qué bloque está en cada línea Búsqueda puede ser muy lenta si la caché aumenta de tamaño O(n). Ó muy cara electrónicamente si se usa búsqueda en paralelo. Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores36 Correspondencia Asociativa por conjuntos (N-way associative) Funciones de Correspondencia Capítulo 5 : Sistemas de Memoria – Memoria Caché

R.Mitnik Arquitectura de Computadores37 Correspondencia Asociativa por conjuntos (N-way associative) Mezcla de la correspondencia directa y asociativa Correspondencia Asociativa por Conjuntos Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores38 Ej alumnos: Correspondencia Asociativa por Conjuntos Las 100 entradas se dividen en 10 grupos de 10. El grupo donde se estaciona alguien depende del último dígito de su n° de alumno (~directly mapped) Dentro del grupo se estaciona donde mejor le parezca (~fully-associative) Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores39 Memoria Cache Ej. 2 vías. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa por Conjuntos Las vías indican la cantidad de líneas por conjunto… NO LA CANTIDAD DE CONJUNTOS Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores40 Ej. 2 vías. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa por Conjuntos Determina el byte dentro del bloque o de la línea Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores41 Ej. 2 vías. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa por Conjuntos Determina el conjunto de la memoria cache Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores42 Ej. 2 vías. Memoria Principal = 128 bloques Caché = 4 líneas Correspondencia Asociativa por Conjuntos Tag asociado a la dirección Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores43 Ventajas Tag más pequeño que en fully – associative, pero más grande que Directly – Mapped Permite mayor eficiencia en el uso de la memoria por la flexibilidad. Búsqueda dentro del conjunto es más rápida. Correspondencia Asociativa por Conjuntos Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores44 Ej, 4 vías. Memoria Principal de 1Kb  bits Líneas de 2 bytes 1 bit para especificar línea Caché de 64 bytes  64 / 2 bytes por línea = 32 líneas.  32 líneas / 4 vías = 8 conjuntos. 3 bits para especificar conjunto. ¿ En que direcciones de la caché podría estar el dato almacenado en la dirección ? Correspondencia Asociativa por Conjuntos Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

R.Mitnik Arquitectura de Computadores45 Correspondencia Asociativa por Conjuntos Memoria Caché 00h 01h 02h 03h 04h 05h 06h 07h 08h 1Bh 1Ch 1Dh 1Eh 1Fh Conjunto 0 : líneas 0 – 3 Conjunto 1 : líneas 4 – 7 Conjunto 2 : líneas 8 – 11 … Conjunto n : líneas N*n  N*n + N-1 Ej, 4 vías. ¿ En que dirección de la caché podría estar el dato almacenado en la dirección ? conjunto 3 byte 1 Línea 0 : direcciones 0 – 1 Línea 1 : direcciones 2 – 3 … Línea n : direcciones 2*n + 2*n+1 Conjunto 3 : líneas Línea 12 : direcciones : : : Capítulo 5 : Sistemas de Memoria – Memoria Caché – Función de Correspondencia

Resumen Qué son las funciones de correspondencia Correspondencia directa Correspondencia asociativa Correspondencia asociativa por conjuntos Mapeo Tag Línea Indice del byte (dentro de la línea) Ventajas y desventajas de cada función de correspondencia R.Mitnik 46Arquitectura de Computadores Resumen Capítulo 5 : Sistemas de Memoria – Memoria Caché