Está en la página 1de 31

Tema 3

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

3.1. Introducción y objetivos ¿Cómo estudiar este


tema?

Para estudiar este tema lee el capítulo 5 «Grande y rápida: aprovechamiento de la


jerarquía de memoria» (páginas 452-517) del libro:
Hennessy, J., y Patterson, D. (2011). Estructura y Diseño de Computadores. La
InterfazHardware/Software. Barcelona: Reverté.
Accede a las páginas a través del aula virtual en virtud del artículo 32.4 de la Ley de
Propiedad Intelectual.

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

Los sistemas de almacenamiento más frecuentes en un computador responden


esencialmente a tres tecnologías (Patterson & Hennessy, 2011):
 Memoria estática SRAM (cachés)

Estructura de Computadores
Tema 3 Ideas clave
• Tiempo de acceso: 0,5 – 2,5 ns
• Coste por GB: del orden de los miles de $.

 Memoria dinámica DRAM (memoria principal, MP)


• Tiempo de acceso: 50ns – 70ns

• Coste por GB: del orden de las decenas de $.


 Disco magnético:
• Tiempo de acceso: 5ms – 20ms, $0.20 – $2 per GB
• Coste por GB: menos de 10 $

Memoria estática SRAM (cachés):


o Tiempo de acceso: 0,5 – 2,5 ns
o Coste por GB: del orden de los miles de $.

Memoria dinámica DRAM (memoria principal, MP)


o Tiempo de acceso: 50ns – 70ns
o Coste por GB: del orden de las decenas de $.

Disco magnético:
o Tiempo de acceso: 5ms – 20ms, $0.20 – $2 per GB
o Coste por GB: menos de 10 $

Lo que se busca con la jerarquía de memoria es conseguir que el procesador crea


que dispone de una memoria estática al precio de un disco magnético en el mayor
porcentaje posible de sus accesos.
Para ello se desarrolla una estructura basada en el principio de localidad (los
programas acceden a una parte pequeña de su espacio de direcciones en un
periodo reducido de tiempo).

Hay dos tipos de localidad:


 Localidad temporal: los accesos realizados recientemente se volverán a usar en
un corto espacio de tiempo (bucles, variables)

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).

Localidad temporal: Los accesos realizados recientemente se volverán a usar en


un corto espacio de tiempo (bucles, variables)
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.

Teniendo en cuenta que las transferencias siempre afectarán a dos niveles de la


jerarquía, uno superior y otro inferior, se plantean los siguientes conceptos:
 Bloque: unidad de información transferida entre niveles.

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.

Bloque: unidad de información transferida entre niveles.

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.

3.23. Conceptos básicos de caché

En este apartado se emplea como ejemplo una configuración de caché de


correspondencia directa de 4KB, como la de la Figura 3.2, asociada a una MP de 4GB

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.

Consideraciones sobre el tamaño de la línea o bloque de caché:

 En principio se piensa que un tamaño de bloque mayor debería mejorar la


probabilidad de acierto de caché, esto no siempre es cierto (Figura 3.3).

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.

En principio se piensa que un tamaño de bloque mayor debería mejorar la


probabilidad de acierto de caché, esto no siempre es cierto (Figura 3.3).
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.

Tratamiento de los fallos de caché


 El controlador de caché (CC) es quien comprueba si hay acierto o fallo y quien
gestiona el proceso en caso de fallo.
 Si hay acierto, la CPU opera normalmente con los beneficios de acceder a caché.
 En caso de fallo, el CC 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. La consecuencia posterior depende de las características del
procesador (ejecución desordenada).

El controlador de caché (CC) es quien comprueba si hay acierto o fallo y quien


gestiona el proceso en caso de fallo.
Si hay acierto, la CPU opera normalmente con los beneficios de acceder a caché.
En caso de fallo, el CC 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

Estructura de Computadores
Tema 3 Ideas clave
el acceso. La consecuencia posterior depende de las características del
procesador (ejecución desordenada).

Manejo de los accesos de escritura


 Cabe la posibilidad de que se produzca incoherencia de caché, que se verá más
adelante.
 Existen diferentes políticas de respuesta ante una solicitud de escritura en
caché:
• 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.
• 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.
• 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.

Cabe la posibilidad de que se produzca incoherencia de caché, que se verá más


adelante.

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.

Diseño del sistema de memoria para soportar cachés

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.

La Figura 3.4 muestra distintas alternativas de diseño de MP:

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.

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.

Otras técnicas empleadas para mejorar el ancho de banda serían:


 El acceso rápido a datos (Burst Access): se basa en una organización matricial
de la memoria y en agilizar el acceso a las posiciones de una fila. Requiere
entrelazado.
 DDR—DRAM (Double Data Rate DRAM): trabaja con los dos flancos de la señal
de reloj, duplica la velocidad de acceso con poco coste hardware.
 QDR—DRAM (Quad Data Rate DRAM): DDR-DRAM con separación de entradas
y salidas en buses y señales de reloj diferentes.

El acceso rápido a datos (Burst access): se basa en una organización matricial de


la memoria y en agilizar el acceso a las posiciones de una fila. Requiere
entrelazado.
DDR—DRAM (Double Data Rate DRAM): trabaja con los dos flancos de la señal
de reloj, duplica la velocidad de acceso con poco coste hardware.

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.

3.34. Evaluación y mejoras de la caché

El tiempo de ejecución de la CPU se puede dividir en dos componentes, los ciclos


necesarios para ejecutar el programa (que incluye los accesos con acierto de caché)
y los ciclos de espera necesarios en los accesos a MP, estos últimos se pueden
achacar atribuir a los fallos de caché.

Haciendo algunas aproximaciones se puede concluir que el número de ciclos de


parada debidos a la memoria:

Acceso a memoria
Ciclos parada por MP= ×Tasa de fallos×Penalización por fallo
Programa
Instrucciones Fallos
= × ×Penalización por fallo
Programa Instrucciones

En el capítulo de referencia de este tema (Patterson y Hennessy, 2011) se justifica


mediante un ejemplo simplificado la importancia de los fallos de caché en el
tiempo de ejecución de la CPU (mejor de prestaciones con caché perfecta en casi 3
veces).

El aumento de la frecuencia de reloj sin modificar el sistema de memoria


incrementa la pérdida de prestaciones por fallos de caché.

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.

A MAT =tiempo de un acierto+ Tasa de fallos×Penalización por fallo

A continuación, se proponen dos alternativas que pretenden mejorar las


prestaciones de la caché.

Reducción de fallos de caché mediante emplazamiento más flexible de bloques

 Se desarrolla la posibilidad de usar otras funciones de correspondencia de caché


(asociativa por conjuntos o incluso completamente asociativa) que proporcionen
más flexibilidad en la presencia de bloques de MP en la caché.
 Con los ejemplos presentados se observa que una mayor asociatividad
disminuye la tasa de fallos, aunque aumenta la complejidad de la caché
(localización de bloque, sustitución de bloques) y, por lo tanto, su coste.

Se desarrolla la posibilidad de usar otras funciones de correspondencia de caché


(asociativa por conjuntos o incluso completamente asociativa) que proporcionen
más flexibilidad en la presencia de bloques de MP en la caché.
Con los ejemplos presentados se observa que una mayor asociatividad
disminuye la tasa de fallos, aunque aumenta la complejidad de la caché
(localización de bloque, sustitución de bloques) y, por lo tanto, su coste.

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

Tabla 3.1. Alternativas de modificación de la caché en función de la frecuencia de fallos.


Fuente: Patterson & Hennessy, 2011.

Reducción de la penalización por fallo usando cachés multinivel


 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.

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.

3.45. Memoria virtual

El mecanismo de memoria virtual se caracteriza por:


 Permitir que la MP se compartida de forma eficiente y segura por varios
programas.
 Permitir que un programa se pueda ejecutar independientemente de la MP
disponible (ejecución por lotes).

Permitir que la MP se compartida de forma eficiente y segura por varios


programas.
Permitir que un programa se pueda ejecutar independientemente de la MP
disponible (ejecución por lotes).

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.

Ese espacio de direccionamiento propio del programa lleva asociado también un


mecanismo de protección (MP protegida o protección de MP).

Figura 3.6. Traducción de dirección virtual a física. Fuente: Patterson & Hennessy, 2011.

Conceptos a tener en cuenta:

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).

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.

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.

Los fallos de página:


 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.

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).

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.

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:
o 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).
o Permitir acceso de lectura pero no de escritura en modo usuario a una parte
del estado del procesador.
o 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.

3.5. Referencias bibliográficas

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

Alexander S. gillis, What is virtual memory?


https://www.techtarget.com/searchstorage/definition/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

De Miguel, P. (2004). Fundamentos de los computadores. (9ª Ed.). Madrid:


Paraninfo.

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).

Accede al documento desde el aula virtual.

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.

Accede a la página desde el aula virtual o a través de la siguiente dirección web:


http://www.fdi.ucm.es/profesor/jjruz/WEB2/Temas/EC6.pdf
http://www.fdi.ucm.es/profesor/jjruz/WEB2/Temas/EC7.pdf

Memoria virtual y modo protegido en Intel

Amdahl, G. (1967). Validity of the Single Processor Approach to Achieving Large-


Scale Computing Capabilities. AFIPS Conference Proceedings, 30, 483-485.

En el volumen 3A parte 1 de la guía de programación de sistemas de Intel


(arquitectura IA-64 e IA-32) se desarrolla el tratamiento de estos procesadores en
cuanto a gestión de memoria virtual (paginación) y protección de memoria
(capítulos 2 al 7), en el capítulo 11 se describe el tratamiento de la memoria caché:
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System
Programming Guide, Part 1. June 2014.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


http://www.intel.la/content/dam/www/public/us/en/documents/manuals/64-ia-
32-architectures-software-developer-vol-3a-part-1-manual.pdf

© Universidad Internacional de La Rioja (UNIR)

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

2. La jerarquía de memoria de un computador…


A. Busca aprovechar exclusivamente el principio de localidad temporal.
B. Pretende que el procesador acceda a la memoria más rápida al menor
coste posible. * la jerarquía de memoria es conseguir que el procesador
crea que dispone de una memoria estática al precio de un disco magnético
en el mayor porcentaje posible de sus accesos.
C. Busca aprovechar exclusivamente el principio de localidad espacial.
D. Ninguna de las tres respuestas anteriores es correcta.

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.

4. La penalización por fallo de caché…

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

5. En relación con las mejoras de caché, se puede decir:


A. Un aumento de asociatividad disminuye la penalización por fallos en la
caché.
B. Un aumento del tamaño de la caché mejora siempre sus prestaciones.
C. Un aumento del tamaño del bloque de caché puede aumentar o disminuir
la tasa de fallos en función de cuánto se amplíe. * En principio se piensa
que un tamaño de bloque mayor debería mejorar la probabilidad de
acierto de caché, esto no siempre es cierto
D. El uso de caché multinivel disminuye la tasa de fallos.

6. ¿Cuál de las siguientes afirmaciones sobre memoria virtual es falsa?


A. Permite que se puedan ejecutar programas de tamaño superior a la
memoria disponible.
B. Permite reducir la tasa de fallos en memoria caché. * La memoria virtual
hace que la Memoria Principal actúe como una especie de caché de la
memoria secundaria, no evita fallos de la memoria caché.
C. Permite que varios procesos puedan compartir la memoria principal.
D. Permite que cada proceso tenga su propio espacio de direccionamiento.

7. Respecto al fallo de página en memoria virtual en un sistema con memoria caché,


se puede decir:

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.

9. Respecto a la memoria virtual, se puede decir:


A. Desarrolla un espacio de direccionamiento integrado en el de la memoria
principal.
B. Las direcciones virtuales deben tener el mismo tamaño que las físicas.
C. En general, desarrolla un espacio de direccionamiento muy superior al de
la memoria principal. * La memoria virtual permite que un programa se
pueda ejecutar independientemente de la MP disponible.
D. Ninguna de las respuestas anteriores es correcta.

10. Respecto al mecanismo de protección en memoria virtual, se puede decir:


A. Complementa el sistema de protección implementado en la memoria
caché.
B. Establece una jerarquía de procesos con, al menos, dos niveles, usuario y
supervisor. * a nivel de hardware del procesador se debe proporcionar

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

También podría gustarte