Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructura de Computadores
Aprovechamiento de la
jerarquía de memoria
Índice
Esquema 3
Ideas clave 4
3.1. Introducción y objetivos
3.2. Conceptos básicos de caché
3.3. Evaluación y mejoras de la caché 11
3.4. Memoria virtual 14
A fondo 19
Test 20
Esquema 3
Ideas clave 4
3.1. ¿Cómo estudiar este tema?
3.2. Introducción
3.3. Conceptos básicos de caché 13
3.4. Evaluación y mejoras de la caché 13
3.5. Memoria virtual
A fondo 14
Test 15
Esquema
Estructura de Computadores 3
Tema 3. Esquema
Ideas clave
Este tema se plantea como una revisión de los conceptos relacionados con la
jerarquía de memoria. En él vamos a tratar aspectos de optimización de memoria
principal y memoria caché, así como abundar ahondar en su interrelación como
elementos del subsistema de memoria de un procesador y algunos aspectos de
optimización de la jerarquía de memoria para altas prestaciones.
Se introduce también el concepto de memoria virtual desde la perspectiva del
procesador.
Revisar conceptos relacionados con la jerarquía de la memoria de un
computador.
Conocer la forma de interrelacionar la memoria principal con los elementos de
memoria del procesador.
3.2. Introducción
Estructura de Computadores
Tema 3 Ideas clave
• Tiempo de acceso: 0,5 – 2,5 ns
• Coste por GB: del orden de los miles de $.
Disco magnético:
o Tiempo de acceso: 5ms – 20ms, $0.20 – $2 per GB
o Coste por GB: menos de 10 $
Estructura de Computadores
Tema 3 Ideas clave
Localidad espacial: hay una alta probabilidad de acceder a posiciones cercanas a
la última accedida (ejecución secuencial, arrays de datos).
La jerarquía de memoria se desarrolla en varios niveles (Figura 3.1) entre los que se
va desplazando la información. El más bajo (mayor capacidad, más barato y más
lento) contiene toda la información disponible en el sistema, el más alto (menor
capacidad, más caro y más rápido) es el más cercano a la CPU y responde a las
necesidades de acceso de esta. La funcionalidad de la jerarquía consiste en acercar
la información a la CPU «acertando» con la que vaya a necesitar esta.
Figura 3.1. Jerarquía de memoria básica según tecnología. Fuente: Patterson & Hennessy, 2011.
Estructura de Computadores
Tema 3 Ideas clave
Frecuencia o tasa de aciertos: fracción de accesos a memoria que se
encontraron en el nivel superior.
Frecuencia o tasa de fallos: (1-frecuencia o tasa de aciertos) fracción de los
accesos a memoria no encontrados en el nivel superior.
Tiempo de acierto: el necesario para acceder al nivel superior de memoria,
incluye el tiempo requerido para determinar acierto.
Penalización por fallo: tiempo necesario para enviar el bloque al nivel superior
(posibilidad de reemplazar), incluyendo el envío también a la CPU.
Penalización por fallo: tiempo necesario para enviar el bloque al nivel superior
(posibilidad de reemplazar), incluyendo el envío también a la CPU.
Estructura de Computadores
Tema 3 Ideas clave
(32 bits de dirección) para ilustrar las características de funcionamiento de la caché,
presentando esa configuración, la correspondencia directa, como básica.
Figura 3.2. Diagrama de bloques de una caché de correspondencia directa de 4KB, con líneas de 4B,
asociada a una memoria principal de 32 GB. Fuente: Patterson & Hennessy, 2011.
En este ejemplo se recuerdan conceptos como bit de validez, etiqueta, índice, línea
o bloque de caché, etc.
Estructura de Computadores
Tema 3 Ideas clave
La realidad es que para un tamaño fijo de caché a partir de un determinado
tamaño de bloque, la tasa de fallos puede aumentar, esto se puede explicar
porque el número de bloques que caben en caché disminuye y aumenta la
competencia por estar en caché.
Además, la localidad espacial del bloque disminuye al aumentar el tamaño
(menor probabilidad de acceder a una posición al alejarnos de la que ha
provocado el acceso).
Por otro lado, la penalización por fallo aumenta con el tamaño de bloque para
un sistema fijo de memoria, pues, a mayor tamaño, mayor tiempo de
transferencia.
Estructura de Computadores
Tema 3 Ideas clave
Figura 3.3. Representación de tasa de fallos frente a tamaño de bloque para distintos tamaños de
caché. Simulaciones realizadas con SPEC92. Fuente: Patterson & Hennessy, 2011.
Estructura de Computadores
Tema 3 Ideas clave
el acceso. La consecuencia posterior depende de las características del
procesador (ejecución desordenada).
Estructura de Computadores
Tema 3 Ideas clave
Existen diferentes políticas de respuesta ante una solicitud de escritura en
caché:
o Escritura directa o inmediata (Write through)
- Consiste en actualizar la MP al escribir en la caché.
- Sistema muy simple.
- Mantiene la coherencia entre caché y MP.
- Ocupa los canales de acceso a MP (red de interconexión).
- Aumenta el tiempo de respuesta si el procesador se tiene que involucrar.
- Técnica de reserva de escritura.
o Escritura diferida o mediante buffer (Posted write through)
- Variante de la anterior en la que los datos a enviar a memoria se
almacenan en un buffer para liberar al procesador.
- Mejora el tiempo de respuesta.
- Problemas si el buffer se llena.
o Escritura retardada, obligada o posescritura.
- Los accesos en escritura se realizan sólo en el bloque de la caché.
- El bloque modificado se lleva a MP principal sólo cuando es imprescindible:
- Cuando se va a descargar el bloque modificado de caché.
- Cuando un protocolo de coherencia indica que hay que actualizar el bloque
en MP (multiprocesadores).
- Mejoran las prestaciones, pero es más complejo de implementar.
- Uso de buffer de almacenamiento.
Los casos de fallo de la memoria caché hacen que sea más interesante mejorar los
tiempos de acceso a MP (DRAM), existen distintas alternativas que pasan por
aumentar su ancho de banda. De esta forma disminuiría la penalización por fallo,
aunque el bloque sea grande.
Estructura de Computadores
Tema 3 Ideas clave
Organización de memoria de una palabra de ancho: opción básica, accesos
secuenciales.
Organización de memoria ancha: aumentar el ancho de la posición de memoria
y, sobre todo del bus de conexión, permite transferencias de anchura mayor
cuando se requieran.
Organización de memoria entrelazada: (se verá en profundidad en el tema de
procesadores vectoriales) más compleja de implementar, pero aumenta el ancho
de banda sin requerir un bus tan grande. Requiere una distribución del bloque de
memoria en bancos y un sistema de selección de posiciones segmentado.
Estructura de Computadores
Tema 3 Ideas clave
Figura 3.4. Distintas opciones de organización de la memoria principal.
Fuente: Patterson & Hennessy, 2011.
Estructura de Computadores
Tema 3 Ideas clave
QDR—DRAM (Quad Data Rate DRAM): DDR-DRAM con separación de entradas
y salidas en buses y señales de reloj diferentes.
Acceso a memoria
Ciclos parada por MP= ×Tasa de fallos×Penalización por fallo
Programa
Instrucciones Fallos
= × ×Penalización por fallo
Programa Instrucciones
Estructura de Computadores
Tema 3 Ideas clave
Se puede plantear reducir los fallos de caché aumentando el tamaño de esta pero
un aumento del tamaño de caché podría aumentar también su tiempo de acceso en
caso de acierto.
Tiempo medio de acceso a memoria (AMAT, average memory access time): tiempo
medio que se obtiene al considerar aciertos y fallos de caché y su frecuencia. Sirve
para incluir el efecto en las prestaciones del tiempo de acceso en caso de acierto y
en caso de fallo.
La Tabla 3.1 resume las opciones de mejora de la memoria caché y su efecto sobre
la tasa de fallos.
Estructura de Computadores
Tema 3 Ideas clave
Efecto sobre la frecuencia de Posible efecto negativo en
Cambio en el diseño
fallos prestaciones
Aumentar la capacidad de la Disminuyen los fallos de Puede aumentar el tiempo de
caché capacidad acceso en aciertos
Disminuye la tasa de fallos Puede aumentar el tiempo de
Aumentar la asociatividad
debida a fallos de conflicto acceso en aciertos
Aumenta penalización por
Aumentar el tamaño del Disminuye la tasa de fallos en fallo
bloque o línea un cierto rango de tamaños En bloques grandes puede
aumentar la tasa de fallos
Estructura de Computadores
Tema 3 Ideas clave
La inclusión de un L3 de apoyo a las anteriores puede abundar en la reducción de
la penalización por fallo, aunque el tiempo de acceso en acierto sea peor.
La división de la caché en niveles (L1, L2, incluso L3) como una jerarquía local de
memoria permite acercar física y tecnológicamente la caché al núcleo del
procesador.
El L2 como apoyo al L1 hace que los fallos de este se atiendan mucho más rápido
que si hubiese que acceder a MP, disminuye la penalización por fallo, y el
tamaño más reducido del L1 permite que se inserte en la unidad de ejecución
del procesador, lo que reduce el tiempo de acceso en caso de acierto.
La inclusión de un L3 de apoyo a las anteriores puede abundar en la reducción de
la penalización por fallo, aunque el tiempo de acceso en acierto sea peor.
La memoria virtual hace que la MP actúe como una especie de caché de la memoria
secundaria (disco duro) (Figura 3.5).
Estructura de Computadores
Tema 3 Ideas clave
La memoria virtual permite que un programa opere con su propio espacio de
direcciones (dirección virtual o lógica) e implementa la traducción de ese espacio al
equivalente físico (dirección física) de la MP (Figura 3.6).
Figura 3.5. Memoria principal como caché de la secundaria. Fuente: Patterson & Hennessy, 2011.
Figura 3.6. Traducción de dirección virtual a física. Fuente: Patterson & Hennessy, 2011.
Estructura de Computadores
Tema 3 Ideas clave
Paginación: mecanismo vinculado a la memoria virtual, requiere herramientas
software (SO) y hardware (procesador).
Página: bloque de memoria virtual.
Fallo de página: fallo de memoria virtual, cuando se pretende acceder a un
fragmento de programa que aún no se ha cargado en MP. Desencadena el
mecanismo de carga de página de memoria secundaria a MP.
Desplazamiento u offset: dirección relativa dentro de la página.
Tabla de páginas: contiene la conversión de dirección virtual a física. Se
almacena en memoria y está indexada por el número de página virtual (Figura
3.7).
Entrada de la tabla de páginas: contiene el número de página física para esa
página virtual, además de algunos bits de control y/o caracterización de la
página.
Buffer de traducción lateral (TLB, Translator Lookaside Buffer): caché auxiliar
del procesador que guarda las conversiones de páginas realizadas recientemente
para no tener que leer la tabla de páginas en cada acceso (Figura 3.8).
Estructura de Computadores
Tema 3 Ideas clave
Buffer de traducción lateral (TLB, Translator Lookaside Buffer): caché auxiliar
del procesador que guarda las conversiones de páginas realizadas recientemente
para no tener que leer la tabla de páginas en cada acceso (Figura 3.8).
Figura 3.7. Diagrama de bloques de la gestión de la memoria virtual. Fuente: Patterson & Hennessy, 2011.
Se manejan por software (SO) mediante excepciones, dado que el retardo del
disco es muy superior al de la propia aplicación.
El SO usará algoritmos inteligentes para reducir la tasa de fallos.
Estructura de Computadores
Tema 3 Ideas clave
Integración de memoria virtual, caché y TLB.
No puede haber un dato en caché si la página en la que se encuentra no está en
MP.
Si una página está en memoria principal, su traducción está en el TLB.
El SO se ocupa de la gestión de páginas y del TLB y de limpiar la caché del
contenido de una página si se descarga de MP.
La caché puede estar indexada virtualmente.
Hay riesgo de aliasing (existencia de alias).
Figura 3.8. Diagrama de bloques de funcionamiento de la TLB. Fuente: Patterson & Hennessy, 2011.
Estructura de Computadores
Tema 3 Ideas clave
Implementación de protección con la memoria virtual.
El mecanismo de protección debe asegurar que, aunque varios procesos
compartan la memoria no exista conflicto entre ellos.
En algunos sistemas (Intel) se basa en un mecanismo de protección previamente
existente (segmentación, modo protegido), aunque la paginación tiene sus
propios elementos de protección.
El hardware del procesador debe proporcionar, al menos, tres funciones básicas:
• Soporte para una jerarquía de tareas que distinga al menos dos niveles
básicos, proceso usuario y proceso supervisor o núcleo o ejecutivo (SO).
• Permitir acceso de lectura, pero no de escritura en modo usuario a una parte
del estado del procesador.
• Mecanismos de paso de modo usuario a supervisor. Llamadas al sistema.
Las tablas de paginación de los procesos se almacenen en espacio de MP del SO.
Mecanismos de cambio de contexto o de proceso.
Estructura de Computadores
Tema 3 Ideas clave
Tennbaum, A. S. (2001). Structured computer organization. Prentice-Hall, Inc.
Estructura de Computadores
Tema 3 Ideas clave
A fondo
How RAM Cachces, Buses and Virtual Memory Work
https://www.youtube.com/watch?v=Lp2OgAAa0ew
This video shows how RAM caches, buses and virtual memory work in a computer
system. Understanding how these work, will give you a better understanding of how
to fix performance problems and to understand what sort of performance you may
expect to receive.
Virtual memory
This article answer to the questions: What is virtual memory? How virtual memory
works? How to manage virtual memory? What are the benefits of using virtual
memory? What are the limitations of using virtual memory?
No dejes de leer…
Fundamentos de los computadores
Para tener
© Universidad Internacional otra(UNIR)
de La Rioja visión sobre los aspectos avanzados de memoria caché y memoria
virtual, tratados en este tema, conviene revisar el capítulo 11 (págs. 445-479).
Estructura de Computadores 25
Tema 3 A fondo
Memoria caché y memoria virtual
También puedes leer los temas desarrollados por el profesor José Jaime Ruz Ortiz,
de la Facultad de Informática de la Universidad Complutense de Madrid.
Estructura de Computadores 26
Tema 3 A fondo
© Universidad Internacional de La Rioja (UNIR)
Estructura de Computadores 27
Tema 3 A fondo
Test
1. Respecto al principio de localidad, se puede decir:
A. El principio de localidad establece que los programas siempre acceden a las
mismas direcciones físicas de memoria principal.
B. La localidad temporal dice que durante un tiempo siempre se accederá a la
misma posición de memoria principal.
C. La localidad espacial dice que, tras un acceso a memoria, el siguiente se
realizará en el que está inmediatamente a continuación en memoria.
D. Ninguna de las tres afirmaciones anteriores es cierta. * los programas
acceden a una parte pequeña de su espacio de direcciones en un periodo
reducido de tiempo
3. ¿Cuál debe ser el tamaño en Bytes de una caché de correspondencia directa, que
se asocie a una memoria principal de 4GB, si usa bloques o líneas de 16 Bytes?
A. No hay información suficiente para responder a esta cuestión. * Hacen
falta datos como el número de líneas.
B. 256KB.
C. 64KB.
D. 128KB.
Estructura de Computadores 28
Tema 3. Test
A. Es el tiempo perdido por la caché en detectar que se ha producido un
fallo.
B. Es el tiempo necesario para transferir un bloque de memoria principal a
memoria caché.
C. Es la cantidad de información que deja de ser accesible en la caché cuando
no se acierta en un acceso.
D. Es el tiempo necesario para acceder al siguiente nivel de la jerarquía de
memoria como respuesta a un fallo en un acceso de caché. * El
Controlador de Caché debe informar a la unidad de control de la CPU, el
procesador corre el riesgo de parar su ejecución (pipeline) hasta que se
resuelva el acceso
Estructura de Computadores 29
Tema 3. Test
A. Cuando hay un fallo de página, antes ha habido un fallo de caché. * un
fallo de página es una excepción cuando un programa requiere una
dirección que no se encuentra en la memoria principal y por ende no ha
pasado a la memoria caché.
B. Cuando hay un fallo de caché, antes ha habido un fallo de página.
C. El controlador de caché puede gestionar los fallos de página.
D. Los fallos de página los gestiona el procesador.
8. El TLB...
A. Es una parte de la memoria principal.
B. Almacena las páginas de uso frecuente.
C. Es una caché auxiliar del procesador. * Buffer de traducción lateral (TLB,
Translator Lookaside Buffer): que guarda las conversiones de páginas
realizadas recientemente para no tener que leer la tabla de páginas en
cada acceso.
D. Almacena los datos que se transfieren entre páginas.
Estructura de Computadores 30
Tema 3. Test
soporte a jerarquía con al menos dos niveles, acceso de lectura y
mecanismo de modo usuario a supervisor.
C. La memoria virtual no puede implementar un mecanismo de protección,
esto corre a cargo del procesador.
D. Ninguna de las afirmaciones anteriores es correcta.
Estructura de Computadores 31
Tema 3. Test