Upload
alex-santos
View
74
Download
0
Embed Size (px)
Citation preview
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 1/12
Arquitectura de Computadoras UTPL
Sistemas de Memoria
Integrantes:Adrian Alexander Santos
Jairo Omar Cumbicus
La memoria es un componente imprescindible en el computador ya que para que éste
pueda trabajar requiere que se almacene tanto los datos como las instrucciones.
La información en un computador de acuerdo a su ubicación puede ser interna o
externa.
Dentro de las memorias internas se tiene los registros del procesador, la memoria caché
y la memoria principal y de las externas los discos magnéticos, discos ópticos, cintas
magnéticas, etc.
Nos centraremos en analizar las memorias internas, que es el objeto de estudio de esta
asignatura, para lo cual se plantea el siguiente cuestionario:
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 2/12
Arquitectura de Computadoras UTPL
Preguntas
1. ¿Cuáles son las características clave de los sistemas de memoria de un
computador? Realice un cuadro sinóptico.
Ubicación
Procesador
Interna (principal)
Externa (secundaria)
Capacidad Tamaño de la palabra
Numero de palabras
Unidad de
transferencia
Palabra
Bloque
Método de acceso
Acceso secuencial
Acceso directo
Acceso aleatorio
Acceso asociativo
Prestaciones Tiempo de acceso
Tiempo de ciclo
Velocidad de transferencia
Dispositivo físico
Semiconductor
Soporte magnético
Soporte óptico
Magneto-óptico
Características físicas Volátil / no volátil
Borrable / no borrable
Organización
C a r a c t e r í s t i c a s c l a v e d e l o s s i s t e m
a s d e m e m o r i a d e u n c o m p u t a d o r
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 3/12
Arquitectura de Computadoras UTPL
2. Dentro de la Memoria Principal ¿Qué es una unidad de transferencia?
Es igual al número de líneas de entrada/salida de datos del módulo de memoria, a
menudo suele ser igual a la longitud de la palabra
3. ¿Indique cuáles son los métodos de acceso de las memorias?
Acceso secuencial
Acceso directo
Acceso aleatorio (random)
Asociativa
4. ¿Qué es un tiempo medio de acceso y cómo se calcula?
Cuando la dirección a la que una operación hace referencia se encuentra en un
determinado nivel de la jerarquía de memoria, se dice que ha habido un acierto en esenivel. De no ser así, se producirá un fallo. De forma similar, la tasa de aciertos de un
nivel es el porcentaje de referencias que han llegado a ese nivel y han concluido en
acierto, y la tasa de fallos es el porcentaje de referencias que han llegado a ese nivel y
han incluido en fallo.
Una vez conocida tasa de aciertos y el tiempo de acceso (el tiempo necesario para
completar una petición en la que hubo acierto) para cada nivel de la jerarquía de
memoria, podemos calcular el tiempo medio de acceso de la jerarquía. Para cada nivel
el tiempo medio de acceso es ( ) , donde
es el tiempo necesario para resolver las peticiones que son acertadas por el
nivel, es la tasa de aciertos del nivel (expresada como una probabilidad),
es el tiempo medio de acceso de los niveles inferiores al que estamos
considerando y es la tasa de fallos del nivel.
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 4/12
Arquitectura de Computadoras UTPL
5. El diseño de la memoria de un computador se puede resumir en tres
cuestiones ¿cuánta capacidad?, ¿qué tan rápida es?, ¿cuánto cuesta?. Para
este propósito se emplea una jerarquía de memoria. Dibuje un esquema en
donde se señale toda la jerarquía de memoria, y explique cada una de ellas
a medida que va descendiendo en la jerarquía.
6. ¿Cómo se realiza una operación de lectura y escritura dentro de una
jerarquía de memoria?
Hablando sobre una operación de lectura, en general, no es posible predecir a que
posiciones de memoria se va a acceder con mayor frecuencia, por lo que los
computadores usan un método basado en la demanda para determinar qué datos deben
mantenerse en los niveles más altos de la jerarquía. Cuando se envía una petición dememoria a la jerarquía, se comprueba el nivel más alto para ver si se contiene la
Cinta Magnética, MO, WORMSe suelen usarse para transporte y archivos de datos. En las nuevas computadorasson de uso habitual para este propósito los disquetes, discos ópticos y la memoriaflash.
Disco Magnético, CD-ROM, CD-RW, DVD-RW, DVD-RAM
La computadora usa sus canales de entrada/salida para acceder a la información yse utiliza para almacenamiento a largo plazo de información persistente.
Memoria Principal
Es la unidad de la estación de trabajo en donde se almacenan los datos y lasinstrucciones de los programas en ejecución, que recupera y graba en ella la unidadcentral de proceso a través de las dos operaciones básicas definidas sobre ella, unade lectura y la otra de escritura
Memoria Caché
Está exclusivamente ligada al uso del Procesador junto a la Memoria RAM, y tienecomo premisa fundamental el incremento del rendimiento del ordenador.
Registros del Procesador
Se emplean para controlar instrucciones en ejecución, manejar direccionamiento dememoria y proporcionar capacidad aritmética. Los registros son direccionables pormedio de un nombre.
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 5/12
Arquitectura de Computadoras UTPL
dirección pedida. Si es así, la petición se lleva a cabo. Si no, se comprueba el siguiente
nivel más bajo de la jerarquía, repitiéndose este proceso hasta que se encuentre el dato
o se llegue al nivel inferior, en el que tenemos la total certeza de que estará el dato.
En lo que respecta a la escritura de memoria (almacenamiento) en la jerarquía de
memoria, en los sistemas con post-escritura, el dato que se escribe se coloca solamente
en el nivel más alto de la jerarquía. Cuando el bloque que contiene el dato es eliminado
de ese nivel, el dato escrito se copia en el nivel inmediatamente inferior de la jerarquía
y así sucesivamente. A los bloques que contienen datos que han sido escritos se les
denomina bloques modificados, para distinguirlos de los bloques inalterados, que no
han sido modificados. Por su parte, los sistemas de memoria con escritura inmediata
copian los datos a escribir en todos los niveles de la jerarquía cuando se produce dicha
escritura. Existen muchos sistemas con diferentes estrategias de escritura según el nivel
de la jerarquía de que se trate. Por ejemplo, no es inusual encontrarse computadores
con caches con escritura inmediata y memoria principal con post-escritura.
7. ¿Qué es la memoria cache, cuáles son los tipos y donde se encuentra
ubicada?
Es un dispositivo para escalonar las transferencias de datos entre memoria principal y
los registros del procesador a fin de mejorar las presentaciones, tiene como objetivo
lograr que la velocidad de la memoria sea lo más rápida posible. Desde el punto de
vista del hardware, existen dos tipos de memoria cache; interna y externa. La primera,
denominada también cache primaria, caché de nivel 1 o simplemente caché L1. La
segunda se conoce también como cache secundaria, cache de nivel 2 o cache L2.
8. Una memoria cache está formada por tecnología SRAM ( x ) ó DRAM
( )
9. Una memoria principal está formada por tecnología SRAM ( ) ó DRAM
( x )
10. Dentro de los elementos de diseño de una memoria cache, los más
importantes son: La función de correspondencia y los algoritmos de
sustitución. ¿Cuáles son y cómo trabajan las funciones de correspondenciay los algoritmos de sustitución?
Función de correspondencia: Debido a que hay menos líneas de caché que bloques de
memoria principal, se necesita un algoritmo que haga corresponder bloques de
memoria principal a líneas de caché. Además, se requiere algún medio para determinar
qué bloque de memoria principal ocupa actualmente una línea dada de caché. La
elección de la función de correspondencia determina cómo se organiza la caché. Se
pueden utilizar tres técnicas: directa, asociativa, y asociativa por conjuntos.
Algoritmos de sustitución: Una vez que se ha llenado la caché, para introducir un
nuevo bloque debe sustituirse uno de los bloques existentes. Para las técnicas
asociativas se requieren algoritmos de sustitución. Entre los algoritmos más comunes
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 6/12
Arquitectura de Computadoras UTPL
tenemos: LRU (Least-Recently Used), FIFO (First-In-First-Out), LFU (Least-
Frequently Used) Y Aleatorio
Ejercicios
Tiempos medios de acceso
Ejercicio # 1: Un sistema de memoria contiene una caché, una memoria principal y una
memoria virtual. La caché tiene un tiempo de acceso de 5 ns y su tasa de aciertos es del
80 %. El tiempo de acceso de la memoria principal es de 100 ns, con una tasa de
aciertos del 99,5%. El tiempo de acceso de la memoria virtual es de 10 milisegundos
(ms) ¿Cuál es el tiempo medio de acceso de la jerarquía?
Solución:
Se empieza la resolución del ejercicio por el nivel inferior de la jerarquía y vamos deabajo arriba, es decir, vamos desde la memoria virtual hasta la memoria cache.
Según el ejercicio la tasa de aciertos de la memoria virtual es del 100 por 100, por lo
que podemos calcular el tiempo medio de acceso para las peticiones que llegan a la
memoria principal como:
( )
Una vez hecho esto, el tiempo medio de acceso para las peticiones que llegan a lacache (que son todas las peticiones) será:
Registros
Memoria cache
Memoria Principal
Memoria virtual
Memoria rinci al Memoria virtual
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 7/12
Arquitectura de Computadoras UTPL
( )
Ejercicio # 2: Un sistema de memoria de dos niveles tiene un tiempo medio de acceso
de 12ns. El nivel superior de la jerarquía tiene una tasa de aciertos del 90% y un tiempo
de acceso de 5ns. ¿Cuál es el tiempo de acceso del nivel inferior del sistema de
memoria?
Solución:
Como el ejercicio pide el tiempo de acceso del nivel inferior del sistema utilizaremos la
fórmula del tiempo medio de acceso para calcular para el primer nivel de la
jerarquía, que será:
( )
( )
( )
Por lo visto despejamos obtenemos un tiempo de acceso de 75 ns para el segundo
nivel de la jerarquía.
Memoria caché
Estos ejemplos nos da los principios básicos de cómo se debería direccionar la
correspondencia de un bloque determinado de memoria RAM en los diferentes niveles
de la jerarquía.
Ejercicio # 1: En un sistema de memoria con las características que se indican a
continuación:
- Memoria principal de 32 bloques
- Memoria caché de 8 bloques- Caché asociativa por conjunto de 2 vías
Memoria cache Peticiones que llegan a lamemoria principal
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 8/12
Arquitectura de Computadoras UTPL
Realice y grafique:
La asignación del bloque 22 de la memoria principal a la caché, a través de:
a.1. Asociativa por conjuntos, y aplique uno de los siguientes algoritmos desustitución: Utilizado menos recientemente
Primero en entrar primero en salir (FIFO)
Menos frecuentemente usado
Aleatorio
Solución:
Un conjunto es un grupo de línea de la cache.
Para esta función de correspondencia primero las líneas de memoria caché se asocian
en conjuntos y la correspondencia se establece de forma directa entre cada bloque dela memoria principal y cada conjunto de la caché.
ubicación = dirección bloque principal mod (m)
conjuntos
Utilizando el algoritmo de sustitución LRU (Utilizado menos recientemente) se tiene:
LRU
22 ubicar 4
Cache
1 2 3 4 5 6 7 8
Ubicar
1 2 3 4 ……………. 22 ………….32
a.2. Asociativa, y aplique uno de los siguientes algoritmos de sustitución:
Utilizado menos recientemente
Primero en entrar primero en salir (FIFO)
Menos frecuentemente usado
Aleatorio
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 9/12
Arquitectura de Computadoras UTPL
Solución:
En la asociativa cada bloque (memoria principal) puede ir en cualquier posición
(línea) de cache
Ubicación = cualquiera
Utilizando el algoritmo de sustitución FIFO (Primero en Entrar Primero en Salir) se
tiene:
Cache
1 2 3 4 5 6 7 8
Ubicar
1 2 3 4 ……………. 22 ………….32
a.3. Directa
Solución:
Cada bloque (memoria principal) solo puede ir en una posición de la cache
ubicación = dirección bloque (principal ) mod
Cache
1 2 3 4 5 6 7 8
Principal
1 2 3 4 ……………. 22 ………….32
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 10/12
Arquitectura de Computadoras UTPL
Ejercicio # 2: En un sistema de memoria con las características que se indican a
continuación; direccionar el bloque 125 peticionado desde el procesador si se tiene:
Caché de 512 bytes dividida en bloques de 16 bytes
La caché está, a su vez, agrupada en conjuntos de 4 bloques cada uno Una memoria principal con 256 bloques de 32 bytes por bloque
Realice y grafique la asignación del bloque 125, a través de:
a.1. Asociativa por conjuntos, y aplique uno de los siguientes algoritmos de
sustitución: Utilizado menos recientemente
Primero en entrar primero en salir (FIFO)
Menos frecuentemente usado
Aleatorio
a.2. Asociativa, y aplique uno de los siguientes algoritmos de sustitución:Utilizado menos recientemente
Primero en entrar primero en salir (FIFO)
Menos frecuentemente usado
Aleatorio
a.3. Directa
Solución:
Primeramente para la realización se tiene que saber que:
Cache
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ……………… 32
Por lo visto en la figura anterior la memoria cache se divide en 8 bloques.
a.1. Asociativa por conjuntos
Un conjunto es un grupo de línea de la cache.
Para esta función de correspondencia primero las líneas de memoria caché se asocian
en conjuntos y la correspondencia se establece de forma directa entre cada bloque de
la memoria principal y cada conjunto de la caché.
ubicación = dirección bloque principal mod (m)conjuntos
Cantidad de bytes de la cache
Numero de divisiones de la cache
Numero de bloques
1 2 3 4 8
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 11/12
Arquitectura de Computadoras UTPL
Utilizando el algoritmo de sustitución LRU (Utilizado menos recientemente) se tiene:
LRU
Cache
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ……………….32
Ubicar
1 2 3 4 5 6 7 8 9 ………...…..125 126 127 128 129 130 131 132 ……………..256
a.2. Asociativa
En la asociativa cada bloque (memoria principal) puede ir en cualquier posición
(línea) de cache
Ubicación = cualquiera
Utilizando el algoritmo de sustitución FIFO (Primero en Entrar Primero en Salir) se
tiene:
Cache
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ……………….32
Ubicar
1 2 3 4 5 6 7 8 9 ………...…..125 126 127 128 129 130 131 132 ……………..256
7/15/2019 Taller Tiempos Medios de Acceso y Memoria Cache
http://slidepdf.com/reader/full/taller-tiempos-medios-de-acceso-y-memoria-cache 12/12
Arquitectura de Computadoras UTPL
a.3. Directa
Cada bloque (memoria principal) solo puede ir en una posición de la cache
ubicación = dirección bloque (principal ) mod
Cache
1 2 3 4 5 6 7 8 9 10 11 12 ………...28 29 30 31 32
Principal
1 2 3 4 5 6 7 8 9 ………...…..125 126 127 128 129 130 131 132 ……………..256
Referencias
[1] Disponible en: Stallings William, ORGANIZACIÓN Y ARQUITECTURA DE
COMPUTADORES, 7ma edición. Prentice Hall, 2006. ISBN: 84-8966-082-4 [Consulta del 14 de Abril del 2013]
[2] Carter Nicolás, ARQUITECTURA DE COMPUTADORES, Capitulo 8 y Capitulo 9, primeraedición, McGRAW-HILL, 2004