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

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 1. Tipos

0 downloads 105 Views 480KB Size

Recommend Stories

Story Transcript

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

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

1. Tipos de memoria Tecnología de manufactura Memoria Electrónica: Registros del CPU Circuitos integrados de memoria

1. Tipos de memoria Tecnología de manufactura Tipos de memoria RAM DRAM (RAM Dinámica) Necesita refrescado Consume potencia (corrientes de fuga) No muy rápida (tiempos de acceso ~ 50-100ns) Muy densa => Muy barata Muchos tipos (EDO, SDRAM, DDR, RDRAM) SRAM (RAM Estática) No necesita refrescado Muy rápida (tiempos de acceso ~ 10ns) Poco densa => Muy cara

1. Tipos de memoria Tecnología de manufactura 4MB de memoria VAX, ~1970

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

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

1. Tipos de memoria Tecnología de manufactura Memoria Flash en un USB Memory Key

1. Tipos de memoria Ubicación Dentro del CPU Sobre el motherboard

En un dispositivo externo (disco, red)

2. Jerarquía de memoria En general: las memorias rápidas son caras las memorias grandes son lentas

2. Jerarquía de memoria ●

Registros –



Memoria interna –



Puede incluir uno o más niveles de caché.

Memoria Principal –



Dentro del CPU

RAM

Memoria Externa –

Almacenamiento de respaldo

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

Niveles de la Jerarquía 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 jerárquico? ●

Localidad de referencia –

Localidad Temporal ●



Localidad Espacial ●



Se hace referencia a la misma dirección de memoria repetidamente durante un cierto tiempo 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

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)

¿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?

4. Organización de memoria ¿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

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

19

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.

Organización típica de la Cache

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

Jerarquía de la memoria Localidad Temporal • Mantener datos referidos recientemente en niveles más altos • Así las referencias futuras se satisfacen rápidamente

CPU

Cache L1 I & D

Cache L2 Compartida

Memoria Principal

Disco

Localidad Espacial • Llevar los datos vecinos de aquellos referidos recientemente a niveles más altos • Así las referencias futuras se satisfacen rápidamente

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.

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 Cache

Memoria 1

A

2

B

3

C

4

D

5

E

6

F

Dir Dato

Cache

Arreglo Arreglo Etiquetas Datos

2

B

4

D

5

E

Cargar Dir(3) Falla!

Arreglo Arreglo Etiquetas Datos

Obtener la nueva línea de cache

2

B

3

C

5

E

Cargar Dir(3) Acierto!

Desempeño de una memoria cache

Tasa Aciertos % = Aciertos a la cache (Hit rate)

X

Solicitudes totales a memoria

100%

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 Tamaño (KB)

0

4

32

128

4/128

Tasa de aciertos

0%

65%

86%

90%

65%/90%

Latencia Cache (ciclos)

50

4

10

14

4/14

Latencia Promedio (ciclos)

50

21.5

17.0

19.0

10.7

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

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

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

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.