Microprocesadores para comunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Organización y estructura de las memorias caché

Documentos relacionados
Organización lógica Identificación de bloque

Memoria Cache. Departamento de Arquitectura de Computadores

Organización del Computador 1 Memoria Cache

Jerarquía de memoria - Motivación

Tema 6 (II) Jerarquía de Memoria

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

Ejercicios Jerarquía de Memoria

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Memoria. Organización de memorias estáticas.

Registros. Cache L1. Cache L2. Memoria Principal (RAM) Memoria Secundaria (Disco) Memoria Terciaria (Cinta)

Caché. Matías Barbeito Organización del computador 1 2 cuatrimestre 2011

Arquitectura de Computadores II Clase #6

Memoria Virtual. Memoria Virtual

Tema 5: Memorias. Espacio reservado para notas del alumno

Ejercicios de Arquitectura de Computadoras

Arquitectura de Computadoras para Ingeniería

Memoria Cache. Clase Práctica Organización del computador I 2º Cuatrimestre de octubre. María Elena Buemi

Simulación de sistemas de memoria con Xcache32

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

ARQUITECTURA DE COMPUTADORES. 2º INGENIERÍA INFORMÁTICA. Problemas de Gestión de Memoria.

Ejercicios del tema 5. Jerarquía de de Memoria

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

16bits: Tamaño total: 2 16 Tamaño página: 2 13 nº de páginas: 2 16 / 2 13 = 2 3 = 8 páginas Tamaño de tabla: 2 3 *2B = 16B por tabla

Jerarquía de Memoria. Sistema de Memoria. El Cache. Efectividad del Cache. Patrón de Accesos a Memoria Generado por Programas

LECCIÓN 1. DISEÑO DE SISTEMAS DE MEMORIA

Arquitectura de Computadores II Clase #7

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

Tema 4. Subsistema de Memoria

Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras)

Arquitectura de Computadores

Tema 7. Memoria virtual

Tema 5. Memorias. Estructura de Computadores. Índice. Curso

Respuestas al Problemario Memoria Cache

T E M A 2. Sistema de Memoria

Tema N 12: Sistema de Memoria: Cache

MEMORIA CACHÉ. Componentes principales de un ordenador

Resolución de los Ejercicios de la Hoja 4

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura de Computadores. Tema 13 Memoria Virtual. Eduardo Daniel Cohen

Organización del Computador 1 Memorias

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Hardware: dentro de la caja. Introducción a la Informática

TAREA 1 MANTENIMIENTO DE COMPUTADORES:

Ejercicios de jerarquía de memoria

Hardware: Dentro de la caja. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. 2. Multiprogramación

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: 8va. Ed., Prentice Hall, 2009

Administración de Memoria.

DEFINICIÓN RAZONES PARA HACER UN MANTENIMIENTO AL PC

LA MEMORIA CACHÉ LA MEMORIA CACHÉ

ENIAC, Primer computador electrónico y su panel de conexiones

Clase Práctica Memoria Caché

Arquitectura Von Neumann

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

SISTEMAS OPERATIVOS Arquitectura de computadores

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

EVOLUCION PROCESADORES AMD (ADVANCED MICRO DEVICES)

Organización de Computadoras. Turno Recursantes Clase 8

Tema 2 Unidades de Memoria y Entrada/Salida

PROBLEMAS TEMA 2: Unidad de memoria Problemas propuestos en examen ORGANIZACIÓN DE MEMORIA

Electrónica Digital II

Tema: Microprocesadores

21. Jerarquía de Memoria. Conceptos básicos

Arquitectura de computadoras. Unidad 3. Arquitectura de computadoras / (Rodriguez Ricardo) Diapositiva 1

Tema 1: Introducción a los Sistemas Empotrados

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

Ingeniería de Computadores I Primera Actividad Calificable

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II

Dep. Tecnología / MJGM NOCIONES BÁSICAS INFORMATICA 4º ESO. Nociones básicas 1

Ing. Carlos Bacalla Página 1 de 5

CPU. Unidad central de procesamiento

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

1) Se dispone de un computador de 32 bits con la siguiente estructura:

Taller de Sistemas Operativos. Direccionamiento de Memoria 2012

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Arquitectura de un computador

Sistema de archivos de Google. Mario Alonso Carmona Dinarte A71437

Tema: Historia de los Microprocesadores

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

6. PROCESADORES SUPERESCALARES Y VLIW

Tema 1: Arquitectura de ordenadores, hardware y software

La memoria ROM Éste es un tipo de memoria de sólo lectura que almacena, de modo permanente, un programa creado por el fabricante.

Sea una memoria caché en la que cada 2 20 accesos se producen 2 17 fallos. Calcule la tasa de fallos.

MEMORIA. Programación II

TEMA 1 ELEMENTOS DE UN ORDENADOR BLOQUE 1 HARDWARE

Informática Básica. 2º Diplomatura en Ciencias Empresariales Universidad Pública de Navarra. Informática Básica, DCE-UPNA 1

Unidad 2: Gestión de Memoria

2. UNION TEMPORAL SED INTERNACIONAL - HARDWARE ASESORIAS Y SOFTWARE. HP DX 5150 MINITORRE 1. DELL COLOMBIA INC.

Gestión de memoria Gestión de memoria Índice y bibliografía

MICROPROCESADORES, EVOLUCIÓN HISTÓRICA Y CARACTERÍSTICAS TÉCNICAS BÁSICAS

Sistema de memoria. Miquel Albert Orenga Gerard Enrique Manonellas PID_

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 4. La Memoria 1

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Sistemas Operativos [Administración de la memoria]

Espacio de direcciones de un proceso

EL ORDENADOR Y SUS COMPONENTES

Qué es un Microcontrolador?

Transcripción:

Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Introducción (I) ENIAC (Electronic Numerical Integrator And Computer)

Introducción (II) Arquitectura Von Neumann

Introducción (III) Ley de Moore: el nivel de integración se duplicará cada año y medio

Introducción (IV) Las memorias no han experimentado el mismo grado de mejora en lo que se refiere al tiempo de acceso

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Performance Introducción (V) 1000 CPU µproc 60%/yr. (2X/1.5yr) 100 10 1 Processor-Memory Performance Gap: (grows 50% / year) DRAM DRAM 9%/yr. (2X/10 yrs) Diferencia de rendimiento entre memoria y microprocesador

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Niveles de jerarquía de memoria (I) Memorias caché Memoria pequeña y rápida situada en el procesador y la memoria principal Almacena una copia de la información más recientemente utilizada Disminuye el tiempo de acceso a memoria Objetivo: Dar la impresión de que las referencias a memoria se realizan a una velocidad muy cercana a la del procesador palabras bloques

Niveles de jerarquía de memoria (II) Velocidad Tamaño Coste 0,25 ns 500 B Más alto 1 ns 64 KB 100 ns 512 MB 5 ms 100 GB Más bajo

Niveles de jerarquía de memoria (III)

Niveles de jerarquía de memoria (IV) El sistema de memoria jerárquica debe hacer que en todo momento los datos que necesita la CPU se encuentren en el nivel más bajo de jerarquía La información fluye de un nivel superior a uno inferior a medida que se necesite La unidad de transferencia entre la MP y la MCa es el bloque o línea

Niveles de jerarquía de memoria (V) Operación de lectura de caché

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Principio de localidad Localidad Temporal: Si se accede a una posición de memoria en un instante de tiempo determinado, existe una alta probabilidad de que se vuelva a acceder en los instantes siguientes. Localidad Espacial: Si se accede a una posición de memoria en un instante determinado, existe una alta probabilidad de que en los instantes siguientes se acceda a las posiciones de memoria cercanas.

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Terminología Acierto : acceso en el que se encuentra el dato (cache hit) Fallo: acceso en el que no se encuentra el dato (cache miss) Tasa de aciertos: porcentaje de veces que se encuentra el dato que se busca en el nivel superior (hit rate) Tiempo de acierto: tiempo necesario para leer un dato de la memoria caché. Incluye determinar si fue hit o miss Penalización por fallo: tiempo adicional que se tarda en obtener un dato cuando se produce un fallo. Es el tiempo para reemplazar un bloque en el nivel superior con el correspondiente bloque del nivel inferior, más el tiempo para proveer ese bloque al procesador.

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Políticas de ubicación Establece la correspondencia entre bloque de la MP y la MCa (dónde puede ubicarse un bloque en una caché) Cuando una caché solita un bloque al nivel inferior, tiene que decidir dónde lo ubica La posible ubicación de un bloque crea tres categorías en la organización de la cachés - Cachés de correspondencia directa (direct mapped cache) - Cachés completamente asociativa (fully associative cache) - Cachés de correspondencia asociativa por conjuntos (set associative cache)

Política de ubicación (I) Caché de correspondencia directa Cada bloque de la memoria principal sólo puede ir en una línea de la caché Número línea caché = número del bloque de la MP MODULO número de líneas en la caché

Política de ubicación (II) Caché de correspondencia directa m Ventajas: - Algoritmo de reemplazo trivial m Inconvenientes: - Incremento de la tasa de fallos de caché, si dos bloques de memoria principal, que corresponden a un mismo bloque de la caché, se utilizan de forma alternativa

Política de ubicación (III) Caché de correspondencia totalmente asociativa Cada bloque de la memoria principal puede ir en cualquier posición de la caché

Política de ubicación (IV) Caché de correspondencia totalmente asociativa m Ventajas: - Flexibilidad ya que permite la implantación de un gran variedad de algoritmos de reemplazo m Inconvenientes: - Coste de las comparaciones

Política de ubicación (V) Caché de correspondencia asociativa por conjuntos - La memoria caché se divide en varios conjuntos de bloques - Los bloques de MP se asignan mediante correspondencia directa a los conjuntos de la caché, pero dentro de éstos el bloque de ubicación se elige libremente Nº de conjunto = Nº bloque MP MODULO Nº conjuntos caché

Política de ubicación (VI)

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Arquitecturas hardware (I) Correspondencia directa Cada línea de la caché está compuesta por tres campos: - Datos - Etiqueta: Identifica el bloque de MP - Bit de validez Bit validez Etiqueta Datos

Arquitecturas hardware (II) Correspondencia directa dirección 3 bits 3 bits 2 bits etiqueta línea palabra Bit validez etiqueta palabras 0 1 2 3 4 5 6 7

Arquitecturas hardware (III) Correspondencia directa

Funcionamiento cache de correspondencia directa (I)

Funcionamiento cache de correspondencia directa (II)

Funcionamiento cache de correspondencia directa (III)

Funcionamiento cache de correspondencia directa (IV)

Funcionamiento cache de correspondencia directa (V)

Funcionamiento cache de correspondencia directa (VI)

Funcionamiento cache de correspondencia directa (VII)

Funcionamiento cache de correspondencia directa (VIII)

Funcionamiento cache de correspondencia directa (IX)

Funcionamiento cache de correspondencia directa (X) Ejemplo: Dividir la dirección de la memoria principal en campos para una política de ubicación de correspondencia directa - Memoria principal de 1Mbytes - Memoria caché de 1Kbytes - Tamaño del bloque de 8 bytes

Arquitecturas hardware (IV) Estructura de una caché totalmente asociativa

Arquitecturas hardware (V) Estructura de una caché asociativa por conjuntos

caché asociativa por conjuntos (I)

caché asociativa por conjuntos (II)

caché asociativa por conjuntos (III)

Caché asociativa por conjuntos (IV) Ejemplo de correspondencia entre dirección de memoria principal y una memoria caché asociativa por conjuntos - Memoria principal de 1Mbytes - Memoria caché de 1Kbytes - Tamaño del bloque de 8 bytes - Tamaño del conjunto 2 bloques

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Políticas de reemplazo Determina cuándo y qué bloque de memoria caché debe abandonarla cuando no existe espacio disponible para un bloque entrante. o o o o Aleatoria: Se escoge una línea del espacio de reemplazamiento al azar. FIFO: Consiste en reemplazar la línea que ha permanecido en la MCa el mayor periodo de tiempo Menos recientemente usado (LRU Least-recently used ): Se sustituye aquella línea de MCa que hace más tiempo que no se ha utilizado. LFU (Least Frequently Used): Se sustituye la línea del espacio de reemplazamiento que haya sido menos referenciada.

Tasa de fallos vs política de reemplazo

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Políticas de actualización (I) Determina cuándo se actualiza la información en MP al haberse producido una escritura en MCa para evitar problemas de falta de coherencia o Escritura inmediata ( Write Through): Cuando se escribe un bloque en memoria caché se actualiza directamente la información también en memoria principal - Ventajas la realización es muy sencilla y asegura la coherencia - Inconvenientes produce mucho tráfico entre memoria y el procesador debe esperar que se complete la escritura lo que lleva al empleo de buffer de escritura o Escritura aplazada (Write back): Consiste en escribir en MCa y únicamente se escribe en MP si el bloque a reemplazar ha sido modificado - Ventajas produce menos tráfico entre la memoria y el procesador y las escrituras se hacen a la velocidad de la caché - Inconvenientes el diseño es más complejo ya que hacen falta bits extras de control.

Políticas de actualización (II) Existen dos formas de actuar en el caso en que un acceso de escritura produzca un fallo: - Escritura con ubicación (Write with allocate): se suele asociar con escritura aplazada. Consiste en llevar el bloque que produce el fallo de MP a MCa y a continuación realizar la escritura en MCa - Escritura sin ubicación (Write with no allocate): se suele asociar con escritura inmediata. Consiste en realizar únicamente la escritura sobre la MP cuando se produce un fallo

Funcionamiento de la caché con write-back (I)

Funcionamiento de la caché con write-back (II)

Funcionamiento de la cache con write-back (III)

Funcionamiento de la cache con write-back (IV)

Funcionamiento de la cache con write-back (V)

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Memorias cache multinivel (I) Se añade un segundo nivel de caché fuera del chip (L2) con un tiempo de acceso menor que el de la memoria principal. Cuando ocurre un fallo en la caché primaria (L1), se accede a la caché secundaria (L2) para buscar los datos. - Si están allí se reduce la penalización de fallo. - Si no están accedemos a la memoria principal. Normalmente la L1 es de pequeño tamaño y con asociatividad 2 o 4, mientras que la L2 es grande y con asociatividad 2, como mucho. CPU Caché L1 Caché L2 Memoria principal

Memorias cache multinivel (II) CPU CPU Caché de instrucciones Caché de datos Caché unificada Memoria principal Memoria principal

Índice Introducción Niveles de jerarquía de memoria Principio de localidad Terminología Políticas de ubicación Arquitecturas hardware Políticas de reemplazo Políticas de actualización Memorias caché multinivel Memorias caché en microprocesadores actuales

Memorias caché en microprocesadores actuales (I) AMD Athlon

Memorias caché en microprocesadores actuales (II) AMD Opteron - Phenom X3

Memorias caché en microprocesadores actuales (III) Intel Pentium II

Memorias caché en microprocesadores actuales (IV) Pentium 4

Memorias caché en microprocesadores actuales (V) Intel Itanium 2 L1I +L1D - 16k bytes por caché - Asociativa por conjuntos: 4 líneas L2-256k bytes - Asociativa por conjuntos: 8 líneas L3-6 M bytes - Asociativa por conjuntos: 12 líneas

Memorias caché en microprocesadores actuales (VI) PowerPC G5 Caché L2 512 K de caché L2 facilitan al núcleo de ejecución acceso ultrarrápido a 64 MBps a datos e instrucciones. Caché L1 Dotada de mapeado directo de 64 K a 64 GBps.

Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de la memoria cache