taller tiempos medios de acceso y memoria cache

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:

Upload: alex-santos

Post on 29-Oct-2015

68 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Taller Tiempos Medios de Acceso y Memoria Cache

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:

Page 2: Taller Tiempos Medios de Acceso y Memoria Cache

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

Page 3: Taller Tiempos Medios de Acceso y Memoria Cache

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.

Page 4: Taller Tiempos Medios de Acceso y Memoria Cache

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.

Page 5: Taller Tiempos Medios de Acceso y Memoria Cache

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

Page 6: Taller Tiempos Medios de Acceso y Memoria Cache

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

Page 7: Taller Tiempos Medios de Acceso y Memoria Cache

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

Page 8: Taller Tiempos Medios de Acceso y Memoria Cache

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 

Page 9: Taller Tiempos Medios de Acceso y Memoria Cache

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 

Page 10: Taller Tiempos Medios de Acceso y Memoria Cache

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

Page 11: Taller Tiempos Medios de Acceso y Memoria Cache

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

 

Page 12: Taller Tiempos Medios de Acceso y Memoria Cache

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