Tema 3: Sistema de memoria - atc2.aut.uah.esatc2.aut.uah.es/~juani/documentos/capitulo6.pdf ·...
Transcript of Tema 3: Sistema de memoria - atc2.aut.uah.esatc2.aut.uah.es/~juani/documentos/capitulo6.pdf ·...
Fundamentos de Computadores
Tema 6:Sistema de memoria
IntroducciónJerarquía del sistema de memoriasMemoria principal
Memoria entrelazadaMemoria cache
Políticas de ubicaciónPolíticas de extracciónPolíticas de reemplazoPolíticas de actualización
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá2
Bibliografía
Arquitectura de computadores. Un enfoque cuantitativo (Capítulo 8) Hennessy, J.L., Patterson, D.A Ed. McGraw-Hill.
Estructura y diseño de computadores: Interficie circuitería/programación(Capítulo 7). Patterson, D.A., Hennessy, J.L.. Ed. Reverté.
Arquitectura de Computadores (Capítulo 5)José A. de Frutos, Rafael Rico. Ed. Servicio de Publicaciones de la UA
Organización y Arquitectura de Computadores (Capítulo 4)William Stallings. Ed. Prentice Hall
Fundamentos de los Computadores (Capítulo 3)Pedro de Miguel Anasagasti. Ed. Paraninfo
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá3
Introducción
El sistema de memoria es es el lugar donde residen los programas y datos
Capacidad de almacenamientoVelocidadCoste
Organización jerárquica del sistema de memoriaObjetivo:Tener un sistema de alta capacidad, velocidad próxima a la de los dispositivos más rápidos y un coste cercano al de los dispositivos más lentos y baratos
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá4
Jerarquía del sistema de memorias (I)
REGISTROSREGISTROS
MEMORIA CACHEMEMORIA CACHE
MEMORIA PRINCIPALMEMORIA PRINCIPAL
DISCOS MAGNÉTICOS / MEMORIA VIRTUALDISCOS MAGNÉTICOS / MEMORIA VIRTUAL
DISCOS ÓPTICOS y CINTAS MAGNÉTICASDISCOS ÓPTICOS y CINTAS MAGNÉTICAS
Velocidad de acceso
Coste por bitCapacidad
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá5
Jerarquía del sistema de memorias (II)
Funcionamiento:La memoria de nivel i contiene la información de la de nivel i+1Esta información no tiene por qué ocupar la misma dirección de memoria
Definir un mecanismo para realizar la traducción de direcciones Modo de acceso a la información:1º El procesador indica la dirección de la información en memoria principal2º El acceso se intenta en el nivel más rápido (el de Mca: Memoria CACHE)
Si la información se encuentra, se accede (a la MCa)en caso contrario, se busca en el siguiente nivel (MP)
Si se encuentra (en MP), se transfiere al nivel anterior (MCa)en caso contrario, se busca en el siguiente nivel,
y así sucesivamente, ascendiendo la información hasta el primer nivel
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá6
Jerarquía del sistema de memorias (III)Principio de localidad de referencias a memoria:
Las referencias a memoria por parte del procesador (Is. y datos), tienden a estar agrupadas en el tiempo y en el espacio (posiciones de memoria)Localidad temporal Bucles, subrutinas... En periodos cortos de tiempo, el procesador referencia a un conjunto instrucciones/datos que se ejecutan en instantes de tiempo muy cercanos. Una ins/dato que se lea de memoria tiene muchas posibilidades de ser leída en un periodo corto de tiempo.Localidad espacial Tablas, matricesEn periodos cortos de tiempo, el procesador referencia a un conjunto de instrucciones/datos agrupados en posiciones cercanas de memoria
Diseño de la organización jerárquica de la memoria:Implica definir políticas de ubicación, reemplazoy resolver el problema de la coherencia en los diferentes niveles de la jerarquía de memoria (política de actualización)
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá7
Jerarquía del sistema de memorias (IV)
Tiempo de acceso efectivo (Tef):Tiempo medio empleado
en un acceso a memoriaDepende de los siguientes aspectos:
Tiempo de acceso a la memoria de cada nivel.Función de acierto de cada nivel
Ejemplo:Cálculo del Tef en un sistema de memoria con dos niveles, MCa y MP:
HrMCa · TaccMCa + (1-HrMCa) · (TaccMP + TaccMCa)
donde 1-HrMCa es el miss ratio
Eficiencia del sistema de memoria:
Función de acierto o "hit ratio" (Hr):Probabilidad de encontrar, en el nivel i, la información referenciada (número de aciertos/número total de accesos)
Depende de los siguiente aspectos:Tamaño del bloque de información que se transfiere desde el nivel i+1 cuando se produce un falloCapacidad de almacenamientoPolítica de reemplazoComportamiento del programa con respecto al conjunto de referencias que hace a memoria (traza)
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá8
Memoria principal (I)
Aumento del rendimiento de la memoria principal
Aumentar el ancho de banda (número de bits que se transmiten / seg.)
Mecanismos para aumentar el ancho de banda de MPReducción de su tiempo de acceso Aumento del tamaño de palabraPermitir el acceso concurrente a varios módulos de memoria, organización entrelazada
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá9
Memoria principal (II)Memoria entrelazada (I)
Permitir el acceso concurrente a módulos de memoria de tecnología no demasiado rápida, y por tanto, de menor costePermite multiplicar hasta por M el ancho de banda que se obtendría con un solo módulo, siendo M el número de módulosLimitación:
Conflictos de acceso la peticiones no permiten trabajarsimultáneamente con todos los módulos
Tipos de entrelazado:Según la forma en que se distribuye el mapa de direcciones en memoria:
De orden superiorDe orden inferior
Según el modo en el que se realiza el acceso a dichos módulos:Entrelazado simple o simultáneoEntrelazado complejo o concurrente
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá10
Memoria principal (III)Memoria entrelazada (II)
Entrelazado de orden superior:
Consiste en distribuir las direcciones de memoria entre los módulos de modo que cada uno contenga direcciones consecutivas
Ventajas:Facilita la expansión de la memoriaFiabilidad ante el fallo de un módulo de memoria
Módulo Dirección dentro del móduloMódulo Dirección dentro del módulo
DecodificadorDecodificador
Módulo0
Módulo0
Módulo1
Módulo1
Módulo M-1
Módulo M-1
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá11
Memoria principal (IV)Memoria entrelazada (III)
Entrelazado de orden inferior:
Consiste en asignar a módulos consecutivos direcciones consecutivas del mapa de memoria
Ventaja:Si las referencias sucesivas a memoria son consecutivas, se reducen los conflictos de acceso
Dirección dentro del módulo MóduloDirección dentro del módulo Módulo
DecodificadorDecodificador
Módulo0
Módulo0
Módulo1
Módulo1
Módulo M-1
Módulo M-1
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá12
Memoria cache (I)
Objetivo:Conseguir que las referencias a memoria se sirven a una velocidad muy cercana a la del procesador
Diseño de la MCa:Se debe tener en cuenta la optimización de los siguientes parámetros:
probabilidad de acierto, tiempo de acceso efectivo, retardos debidos a fallos actualización de la MP en caso de escritura
Está dividida lógicamente en: el directorio y los bloques de datos
estableciendo la correspondencia entre bloques de MP y bloques de MCa
CPUCPU
Memoria cacheMemoria cache
Memoria principalMemoria principal
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá13
Memoria cache (II)
Consideraciones de un sistema con memoria cache:
Política de ubicaciónPolítica de extracciónPolítica de reemplazoPolítica de actualizaciónTamaño más adecuado de la MCaUnicidad y homogeneidad de la MCaMinimización del tiempo de espera en caso de fallo en MCa
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá14
Memoria cache (III)Políticas de ubicación (I)
Las políticas de ubicación establecen la correspondencia entre los bloques de la MP y de la MCa Las políticas de ubicación más importantes son:
DirectaAsociativaAsociativa por conjuntos
Ejemplo de aplicación:Establecer la correspondencia entre MP y MCa en un sistema con:
Dirección física: 20 bitsTamaño de bloque: 8 bytes = 23 bytes/bloque
Capacidad MCa: 1Kbytes= 210 bytes Nº bloques MCa =
Capacidad MP: 1 Mbyte = 220 bytes Nº bloques de MP = 2
128222 7
3
10==
072.13122
173
20==
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá15
Memoria cache (IV)Políticas de ubicación (II)
Correspondencia directa (I):
Memoria principal
Bloque 0Bloque 0
Bloque 1Bloque 1
.
.
.
.
.
.
Bloque 127Bloque 127
Bloque128Bloque128
Bloque 129Bloque 129
.
.
.
.
.
.
Bloque 131.071Bloque 131.071
Memoria cachéMemoria caché
Etiqueta (B0)Etiqueta (B0)
Etiqueta (B1)Etiqueta (B1)
Etiqueta (B2)Etiqueta (B2)
.
.
.
.
.
.
Etiqueta (B127)Etiqueta (B127)
Bloque 0Bloque 0
Bloque 1Bloque 1
Bloque 2Bloque 2
.
.
.
.
.
.
Bloque 127Bloque 127
Acierto
FalloComparadorComparador Palabra enviada
al procesador
Dirección de MPEtiquetaEtiqueta Bloque de MCaBloque de MCa PalabraPalabra10 bits 7 bits 3 bits
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá16
Memoria cache (V)Políticas de ubicación (III)
107
172
MCa bloques 2MP bloques 2
=
Correspondencia directa (II): Una dirección en MCa consta de:
EtiquetaNº de bloque de MCaPosición en el bloque (palabra)
Solución:23 bytes/bloque 3 bits para la posición dentro del bloque27 bloques de MCa 7 bits para cada bloque
10 bits paracada etiqueta
Ventajas:La lectura permite el acceso simultáneo:
al directorio y a la palabra dentro del bloque de MCa
Algoritmo de reemplazo trivial
Inconveniente:Incremento de la tasa de fallosde la MCa, si dos bloques de MP, que corresponden a un mismo bloque deMCa, se utilizan de forma alternativa
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá17
Memoria cache (VI)Políticas de ubicación (IV)
Correspondencia totalmente asociativa (I):
Memoria principal
Bloque 0Bloque 0
Bloque 1Bloque 1
.
.
.
.
.
.
Bloque 127Bloque 127
Bloque128Bloque128
Bloque 129Bloque 129
.
.
.
.
.
.
Bloque 131.071Bloque 131.071
Memoria cachéMemoria caché
Bloque 0Bloque 0
Bloque 1Bloque 1
Bloque 2Bloque 2
.
.
.
.
.
.
Bloque 127Bloque 127
Acierto
Etiqueta (B0)Etiqueta (B0)
Etiqueta (B1)Etiqueta (B1)
Etiqueta (B2)Etiqueta (B2)
.
.
.
.
.
.
Etiqueta (B127)Etiqueta (B127)
Fallo
==
==
==
.
.
.
.
.
.
==
Dirección de MPEtiquetaEtiqueta PalabraPalabra
17 bits 3 bits
Palabra enviadaal procesador
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá18
Memoria cache (VII)Políticas de ubicación (V)
Corr. totalmente asociativa (II):
Cualquier bloque de MP puede ubicarse en cualquiera de los bloques de la cacheUna dirección en MCa consta de:
EtiquetaPosición en el bloque (palabra)
Solución:23 bytes/bloque 3 bits para la posición dentro del bloque217 bloques de MP 17 bits para
cada etiqueta
Ventaja:Flexibilidad (permite la implantación de gran variedad de algoritmos de reemplazo)
Inconveniente:Coste de las comparaciones
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá19
Memoria cache (VIII)Políticas de ubicación (VI)
Correspondencia asociativa por conjuntos (I): Memoria principal
Fallo
AciertoComparador 0Comparador 0
Comparador 1Comparador 1
Memoria cachéMemoria caché
Etiqueta (B127)Etiqueta (B127)
Etiqueta (B0)Etiqueta (B0)
Etiqueta (B1)Etiqueta (B1)
Etiqueta (B2)Etiqueta (B2)
Etiqueta (B3)Etiqueta (B3)
.
.
....
Etiqueta (B126)Etiqueta (B126)
Etiqueta (B127)Etiqueta (B127)
C0
C1
C63
Bloque 0Bloque 0
Bloque 1Bloque 1
Bloque 2Bloque 2
Bloque 3Bloque 3......
Bloque 126Bloque 126
Bloque 127Bloque 127
C0
C1
C63
Palabra enviadaal procesador
Bloque 0Bloque 0
Bloque 1Bloque 1
. . .. . .
Bloque 63Bloque 63
Bloque 64Bloque 64
Bloque 65Bloque 65
. . .. . .
Bloque 127Bloque 127
Bloque128Bloque128
Bloque 129Bloque 129
. . .. . .
Bloque 131.071Bloque 131.071
Dirección de MPEtiquetaEtiqueta Conjunto de MCaConjunto de MCa PalabraPalabra11 bits 6 bits 3 bits
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá20
Memoria cache (IX)Políticas de ubicación (VII)
Consiste en dividir la MCa en C conjuntos de B bloques cada unoSe aplica:
Correspondencia directa a nivel de conjuntoCorrespondencia asociativa a nivel de bloque
Una dirección en MCa consta de: Etiqueta, Conjunto y Posición en el bloque
Correspondencia asociativa por conjuntos (II):
Solución (asignando 2 bloqs./cjto.):23 bytes/bloque 3 bits para la posición dentro del bloque26 conjuntos en MCa 6 bits para cada conjunto11 bits para cada etiquetaEl coste de la búsqueda depende del número y longitud de las etiquetas que se tienen que comparar simultáneamente
Ventaja:Reduce el coste de la totalmente asociativa proporcionando un rendimiento cercano a esta última
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá21
Memoria cache (X)Políticas de extracción (I)
Determinan cuándo y qué información se envía de MP a MCaLas más utilizadas son:
Extracción por demandaExtracción con anticipaciónExtracción selectiva
Extracción por demanda: Consiste en traer a MCa el bloque en el momento en que se necesita, es decir, cuando se produce un fallo
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá22
Memoria cache (XI)Políticas de extracción (II)
Extracción con anticipación:Anticiparse siempre (allways prefetch), Consiste en traer a MCa el bloque i+1 de MP siempre que se haga referencia al bloque iAnticiparse cuando se produce un fallo (prefetch on a miss), Consiste en traer a MCa el bloque i+1 de MP, sólo si hay fallo al referenciar el bloque i
Inconvenientes:Se incrementa inútilmente el tráfico entre la MP y la MCa, si no se comprueba previamente si el bloque ya estaba en MCa Pueden producirse inconsistencias
Extracción selectiva:Consiste en etiquetar algún tipo de información para que nunca pueda ser enviada a la MCa. Ej.: Sistema multiprocesador con memoria compartida
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá23
Memoria cache (XII)Políticas de reemplazo
Determinan cuándo y qué bloque se sustituye de las MCa con política de ubicación asociativaLas más utilizadas son:
Aleatoria Consiste en elegir el bloque a reemplazar de forma aleatoriaLRU Least-Recently UsedConsiste en reemplazar aquel bloque de MCa que no ha sido utilizado durante el mayor periodo de tiempoFIFO - First In First OutConsiste en reemplazar el bloque que ha permanecido en MCa el mayor periodo de tiempo
La política aleatoria es la más sencilla y menos costosaEn las políticas LRU y FIFO la complejidad y el coste aumentan a medida que aumenta el número de bloques entre los que se debe elegir
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá24
Memoria cache (XIII)Políticas de actualización (I)
Determinan el instante en que se actualiza la información en MP cuando se produce una escritura en MCa Problema de coherencia de la MCaPolíticas:
Escritura inmediataEscritura aplazada
Escritura inmediata - Write through - Se escribe a la vez en MCa y MP Ventajas:
Realización muy sencillaAsegura la consistencia (en sistemas monoprocesador)
Inconvenientes: Se genera mucho tráfico a memoriaEl procesador tiene que esperar (la diferencia entre los tiempos de escritura en MCa y MP) para que se complete la escritura Solución: Usar un buffer de escritura
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá25
Memoria cache (XIV)Políticas de actualización (II)
Escritura aplazada o post-escritura - Write backActualiza únicamente la MCa. Cuando tiene lugar la actualización, se activa un bit (dirty bit), que indica si el bloque debe ser actualizado en MP cuando se reemplace en MCaVentajas:
Produce menos tráfico de información en la MPLos accesos de escritura, en caso de acierto, se llevan a cabo a la velocidad de la MCa
Inconvenientes:El diseño es más complejo, debido a que es necesario implementar el control del dirty bit
Desde el punto de vista de los posibles fallos hardware transitorios de laMCa, es preferible la utilización de la escritura inmediata
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá26
Memoria cache (XV)Políticas de actualización (III)
Existen dos formas de actuar en el caso en que un acceso de escritura produce 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
Arquitectura de Computadores Departamento de Automática Universidad de Alcalá27
Memoria cache (XVI)
Tamaño de la memoria cache y sus bloques:tamaño del bloque tasa de aciertos por localidad espacial
nº bloques en MCa -> tasa de aciertos por localidad temporal
tamaño del bloque tráfico de información MCa - MPUnicidad y homogeneidad de la memoria cache:
Ventajas de las MCa separadas para almacenar instrucciones y datos:Las instrucciones presentan sobre todo localidad espacial y los datos localidad temporalPermite acceso simultaneo a instrucciones y datos velocidad
Caches de uno y dos niveles:Mejora de las prestaciones con MCa de 2 nivelesMCa on-chip elimina acceso al bus mejora los tiempos de ejecución