You are on page 1of 29

Organizacin del Sistema de

Memoria
1. Tipos de memoria
2. Jerarqua de memoria
3. El principio de localidad
4. Organizacin de la memoria

1. Tipos de memoria
La memoria se puede clasificar de acuerdo a:
-- Tecnologa de manufactura (electrnica, magntica, ptica)
-- Ubicacin (CPU, motherboard, exterior)
-- Densidad (tamao/capacidad)
-- Mtodo de acceso (secuencial, aleatorio)
-- Velocidad de acceso
-- Costo

1. Tipos de memoria
Tecnologa de manufactura
Memoria Electrnica:
Registros del CPU
Circuitos integrados de memoria

1. Tipos de memoria
Tecnologa de manufactura
Tipos de memoria RAM
DRAM (RAM Dinmica)
Necesita refrescado
Consume potencia (corrientes de fuga)
No muy rpida (tiempos de acceso ~ 50-100ns)
Muy densa => Muy barata
Muchos tipos (EDO, SDRAM, DDR, RDRAM)
SRAM (RAM Esttica)
No necesita refrescado
Muy rpida (tiempos de acceso ~ 10ns)
Poco densa => Muy cara

1. Tipos de memoria
Tecnologa de manufactura
4MB de memoria
VAX, ~1970

1. Tipos de memoria
Tecnologa de manufactura
Empaques:
DIM
SIPP
SIMM 30 pines
SIMM 72 pines
DIMM 168 pines
DDR DIMM 184 pines

1. Tipos de memoria
Tecnologa de manufactura
Memoria EPROM:
Si se expone a luz UV, se
borra su contenido.

1. Tipos de memoria
Tecnologa de manufactura
Memoria Flash
en un USB Memory Key

1. Tipos de memoria
Ubicacin
Dentro del CPU
Sobre el motherboard

En un dispositivo externo (disco, red)

2. Jerarqua de memoria
En general:
las memorias rpidas son caras
las memorias grandes son lentas

2. Jerarqua de memoria

Registros

Memoria interna

Puede incluir uno o


ms niveles de cach.

Memoria Principal

Dentro del CPU

RAM

Memoria Externa

Almacenamiento de
respaldo

2. Jerarqua de memoria

Registros
Cach de nivel 1 (L1)
Cach de nivel 2 (L2)
Memoria Principal
Cach de disco
Disco magntico
Disco ptico
Cinta

Niveles de la Jerarqua
L0:
registers

Smaller,
faster,
and
costlier
(per byte)
storage
devices

L1:

L2:

L3:
Larger,
slower,
and
cheaper
(per byte)
storage
devices

L5:

L4:

CPU registers hold words retrieved


from cache memory.

on-chip L1
cache (SRAM)
off-chip L2
cache (SRAM)

L1 cache holds cache lines


retrieved from the L2 cache.
L2 cache holds cache lines
retrieved from memory.

main memory
(DRAM)

local secondary storage


(local disks)

remote secondary storage


(distributed file systems, Web servers)

Main memory holds disk


blocks retrieved from local
disks.

Local disks hold files


retrieved from disks on
remote network servers.

Capacidad vs Velocidad y Costo

Registros

On-Chip
SRAM
Off-Chip
SRAM
DRAM
DISCO

Capacidad

Velocidad

Costo/bit

Registros

< 1KB

< 1ns

$$$$

On-chip SRAM

8KB-6MB

< 10ns

$$$

Off-chip SRAM

1Mb 16Mb

< 20ns

$$

DRAM

64MB 1TB

< 100ns

Disco

40GB 1PB

< 20ms

~0

VELOCIDAD y COSTO

CAPACIDAD

Tipo

3. Principio de localidad
Por qu funciona un sistema jerrquico?

Localidad de referencia

Localidad Temporal

Localidad Espacial

Se hace referencia a la misma direccin de memoria


repetidamente durante un cierto tiempo
Durante ese mismo tiempo se hace referencia a direcciones
vecinas.

Observaciones empricas

Significativo!
An un espacio pequeo de almacenamiento local (8KB)
con frecuencia satisface >90% de las referencias a un
conjunto de datos o de instrucciones que ocupe varios MB

Principio de Localidad

Localidad Temporal (localidad en el tiempo): si se hace


referencia a un objeto (instruccin o dato), existir la
tendencia de que sea referido nuevamente en un prximo
momento.
Localidad Espacial (localidad en el espacio): Si un objeto es
referido, habr la tendencia de que los objetos cercanos a l
tambien sean referidos en un prximo momento.
Localidad de Referencia: Durante el curso de ejecucin de
un programa, las referencias a memoria tienden a agruparse.
Ejemplo. Lazos (loops)

Por qu Localidad de referencia?

Analoga:

Biblioteca (Disco)
Librero (Memoria Principal)
Libros apilados sobre el escritorio (off-chip cache)
Libro abierto en el escritorio (on-chip cache)

Posibilidad de:

Referirse al mismo libro o al mismo captulo otra vez?

La probabilidad decae con el tiempo


El libro se pone abajo de la pila, luego en el librero, finalmente en
la biblioteca

Referirse al captulo n+1 si se est viendo actualmente el


captulo n?

4. Organizacin de memoria
Queremos velocidad?

Es posible construir una computadora que use


solo RAM esttica?
Sera muy rpida
No necesitara cache
Sera costossima

Cache

Memoria rpida y pequea


Situada entre el CPU y la memoria principal
(relativamente grande y lenta)
Puede encontrarse dentro del chip del CPU o en un
mdulo externo a l
Contiene una copia de partes de la memoria principal

19

Objetivo de la memoria Cache

Lograr que la velocidad del sistema de


memoria memoria sea lo ms rpida posible,
consiguiendo al mismo tiempo una gran
capacidad al precio de las memorias menos
costosas.

Organizacin tpica de la Cache

Por qu usar una memoria Cache ?

Con base en el fenmeno de localidad, es posible tener las


instrucciones y los datos con mayor probabilidad de ser
requeridos por el procesador, en un bloque de memoria
(cache) que se ubica cercano a l.
Lo anterior reduce el nmero de veces que se necesita tener
acceso a la memoria principal (lenta)
Adems, la memoria cache usa tecnologa de RAM esttica la
cual es ms rpida que la tecnologa DRAM que tpicamente
se encuentra en los sistemas de memoria principal
El efecto resultante de todo esto es un tiempo de acceso
menor

Jerarqua de la memoria
Localidad Temporal
Mantener datos referidos
recientemente en niveles
ms altos
As las referencias futuras se
satisfacen rpidamente

CPU

Cache L1 I & D

Cache L2 Compartida

Memoria Principal

Disco

Localidad Espacial
Llevar los datos vecinos de
aquellos referidos recientemente a
niveles ms altos
As las referencias futuras se
satisfacen rpidamente

Operacin de la Memoria Cache

Cuando el procesador intenta leer una palabra de la


memoria
Se verifica si la palabra est en la cache
Si es as, se entrega al procesador. => Acierto (Hit)
Si no, se transfiere uno de los bloques de memoria
principal a la cache => Falla (Miss)
Despus se entrega la palabra al procesador
La cache incluye etiquetas para identificar qu bloque
de la memoria principal est en cada lnea de la cache.

Estructura de la memoria cache

Las caches estn constituidas por arreglos de etiquetas y de


datos

El arreglo de datos almacena los valores que se van a usar


El arreglo de etiquetas almacena las direcciones de las localidades que
se encuentran actualmente en el arreglo de datos
Cache

Memoria
1

Dir Dato

Cache

Arreglo Arreglo
Etiquetas Datos

Cargar Dir(3)
Falla!

Arreglo Arreglo
Etiquetas Datos

Obtener la
nueva lnea
de cache

Cargar Dir(3)
Acierto!

Desempeo de una memoria cache

Tasa Aciertos % = Aciertos a la cache


(Hit rate)

Solicitudes totales a memoria

100%

Desempeo de una memoria cache

La cache reduce la latencia promedio de la memoria

Si el valor requerido est en la cache se le llama acierto


El valor requerido y no encontrado se carga despus de una falla
La jerarqua de memoria est diseada para minimizar la latencia
promedio
Tamao (KB)

32

128

4/128

Tasa de aciertos

0%

65%

86%

90%

65%/90%

Latencia Cache
(ciclos)

50

10

14

4/14

Latencia Promedio
(ciclos)

50

21.5

17.0

19.0

10.7

El tamao y la latencia de la cache


son importantes para el desempeo

Criterios de diseo de la Cache

Tamao de la cache
Arquitectura
Funcin de correspondencia (mapeo)
Algoritmo de reemplazo
Polticas de escritura
Tamao de la lnea
Nmero de caches

El tamao importa

Costo

Ms cache es ms cara

Velocidad

Ms cache es ms rpida (hasta cierto punto)


Buscar datos en la cache toma tiempo

You might also like