ISI374 – Arquitectura de Computadores Clase 18: Jerarquía de memoria Pt.1 Departamento de Ingeniería de Sistemas Universidad de Antioquia 2010-1.

Slides:



Advertisements
Presentaciones similares
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
Advertisements

Organización y arquitectura de sistemas de memoria
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Memoria RAM. Memoria RAM Definición y características.
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
MEMORIA 1.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Windows XP sp3.
Algorítmo de Mapeo Directo
El propósito del almacenamiento es guardar datos que la computadora no esté usando. El almacenamiento tiene tres ventajas sobre la memoria: Hay más espacio.
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.
Tecnologías de la Información y la Comunicación Profesor: Eliecer Espinosa.
Sistema de Memoria de una Computadora
Computadora Digital Arquitectura de John Von Neumann
Introducción a la Informática Clase 7
Tema 10: Gestión de Memoria
INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN LABORATORIO DE SISTEMAS DIGITALES Grupo de Arquitectura de Computadoras y Sistemas.
Diseño de la Jerarquía de Memorias
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
Ing. CIP Francisco Mori Quiroz
Estructura y Tecnología de Ordenadores Noviembre 2004.
Elaborado por: Guillermo Baquerizo I Término
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
Soporte HW para Administración de Memoria Cecilia Hernández
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Memorias de almacenamiento Laura Yamile Rivera Gutiérrez Juliana Medina Ramírez.
Memorias RAM Características: Son de lectura escritura
 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.
¿Qué unidades conforman el procesador?
Arquitectura de Von Neumann
Ing. María Rosa Dámaso Ríos1 MEMORIA PRINCIPAL Y SECUNDARIA Quinta Semana.
Memoria Introducción.
Organización del Computador
Memorias.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Programa del Curso Fundamentos del Diseño de Computador. Fundamentos del Diseño de Computador. Arquitectura del Conjunto de Instrucciones (Revisión). Arquitectura.
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.
FUNDAMENTOS DE PROGRAMACIÓN Unidad I. Computador: Es una maquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren.
Gestión de Memoria.
Organización del Computador I Verano Jerarquía de Memoria Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
1.2 ESTRUCTURA Y FUNCIONAMIENTO DE LA COMPUTADORA
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.
SANTIAGO MORA BERMÚDEZ
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
Tema 10 Subsistema de memoria de un computador.
Memoria Principal RAM-ROM-CACHEPor Leyner Steven Cortez.
     Jerarquía de memoria.
Gestión de memoria Rina Arauz.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Resolución de problemas Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Unidad de transferencia de memoria
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Gestión de Memoria – Parte 2
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 Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
CAPITULO V Arquitectura de Von Neumann
UNIVERSIDDA TECNICA DE MACHALA FACULTAD DE CIENCIAS QUIMICAS Y DE LA SALUD ESCUELA DE ENFERMERIA UNIVERSIDDA TECNICA DE MACHALA FACULTAD DE CIENCIAS QUIMICAS.
Arquitectura de Computadores
Transcripción de la presentación:

ISI374 – Arquitectura de Computadores Clase 18: Jerarquía de memoria Pt.1 Departamento de Ingeniería de Sistemas Universidad de Antioquia

ISI374 - Arquitectura de Computadores (2010-1) 2 Resumen  Modelo de von Neumann  Características de los sistemas de memoria  Memorias semiconductoras  Almacenamiento en el computador  Brecha de rendimiento entre el procesador y la memoria  Principio de localidad  Jerarquía de memoria  Aspectos básicos de memoria cache

ISI374 - Arquitectura de Computadores (2010-1) Modelo de von Neumann  Concepto del programa almacenado  Las instrucciones y los datos de un programa se guardan en una memoria de lectura/escritura 3 CPU Busses Controllers Working storage SRAM (Cache) DRAM (Main memory) Permanent storage Magnetic disks Optical disks Tapes Input Keyboard Mouse Scanner Digital Camera Network Sound, Video cards Screen Printer Output Memory system I/O system

ISI374 - Arquitectura de Computadores (2010-1) Características de los sistemas de memoria  Ubicación (Interna, Externa)  Capacidad  Unidad de transferencia  Método de acceso (Secuencial, Directo, Aleatorio, Asociativo)  Rendimiento (Tiempo de acceso (latencia), Tiempo de ciclo de memoria, Tasa de transferencia)  Tecnología de fabricación (Semiconductor (Transistores CMOS), Superficie magnética, Óptica)  Características físicas (Volátil, No volátil) 4

ISI374 - Arquitectura de Computadores (2010-1) Memorias semiconductoras  Memoria de acceso aleatorio (RAM)  Memoria volátil  Lectura/escritura  El tiempo de acceso es independiente de la posición de memoria y de la secuencia previa de accesos  La memoria RAM es la memoria a la que se refieren las características de un computador  Almacena las instrucciones y los datos que requiere el computador para ejecutar los programas » 1981:“640KB of memory ought to be enough for anybody” Bill Gates » 2007: Windows Vista requiere mínimo de 2GB de RAM para comportarse decentemente!!! 5

ISI374 - Arquitectura de Computadores (2010-1) Memorias semiconductoras  Dynamic RAM (DRAM)  Es la forma más popular de RAM  Construcción basada en celdas que almacenan el dato como la carga de un capacitor (es, en esencia, un dispositivo analógico)  La presencia o ausencia de carga se interpreta como un estado binario (0, 1)  Requiere de un refrescamiento periódico de la carga para conservar el dato almacenado  Gran densidad de integración (1 transistor por celda) y bajo costo 6

ISI374 - Arquitectura de Computadores (2010-1) Memorias semiconductoras  Static RAM (SRAM)  Dispositivo digital que usa la misma tecnología de fabricación de la CPU  Se emplea para ofrecer una interfaz directa a la CPU (memoria cache)  Una celda SRAM consiste en un flip-flop biestable: cuando no se direcciona la celda, los dos transistores de acceso están abiertos y el dato se conserva en un estado estable  El flip-flop necesita de un suministro eléctrico constante para conservar la información (volátil)  No es necesario un ciclo de refrescamiento  SRAM es más rápida, menos densa (6 transistores por celda), consume más potencia que DRAM, y es mucho más costosa 7

ISI374 - Arquitectura de Computadores (2010-1) Almacenamiento en el computador  Static RAM (SRAM)  0.5ns – 2.5ns, USD $2000 – $5000 por GB  Dynamic RAM (DRAM)  50ns – 70ns, USD $20 – $75 por GB  Disco magnético  5ms – 20ms, USD $0.20 – $2 por GB  Memoria ideal  Tiempo de acceso de SRAM  Capacidad y costo/GB del disco 8

ISI374 - Arquitectura de Computadores (2010-1) Brecha de rendimiento entre el procesador y la memoria 9  P: 50%/year DRAM: 10%/year Processor-Memory performance gap (grows ~40%/year) Ley de Moore

ISI374 - Arquitectura de Computadores (2010-1) Acerca del sistema de memoria 10  Hechos:  Es necesario suministrar al procesador una instrucción y algunos operandos cada nuevo ciclo de reloj  Las memorias grandes son lentas, y las memorias rápidas son pequeñas  ¿Cómo crear una memoria que ofrezca la ilusión de ser grande, barata y rápida (la mayor parte del tiempo)?  Con una jerarquía  Con paralelismo

ISI374 - Arquitectura de Computadores (2010-1) Principio de localidad 11 En un momento dado, un programa sólo accede a una pequeña porción de su espacio de direcciones Localidad temporal  Es muy probable que los ítems a los que se ha accedido recientemente sean referenciados pronto otra vez  Ejemplo: las instrucciones de un bucle  Mantener los ítems accedidos más recientemente cerca del procesador Localidad espacial  Es muy probable que los ítems cercanos a aquellos accedidos recientemente sean referenciados pronto  Ejemplos: acceso secuencial a instrucciones, elementos de un array  Mover bloques consistentes en varias palabras contiguas cerca del procesador

ISI374 - Arquitectura de Computadores (2010-1) Jerarquía de memoria 12  Sacando provecho del principio de localidad se puede tener la ilusión de disponer de tanta memoria como lo permite la tecnología más barata, a la velocidad de la tecnología más rápida  Jerarquía de memoria Consiste en disponer de diferentes niveles de memoria con diferentes velocidades y tamaños  Almacenar todo en el disco  Copiar los ítems accedidos recientemente (y sus vecinos) desde el disco a una memoria DRAM más pequeña » Memoria principal  Copiar los ítems accedidos recientemente (y sus vecinos) desde la DRAM a una memoria SRAM más pequeña » Memoria caché unida a la CPU

ISI374 - Arquitectura de Computadores (2010-1) Memoria cache ($ memory) 13  Nivel de la jerarquía de memoria que ubicado entre el procesador y la memoria principal  Se implementa usando la misma tecnología de fabricación de la CPU (normalmente integrada en el mismo chip)  Más rápida pero también más costosa que la DRAM  La memoria cache almacena un subconjunto de la memoria principal  La mayoría de los procesadores poseen caches de datos e instrucciones separadas

ISI374 - Arquitectura de Computadores (2010-1) Representación de la jerarquía de memoria 14 Procesador Tamaño de memoria en cada nivel Mayor distancia al procesador, mayor tiempo de acceso Nivel 1 Nivel 2 Nivel n Nivel 3... Mayor Menor Niveles en la jerarquía de memoria En niveles inferiores, la latencia crece y el precio por bit disminuye

ISI374 - Arquitectura de Computadores (2010-1) Terminología de la jerarquía de memoria 15  Bloque:  Unidad de información que está presente o no en un nivel de la jerarquía  Unidad mínima de transferencia » Puede ser de varias palabras  Cuando el procesador solicita un dato:  Si el dato accedido está en el nivel superior: » Acierto (Hit): acceso satisfecho por el nivel superior  Tasa de aciertos (Hit ratio): aciertos/accesos  Tiempo de acierto (Hit time)  Si el dato accedido no está en el nivel superior: » Fallo (Miss): el bloque es copiado desde el nivel inferior  Tiempo necesario: penalización de fallo (miss penalty)  Tasa de fallos (Miss ratio): fallos/accesos = 1 – tasa de aciertos

ISI374 - Arquitectura de Computadores (2010-1) Tiempo de acierto, penalización de fallo 16  Hit time: Tiempo de acierto  Tiempo para acceder a un nivel de la jerarquía  Consiste en: » Tiempo para acceder al bloque + Tiempo para determinar si hay acierto/fallo  Miss Penalty: Penalización de fallo  Tiempo para reemplazar un bloque en un nivel de la jerarquía con el bloque correspondiente del nivel inferior  Consiste en: » Tiempo para acceder al bloque en el nivel inferior + Tiempo para transferir ese bloque al nivel que sufrió el fallo + Tiempo para insertar el bloque en este nivel + Tiempo para pasar el bloque a quien lo solicita  Para la que el diseño de la jerarquía de memoria tenga sentido: Hit Time << Miss Penalty

ISI374 - Arquitectura de Computadores (2010-1) ¿Cómo se gestiona la jerarquía? 17  Registros  Memoria  Por el compilador (programador?)  Memoria cache  Memoria principal  Por el hardware controlador de la memoria cache  Memoria principal  Discos  Por el sistema operativo (Memoria virtual)

ISI374 - Arquitectura de Computadores (2010-1) Aspectos básicos de memoria cache 18 Dos cuestiones a responder (en hardware):  P1: ¿Cómo sabemos si un dato está o no en la cache?  P2: Si está, ¿cómo encontrarlo? Cache de emplazamiento directo (Direct-mapped cache)  Cada posición de memoria se mapea a un solo bloque en la cache (sólo hay una opción)  Varios bloques del nivel inferior deben compartir bloques en la cache  Mapeo entre direcciones y posiciones de cache (para responder P2) (Dirección del bloque) mod (# bloques en la cache)  Si el # bloques en la cache es una potencia de 2, se emplean los log 2 (# bloques) bits inferiores de la dirección para acceder a la cache

ISI374 - Arquitectura de Computadores (2010-1) Aspectos básicos de memoria cache 19 Cache de emplazamiento directo (Direct-mapped cache) (Dirección del bloque) mod (# bloques en la cache) Tamaño de bloque: 1 palabra (32 bits) # bloques = 8  Se emplean log 2 (8) = 3 bits de la dirección del bloque para acceder a la cache (Index) XX Bloques de una palabra: los dos bits inferiores definen el byte dentro de la palabra Index XX: bits que se ignoran cuando se hace referencia al bloque Diferentes bloques de memoria mapean al mismo bloque en la cache Dirección del bloque

ISI374 - Arquitectura de Computadores (2010-1) Tags y bit de validez 20  Si varios bloques del nivel inferior pueden ocupar el mismo bloque en la cache, ¿cómo sabemos cuál dato en particular está almacenado en una posición de la cache?  Disponer de un tag asociado con cada bloque de la cache, que contiene información de la dirección (la parte superior de la misma) necesaria para identificar el bloque (para responder P1)  ¿Cómo sabemos si el bloque de cache contiene información válida?  Por ejemplo, cuando arranca el procesador, la cache no tiene información útil y su contenido no tiene significado alguno  Bit de validez: 1 = Dato válido (presente), 0 = Dato inválido (no presente)  Inicialmente en 0

ISI374 - Arquitectura de Computadores (2010-1) Ejemplo de acceso a la cache 21  Cache de emplazamiento directo (direct-mapped cache) de 8 bloques, 1 palabra/bloque  Ilustrar el comportamiento de la cache ante la siguiente secuencia de accesos a bloques en memoria: 22, 26, 22, 26, 16, 3, 16, 18 (direcciones de palabra)  # bloques = 8 = 2 3  3 bits inferiores de la dirección para acceder a la cache

ISI374 - Arquitectura de Computadores (2010-1) 22 Ejemplo de acceso a la cache  Estado inicial de la memoria cache IndexVTagData 000N 001N 010N 011N 100N 101N 110N 111N

ISI374 - Arquitectura de Computadores (2010-1) 23 Ejemplo de acceso a la cache IndexVTagData 000N 001N 010N 011N 100N 101N 110N 111N Word addrBinary addrHit/missCache block Miss110

ISI374 - Arquitectura de Computadores (2010-1) 24 Ejemplo de acceso a la cache IndexVTagData 000N 001N 010N 011N 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss110

ISI374 - Arquitectura de Computadores (2010-1) 25 Ejemplo de acceso a la cache IndexVTagData 000N 001N 010Y11Mem[11010] 011N 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss010

ISI374 - Arquitectura de Computadores (2010-1) 26 Ejemplo de acceso a la cache IndexVTagData 000N 001N 010Y11Mem[11010] 011N 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Hit Hit010

ISI374 - Arquitectura de Computadores (2010-1) 27 Ejemplo de acceso a la cache IndexVTagData 000Y10Mem[10000] 001N 010Y11Mem[11010] 011Y00Mem[00011] 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss Miss Hit000

ISI374 - Arquitectura de Computadores (2010-1) 28 Ejemplo de acceso a la cache  Hits = 3, Misses = 5, Hit rate = 3/8 (37.5%), Miss rate = 5 / 8 (62.5%) IndexVTagData 000Y10Mem[10000] 001N 010Y10Mem[10010] 011Y00Mem[00011] 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss010

ISI374 - Arquitectura de Computadores (2010-1) 29 Lecturas recomendadas  Computer organization and architecture. Designing for performance, 6th ed., Chapter 5. W. Stallings. Pearson Education  N. Mahapatra and B. Venkatrao. The Processor-Memory bottleneck: Problems and Solutions. Crossroads, The ACM Student Magazine, V. 5, N. 3, Spring Accesible vía web:  Computer organization and design. The hardware/software interface, 3rd ed., Chapter 7. D. Patterson and J. Hennessy. Morgan Kaufmann Publishers