Gustavo Andrés Uribe Gómez

Slides:



Advertisements
Presentaciones similares
GESTION DE MEMORIA.
Advertisements

III - Gestión de memoria
1 Memorias Conceptos. Se denomina elemento de memoria a cualquier dispositivo que tenga capacidad para “recordar” información almacenada previamente. ¿Que.
Administración Memoria
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Organización y arquitectura de sistemas de memoria
Arquitectura de Computadores I
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Prof. José Díaz Chow (Xdc.)
Introducción a los Sistemas Operativos Memoria Virtual
Consideraciones generales
Optimización de aplicaciones
Departamento de Ingeniería de Sistemas Universidad de Antioquia
MEMORIA 1.
SISTEMAS DE MEMORIA DEL COMPUTADOR
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
MEMORIAS Y GESTIÓN DE MEMORIAS
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Tema: Componentes físicos de un ordenador (II)
Memoria cache.
INTEGRANTES MEDINA ORTIZ MISSAEL MARTIN GONZALEZ MADRIGAL OMAR
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad Los puntos básicos relacionados con.
Composición Interna de un Procesador
Teoría de Sistemas Operativos
Estructura y Tecnolología de Ordenadores
Bus PCI. PCI: Peripheral Component Interconnect (Intel 1993).
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
Estructura y Tecnología de Ordenadores Noviembre 2004.
Administración de Memoria Memoria Virtual
Gustavo Andrés Uribe Gómez
Memoria Interna Ing. Gustavo Andrés Uribe Gómez. Tipos de 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
MEMORIA ROM Y MEMORIA RAM. PROFESORA: ANDRY SAAVEDRA SAN CARLOS,
Asignación de Espacio No Contiguo
La evolución del Microprocesador (  P). El microprocesador de 4 bits En 1971, Intel corporation y el talento creativo de Marcian E. Hoff fabricaron el.
TEMA 2: Organización de computadores
Memorias RAM Características: Son de lectura escritura
Administración de Memoria no contigua
Tema VII Memoria Virtual.
Gustavo Andrés Uribe Gómez
Organización del Computador
Gestión de E/S y planificación de discos
Organización del Computador
Memoria virtual.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
Gestión de Memoria.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
TRABAJO DE MADIA TECNICA YIRA RODRIGUEZ LIC: IVAN MERCADO INSTITUCION EDUCATIVA JOSE IGNACIO LOPES 11 SINCELEJO 2015.
UNIDAD CENTRAL DE PROCESO
PRESENTADO: Hernan Dario Delgado murcia. son las siglas de random access memory, un tipo de memoria de ordenador a la que se puede acceder aleatoriamente;
MEMORIA CAHÉ.
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.
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
Procesador core i3 para portátiles y sobremesas. Posee dos núcleos que emulan cuatro hilos de ejecución, fabricados en 32 nanómetros y con GPU integrada.
Mantenimiento Ingrid Paola Gómez Flórez 10-3 Colegio técnico Vicente azuero Floridablanca.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Gestión de memoria Rina Arauz.
Memoria Virtual Msc. Rina Arauz.
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
Modos de Direccionamiento y Formatos
Gestión de Memoria – Parte 2
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
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
Transcripción de la presentación:

Gustavo Andrés Uribe Gómez Memoria Caché La palabra cache viene del frances que significa escondite. Pero se ha reconocido en el español como caché igual que la palabra sinónimo de elegancia. Gustavo Andrés Uribe Gómez

Características Principales de las Memorias   Word: Es el número de bits de organización natural de la memoria. "usualemente" es equivalente al número de bits con que trabaja el procesador.    Unidad direccionable: Son el número de bits que tienen dirección única. En muchos casos las unidades direccionables son las palabras, sin embargo existen muchos sistemas que tienen el byte como unidad direccionable.  La capacidad máxima de unidades direccionables esta determinado por N= 2A . Donde A es el número de bits del bus de direcciones . Unidad de transferencia: Número de bits leídos o escritos en una operación. Direct access Method: Método de lectura y/o escritura en memorias usando un mecanismo compartido y el tiempo para alcanzar las diversas direcciones varía dependiendo de su posición física. Ejemplo: Discos. Random Access Method: El tiempo de acceso a todas las direcciones es una constante. Associative Access Method: Es un tipo de acceso aleatorio en el cual no se busca por una dirección, sino por una porción del contenido. En otras palabras se accede mediante una "búsqueda" simultanea por todas las posiciones. Access time (latencia): tiempo que tarda en ejecutarse una operación de lectura o escritura. Cycle time: Tiempo entre dos operaciones consecutivas de escritura o lectura.

Jerarquía de Memorias A medida que jerarquía desciende, ocurre:   A medida que jerarquía desciende, ocurre: Decrece el costo por bit Incrementa la capacidad Incrementa el tiempo de acceso Decrece la frecuencia con la que el procesador accede a la memoria.

Principios de la Memoria Caché   El nivel 3 de la memoria cache tiene copia de sectores de la memoria principal, el nivel 2 tiene copia de algunos sectores de memoria del nivel 3 de cache y el nivel 1 tiene copia de algunos sectores del nivel 2 de caché.

Principios de la Memoria Caché   En la cache se copian bloques de la memoria de nivel superior. Por ejemplo cuando le procesador realiza el fetch de una instrucción y esta instrucción no se encuentra en cache, la instrucción es cargada en la cache junto con las siguientes k instrucciones. El tag, identifica el bloque almacenado en esa línea de la caché. Puede ser una parte de la dirección de la memoría principal (caché RAM) o una parte del contenido (caché Asociada).

Diagrama de Flujo Lectura Memoria con Caché  

Ejemplos de Memoria Caché

Evolución Memoria Caché - Intel  

Elementos de Diseño de Memoria Caché   Cache Address Logical: Las direcciones son asignadas según el modo de direccionamiento del procesador. Mapping Function: Algoritmo de asignación de las líneas de caché a los bloques de memoria de mayor nivel. En la memoria principal los bloques normalmente son de 4 bytes. Direct mapping: Asignación directa de cada bloque de la memoria principal en solo una línea de la caché.

Caché de Direccionamiento Lógico   MMU (Memory Managemen Unit) : Se encarga de convertir las direcciones lógicas a direcciones físicas, proteger la memoria principal (Posiciones de memoria protegidas) y maneja la caché.

Caché de Direccionamiento Físico  

Caché de Asignación Directa  

Caché de Asignación Directa  

Caché Asignación Directa   Para este caso la dirección de memoria principal es dividida en 3 partes Tag, line y word.   tag: Parte alta de la dirección y es almacenada en la memoria cache como identificador único de una dirección. line: linea de la memoria cache en la cual se almacena el bloque. Word: Byte o palabra específica dentro del bloque que se quiere leer o escribir. En este ejemplo los bloques son de 4 bytes El problema de este tipo de asignación directa es que si un programa necesita frecuentemente datos asignados a la misma línea de la caché entonces la caché continuamente será refrescada ocasionando retardo. Este fenómeno se conoce como thrashing.

Caché de Asignación Asociativa   En la asignación asociativa un bloque de memoria puede estar en cualquier línea de la memoria caché.

Caché de Asignación Asociativa   El problema de este tipo de memoria cache es que para encontrar una dirección dentro de la caché debe compararse con cada una de las posiciones de la memoria caché y al mismo tiempo.

Caché de Asignación Asociativa de Grupo   La memoria caché se divide en v grupos de líneas. Cada bloque de memoria principal puede ser asignado a k líneas, ubicadas consecutivamente en la caché.    m=v x k Donde m es el número de líneas de la caché. Este tipo de  memoria cache adopta cada una de las ventajas de las anteriores.

Caché de Asignación Directa de Grupo   Es una manera distinta de ver la asignación asociativa de grupo. La memoria caché se divide en v grupos de k líneas. Cada bloque de memoria principal puede ser asignado a una de las k líneas.   m=v x k Donde m es el número de líneas de la caché. La configuración más común es v=m/2 y k=2.

Caché de Asignación Directa de Grupo   En este ejemplo k=2 y se conoce como una caché de asignación asociada de 2 vías.

Algoritmos de reemplazo En la asignación directa no hay elección. Ultimo recientemente usado (LRU) Cola (FIFO) Menos Frecuentemente Usado (LFU) Aleatorio (Random) Los algoritmos de reemplazo, son los que permiten decidir cual de los bloques sobrescribir si uno nuevo bloque necesita ser gravado en la memoria. La implementación de estos algoritmos es a nivel de hardware. LRU: Las lineas de la memoria cache se marcan con un bit que indica cual linea a sido recientemente usada dentro de los grupos. La caché reemplazará los que no se estén usando. LFU: El algoritmo reemplaza la linea de la caché que menos se haya usado. Para esto se debe asociar una contado para cada línea de la caché.

Políticas de Escritura Problema en múltiples procesadores (caché por procesador) y múltiples dispositivos accediendo a la memoria principal. Soluciones Write throught: Mantener siempre actualizada la memoria principal cada vez que se realice una operación de escritura. Todos las caches se actualizan al realizarse una escritura en la memoria principal.  Write back: Cada línea en la caché tiene un bit de Update, que indica que la línea a sido actualizada. Los sistemas de I/O no pueden acceder a la memoria principal sino a la caché. Antes de reemplazar una línea de la memoria caché es necesario sincronizar la información que no esté actualizada en la memoria principal. Puede darse el caso también que la memoria principal haya sido modificada por ejemplo en el caso de que un dispositivo de I/O acceda directamente a la memoria principal. Con el Write trought se crea un cuello de botella en la memoria principal y con el Write back se necesita una compleja circuitería y posiblemente un cuello de botella en la caché. Estas dos son soluciones para el caso de múltiples dispositivos accediendo a la memoria principal, pero no solucionan el problema para múltiples caches, para solucionar este problema se usan algoritmos de coherencia de caché que no se estudiarán aquí.

Line Size Bloques grandes de memoria principal reducen el número de bloques que se pueden asignar en la caché y ocasiona que las lineas tengas que ser actualizadas muy frecuentemente. El tamaño de la caché optima varía de acuerdo al programa y hasta el momento se considera que está entre los 8 y 32 bytes. Aunque para sistemas de alta complejidad computacional se usan de 64 a 128 bytes. El tamaño de la línea de caché no solo comprende los bits asignados de la memoria principal, sino también información asociada.    

Número de Caches La caché de nivel L2 y L3 puede ubicarse en el chip o fuera de él, pero con memorias SRAM. El uso de diferentes niveles de caché mejoran el rendimiento de los procesadores, sin embargo aumentan considerablemente la complejidad del procesador, aumentando la dificultad de los algoritmos de reemplazo y las políticas de escritura.  El uso de la caché L1 para datos e instrucciones por separado favorece los procesadores superescalares o de ejecución en paralelo. En los procesadores superescalares se puede dar el caso de que mientras un proceso este solicitando la instrucción a ejecutar, otro proceso este accediendo a un dato en memoria.

Número de Caches  

Pentium 4 - Caché Caché L1 8Kbytes Líneas de 64 bytes Asignación de 4 vías asociativa de grupo. Caché L2 512Kbytes Líneas de 128 bytes Asignación de 8 vías asociativa de grupo. Caché L3 en el chip 1 MB La caché L1 es usada para las micro-instrucciones.

Caché ARM  

GRACIAS