Está en la página 1de 27

ORGANIZACIN Y ARQUITECTURA DEL COMPUTADOR II

MEMORIA INTERNA.

Memoria Interna

Programa
1. Jerarqua de Memoria 2. Memoria Cach
Definicin y Funcionamiento Elementos de diseo de la cach Ejemplo de funcionamiento

3. Memoria Virtual.
Memoria Segmentada Memoria Paginada Memoria Virtual

4. Conclusiones

Memoria Interna

Caractersticas de los sistemas de memoria Ubicacin:


Procesador. Interna (Principal). Externa (Secundaria). Capacidad: Tamao de la Palabra. (8, 16, 32 y 64bits). Numero de palabras. Unidad de Transferencia: (64, 128 y 256 bits) Palabra. Bloque. Mtodo de Acceso: Acceso Secuencial. Acceso Directo. Acceso Aleatorio. Acceso Asociativo. Dispositivo Fsico: Semiconductor. Soporte Magntico. Caractersticas Fsicas: Voltil / No Voltil. Borrable / No Borrable. Organizacin.

Prestaciones: (Tn = Ta + N/R) Tiempo de Acceso. Tiempo de Ciclo. Velocidad de Transferencia.

Memoria Interna

1. Jerarqua de Memoria.
Los programas y datos se almacenan en memoria. La jerarqua de memoria surge para optimizar la relacin que existe entre el coste, tiempo de acceso y tamao de la memoria. Localidad de las referencias Existe una alta probabilidad de que dos referencias consecutivas en el tiempo se encuentren alojadas en posiciones relativamente prximas en memoria. Adems, una referencia reciente tiene cierta probabilidad de ser referenciada de nuevo.

Memoria Interna

1. Jerarqua de Memoria.
Esquema de la jerarqua de memoria. La informacin sube y baja por la pirmide segn las necesidades. El vrtice de la pirmide tiene menos capacidad pero ms velocidad y contiene los datos que estn siendo utilizados.

Memoria Interna

2. Memoria cach
El objetivo de la memoria cach es lograr que la velocidad de la memoria sea la mas rpida posible, consiguiendo al mismo tiempo un tamao ms grande al precio de memorias semiconductoras menos costosas.
La memoria cach es una memoria muy rpida pero de pequeo tamao entre la CPU y la memoria principal. Entre Cach y Memoria Principal la transferencia de informacin se realiza en unidades mayores que la palabra, es decir, en bloques.

Memoria Interna

Estructura de un sistema de memoria cach/principal


Direccin De Memoria

0
1 Nmero de lnea
0

Etiqueta

Bloque

Bloque (K palabras)

1
2

C-1

Longitud de bloque (K palabras)

Cach
2n - 1 Longitud de palabra

Bloque

M=

2n/K

Bloques

Memoria Principal

2. Memoria cach (Operacin de Lectura de la Cach)

Memoria Interna

Memoria Interna

2. Memoria cach (Organizacin)

Memoria Interna

2. Elementos de diseo de la cach


Los elementos a tener en cuenta son: Funcin de correspondencia: Es el mecanismo que asigna una lnea de cach a un bloque de memoria. Algoritmo de sustitucin: Una vez llena la cach, ante una nueva peticin debe decidir cual de las lneas es eliminada. Poltica de escritura. Si se modifica un dato en la cach debemos decidir cuando se modifica tambin en memoria principal. Mecanismo de coherencia de cach: Si hay una memoria principal y varias CPUs cada una con su cach, debemos mantener una relacin lgica entre los datos en las cachs y la memoria principal. Otros elementos de diseo:

10

Memoria Interna

2. Memoria cach.
La cach va a ser una memoria asociativa (se accede por medio de una etiqueta). Las direcciones ahora se pueden dividir en dos partes: nmero de bloque y desplazamiento (para la direccin fsica de la memoria principal). La direccin para obtener un dato de la cach se puede descomponer de varias formas.

11

Memoria Interna

2. Correspondencia directa
Un bloque de memoria principal slo puede ir a una lnea. Cada bloque de memoria principal ya tiene su lnea asignada: Bloque 0-> Lnea 0 Bloque 1 -> Lnea 1 etc.. Bloque M -> Lnea 0 (Si hay M lneas) Bloque M+1 -> Lnea 1,

La direccin se descompone en
Etiqueta Lnea Palabra

12

Memoria Interna

2. Correspondencia directa
Un bloque de memoria principal slo puede ir a una lnea.

13

Memoria Interna

2. Correspondencia directa

Longitud de las direcciones = (s + w) bits Numero de unidades direccionables = 2s+w palabras o bytes Tamao de bloque = Tamao de lnea = 2w palabras o bytes Numero de bloques en memoria principal = 2s+w/2w = 2s Numero de lneas en cache = m = 2r Tamao de la etiqueta = (s-r)bits

14

Memoria Interna

2. Ejercicio 2
Supongamos una memoria cach con correspondencia directa que almacena 64KB, cada bloque es de 512 Bytes. La Memoria Principal es de 16MB. Calcular la direccin virtual para la cach. (Palabra = Byte). Solucin: La cach tiene 64* 1024 / 512 = 128 lneas, es decir necesitamos 7 bits para codificar la lnea. Cada lnea tiene 512 palabras, es decir necesitamos 9 bits para codificar la palabra dentro de la lnea. La memoria principal necesita 24 bits en el bus de direcciones para codificar los 16 MB. Es decir, las direcciones son de 24 bits. Por lo tanto: Direccin virtual: 8 bits para etiqueta (= 24 -7-9) 7 bits para la lnea 9 bits para la palabra

15

Memoria Interna

Un Computador dispone de una memoria RAM de 256 MB y una Memoria Cache por correspondencia directa de 512KB. Cada bloque contiene 8 palabras. Cuntos bloques hay en memoria principal Cuntas lneas tiene la memoria Cache Disea el formato de direcciones de memoria principal. Dnde se hace corresponder , dentro de la Cache, la palabra de la posicin de memoria 3ABC8F8

16

Memoria Interna

Considere un computador con las siguientes caractersticas: un total de 1 MB de memoria principal, el tamao de palabra es de un Byte; el tamao del bloque es de 16 Bytes, en un tamao de cache de 64 KB. 3P Las direcciones de memoria principal: F0010, 01234 Y CABEE, indique los valores de las etiquetas, direccin de lnea de cache y desplazamientos de palabras con una cache con correspondencia directa. Indique dos direcciones cualesquiera de memoria principal con etiquetas diferentes que se correspondan con la misma lnea para una cache con correspondencia directa.
17

Memoria Interna

2. Correspondencia asociativa.
Correspondencia asociativa. Cada bloque de memoria puede ir a cualquier lnea de la cach.
Las direcciones estn formadas por:

Etiqueta Palabra

18

Memoria Interna

2. Correspondencia asociativa.
Correspondencia asociativa.

19

Memoria Interna

2. Correspondencia asociativa.

Longitud de las direcciones = (s + w) bits Numero de unidades direccionables = 2s+w palabras o bytes Tamao de bloque = Tamao de lnea = 2w palabras o bytes Numero de bloques en memoria principal = 2s+w/2w = 2s Numero de lneas en cache = indeterminado Tamao de la etiqueta = s bits

20

Memoria Interna

2. Correspondencia asociativa por conjuntos.


Correspondencia asociativa por conjuntos. La cach se divide en n conjuntos, cada uno de k lneas. Un bloque de memoria principal va al conjunto que le corresponde (en cualquiera de sus lneas). Las direcciones estn formadas por Etiqueta Conjunto Palabra

21

Memoria Interna

2. Correspondencia asociativa por conjuntos.


Correspondencia asociativa por conjuntos.

22

Memoria Interna

2. Correspondencia asociativa por conjuntos.

Longitud de las direcciones = (s + w) bits Numero de unidades direccionables = 2s+w palabras o bytes Tamao de bloque = Tamao de lnea = 2w palabras o bytes Numero de bloques en memoria principal = 2s+w/2w = 2s Numero de lneas en el conjunto = k Numero de conjuntos = v = 2d Numero de lneas en cache = kv = k x 2d Tamao de la etiqueta = (s-d)bits

23

Memoria Interna

2. Algoritmos de sustitucin.
Algoritmos de sustitucin: Nos indica la lnea que debe ser reemplazada. En el caso de correspondencia directa no hay problemas (slo puede ir a una lnea).
LRU (Least Recentlly Used: Menos Recientemente Utilizado). Se reemplaza la lnea que se us hace ms tiempo FIFO (First Input First Output: El primero en entrar es el primero en salir). Se reemplaza la lnea que se carg en memoria hace ms tiempo. LFU (Least Frecuently Used: Menos Frecuentemente Utilizada). Se reemplaza la lnea que se usa con menos frecuencia.

24

Memoria Interna

2. Poltica de escritura.

Poltica de Escritura Es el mecanismo que nos indica cuando se actualizan los datos en memoria principal.
Escritura inmediata: Cuando se modifica un dato en la cach, se modifica en Memoria Principal. Inconveniente: Muchos accesos a memoria. Post escritura: Slo se escribe en memoria principal cuando el bloque ha sido modificado en cach y debe ser reemplazado. Inconveniente: cach y memoria principal pueden tener datos distintos.

25

Memoria Interna

2. Coherencia de cach.
Mecanismo de coherencia de cach. Si hay una memoria principal y varias CPUs cada una con su cach, debemos mantener una relacin lgica entre los datos en las cachs y la memoria principal.
Vigilancia del bus en escritura inmediata: Si una cach escribe en memoria, las dems activan un indicador sealando que esa lnea ya no es valida. Transparencia Hardware: Se utiliza Hardware adicional para modificar todas las cachs. Memoria excluida de la cach: Los datos que se pueden compartir entre procesadores se excluyen de la cach, slo pueden estar en memoria principal.

26

Memoria Interna

2. Otros elementos.
Otros elementos del diseo de una cach.
Cach de dos niveles: Puedo definir dos niveles de cach. Cach unificada frente a partida: Puedo definir una cach para datos y otra para instrucciones o bien una nica cach dnde se almacena todo. Longitud de la lnea. Cuanto mayor longitud tenga la lnea, menos fallos tendremos, pero un fallo supone un coste muy alto (hay que trasvasar muchos datos de la memoria principal a la cach).

27