memoria organization

29
Organización del Sistema de Memoria 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Upload: marty-marioneta-gutierrez

Post on 15-Jan-2016

227 views

Category:

Documents


0 download

DESCRIPTION

mmm

TRANSCRIPT

Page 1: Memoria Organization

Organización del Sistema de Memoria

1. Tipos de memoria2. Jerarquía de memoria3. El principio de localidad4. Organización de la memoria

Page 2: Memoria Organization

1. Tipos de memoria

La memoria se puede clasificar de acuerdo a:

-- Tecnología de manufactura (electrónica, magnética, óptica)-- Ubicación (CPU, motherboard, exterior)-- Densidad (tamaño/capacidad)-- Método de acceso (secuencial, aleatorio)-- Velocidad de acceso-- Costo

Page 3: Memoria Organization

1. Tipos de memoriaTecnología de manufactura

Memoria Electrónica:Registros del CPUCircuitos integrados de memoria

Page 4: Memoria Organization

1. Tipos de memoriaTecnología de manufactura

Tipos de memoria RAM

DRAM (RAM Dinámica)Necesita refrescadoConsume potencia (corrientes de fuga)No muy rápida (tiempos de acceso ~ 50-100ns)Muy densa => Muy barataMuchos tipos (EDO, SDRAM, DDR, RDRAM)

SRAM (RAM Estática)No necesita refrescadoMuy rápida (tiempos de acceso ~ 10ns)Poco densa => Muy cara

Page 5: Memoria Organization

1. Tipos de memoriaTecnología de manufactura

4MB de memoria

VAX, ~1970

Page 6: Memoria Organization

1. Tipos de memoriaTecnología de manufactura

Empaques:DIM

SIPP

SIMM 30 pines

SIMM 72 pines

DIMM 168 pines

DDR DIMM 184 pines

Page 7: Memoria Organization

1. Tipos de memoriaTecnología de manufactura

Memoria EPROM:

Si se expone a luz UV, seborra su contenido.

Page 8: Memoria Organization

1. Tipos de memoriaTecnología de manufactura

Memoria Flashen un USB Memory Key

Page 9: Memoria Organization

1. Tipos de memoriaUbicación

Dentro del CPU

Sobre el motherboard

En un dispositivo externo (disco, red)

Page 10: Memoria Organization

2. Jerarquía de memoria

En general:las memorias rápidas son caraslas memorias grandes son lentas

Page 11: Memoria Organization

2. Jerarquía de memoria

● Registros – Dentro del CPU

● Memoria interna – Puede incluir uno o

más niveles de caché.● Memoria Principal

– RAM● Memoria Externa

– Almacenamiento de respaldo

Page 12: Memoria Organization

2. Jerarquía de memoria

● Registros● Caché de nivel 1 (L1)● Caché de nivel 2 (L2)● Memoria Principal● Caché de disco● Disco magnético● Disco Óptico● Cinta

Page 13: Memoria Organization

Niveles de la Jerarquía

registers

on-chip L1cache (SRAM)

main memory(DRAM)

local secondary storage(local disks)

Larger, slower,

and cheaper (per byte)storagedevices

remote secondary storage(distributed file systems, Web servers)

Local disks hold files retrieved from disks on remote network servers.

Main memory holds disk blocks retrieved from local disks.

off-chip L2cache (SRAM)

L1 cache holds cache lines retrieved from the L2 cache.

CPU registers hold words retrieved from cache memory.

L2 cache holds cache lines retrieved from memory.

L0:

L1:

L2:

L3:

L4:

L5:

Smaller,faster,and

costlier(per byte)storage devices

Page 14: Memoria Organization

Capacidad vs Velocidad y Costo

Registros

On-ChipSRAM

Off-ChipSRAM

DRAM

DISCO

CA

PA

CID

AD

VE

LOC

IDA

D y

CO

ST

O

$$$< 10ns8KB-6MBOn-chip SRAM

~0< 20ms40GB – 1PBDisco

$< 100ns64MB – 1TBDRAM

$$< 20ns1Mb – 16MbOff-chip SRAM

$$$$< 1ns< 1KBRegistros

Costo/bitVelocidadCapacidadTipo

Page 15: Memoria Organization

Por qué funciona un sistema jerárquico?

● Localidad de referencia– Localidad Temporal

● Se hace referencia a la misma dirección de memoria repetidamente durante un cierto tiempo

– Localidad Espacial● Durante ese mismo tiempo se hace referencia a direcciones

vecinas.● Observaciones empíricas

– Significativo!– Aún un espacio pequeño de almacenamiento local (8KB)

con frecuencia satisface >90% de las referencias a un conjunto de datos o de instrucciones que ocupe varios MB

3. Principio de localidad

Page 16: Memoria Organization

Principio de Localidad

● Localidad Temporal (localidad en el tiempo): si se hace referencia a un objeto (instrucción o dato), existirá la tendencia de que sea referido nuevamente en un próximo 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 próximo momento.

● Localidad de Referencia: Durante el curso de ejecución de un programa, las referencias a memoria tienden a agruparse. Ejemplo. Lazos (loops)

Page 17: Memoria Organization

¿Por qué Localidad de referencia?● Analogía:

– 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 capítulo 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 capítulo n+1 si se está viendo actualmente el capítulo n?

Page 18: Memoria Organization

¿Queremos velocidad?

● Es posible construir una computadora que use solo RAM estática?

● Sería muy rápida● No necesitaría cache● Sería costosísima

4. Organización de memoria

Page 19: Memoria Organization

19

Cache● Memoria rápida y pequeña● Situada entre el CPU y la memoria principal

(relativamente grande y lenta)● Puede encontrarse dentro del chip del CPU o en un

módulo externo a él● Contiene una copia de partes de la memoria principal

Page 20: Memoria Organization

Objetivo de la memoria Cache

● Lograr que la velocidad del sistema de memoria memoria sea lo más rápida posible, consiguiendo al mismo tiempo una gran capacidad al precio de las memorias menos costosas.

Page 21: Memoria Organization

Organización típica de la Cache

Page 22: Memoria Organization

Por qué usar una memoria Cache ?

● Con base en el fenómeno 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 número de veces que se necesita tener acceso a la memoria principal (lenta)

● Además, la memoria cache usa tecnología de RAM estática la cual es más rápida que la tecnología DRAM que típicamente se encuentra en los sistemas de memoria principal

● El efecto resultante de todo esto es un tiempo de acceso menor

Page 23: Memoria Organization

Jerarquía de la memoria

CPU

Cache L1 I & D

Cache L2 Compartida

Memoria Principal

Disco

Localidad Temporal•Mantener datos referidos recientemente en niveles más altos

•Así las referencias futuras se satisfacen rápidamente

Localidad Espacial•Llevar los datos vecinos de aquellos referidos recientemente a niveles más altos

•Así las referencias futuras se satisfacen rápidamente

Page 24: Memoria Organization

Operación 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)● Después se entrega la palabra al procesador● La cache incluye etiquetas para identificar qué bloque

de la memoria principal está en cada línea de la cache.

Page 25: Memoria Organization

Estructura de la memoria cache● Las caches están 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

A

Memoria

B

C

D

1

2

3

4

ArregloEtiquetas

2

4

ArregloDatos

B

D

Cache

E

F

5

6

5 E

Cargar Dir(3)

Falla!

ArregloEtiquetas

2

3

ArregloDatos

B

C

Cache

5 E

Cargar Dir(3)

Acierto!

Obtener la nueva línea de cache

Dir Dato

Page 26: Memoria Organization

Desempeño de una memoria cache

Tasa Aciertos % = Aciertos a la cache X 100%

(Hit rate) Solicitudes totales a memoria

Page 27: Memoria Organization

Desempeño 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 después de una “falla”– La jerarquía de memoria está diseñada para minimizar la latencia

promedio

50

50

0%

0

10.719.017.021.5Latencia Promedio (ciclos)

4/1414104Latencia Cache

(ciclos)

65%/90%90%86%65%Tasa de aciertos

4/128128324Tamaño (KB)

El tamaño y la latencia de la cache son importantes para el desempeño

Page 28: Memoria Organization

Criterios de diseño de la Cache

● Tamaño de la cache● Arquitectura● Función de correspondencia (mapeo)● Algoritmo de reemplazo● Políticas de escritura● Tamaño de la línea● Número de caches

Page 29: Memoria Organization

El tamaño importa

● Costo – Más cache es más cara

● Velocidad– Más cache es más rápida (hasta cierto punto) – Buscar datos en la cache toma tiempo