GII EC Tema 05 expandido PDF

Title GII EC Tema 05 expandido
Author José Luis Artiles Mendoza
Course Algebra Lineal
Institution Universidade da Coruña
Pages 114
File Size 4.1 MB
File Type PDF
Total Downloads 37
Total Views 153

Summary

11111111111111...


Description

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface

Tema 5 – Parte I Jerarquía de memoria del sistema computador. Niveles. Influencia en el rendimiento

5th Edition

Referencias 

Computer Organization and Design: the hardware/software interface. David A. Patterson, John L. Hennesy. Fifth Edition. Morgan Kaufmann. ISBN: 978-0-12-407726-3

Tema 5 — Sistema de memoria — 2

§5.1 Introduction

Introducción  







Memoria Ideal  Rápida, grande y barata. ¿Qué significa que sea “Rápida”?  Monociclo  Poca latencia de operación (tciclo pequeño)  Multiciclo  Que no determine el tiempo de ciclo ¿Qué significa que sea “grande”?  Que el tamaño de la memoria no limite los programas que puedo ejecutar. ¿Qué significa que sea “barata”?  Abordable económicamente. Sin embargo, la realidad es que no existe una memoria así 

Eso tiene impacto en el rendimiento

Tema 5 — Sistema de memoria — 3





 

  



§5.1 Introduction

Impacto en el rendimiento de la velocidad de la memoria

Supongamos un procesador que alcanza un CPI medio de 1.1 ciclos con un sistema de memoria ideal para un programa determinado que tiene 50% de instrucciones aritmético-lógicas, 30% de instrucciones de load/store y 20% de instrucciones de control. Si ahora conectamos un sistema de memoria real que provoca que el 10% de las instrucciones de memoria tengan una penalización de 50 ciclos, ¿cómo varía el CPI? CPI = CPI_mem_ideal + ciclos de bloqueo promedio por instrucción = = 1.1 + 0,30 * 0,10 * 50 = 1.1 + 1.5 = 2.6 ciclos por instrucción Rendimiento real / Rendimiento ideal = Tcpu_mem_ideal / Tcpu_mem_real = = N * 1.1 * tciclo / N * 2.6 * tciclo = 1.1 / 2.6 = 0.42 Hemos perdido el 58% de rendimiento => El procesador pasa ahora el 58% del tiempo bloqueado esperando que lleguen los datos de memoria Rend ideal/Rend real = 2.6/1.1 = 2.36 => Mem ideal es 136% mejor que Mem real

Tema 5 — Sistema de memoria — 4



Objetivo: Dar la impresión al usuario de que tiene una memoria grande, rápida y barata.  



Organizando la memoria de forma jerárquica, llegando así a un compromiso entre Tecnología, Coste y Velocidad.

¿En qué consiste? 



Tan grande y barata como los discos magnéticos. “Casi” tan rápida como la SRAM.

¿Cómo? 



§5.1 Introduction

¿Cómo lo solucionamos?

En utilizar distintos niveles de memorias de forma que los niveles más cercanos al procesador utilizan tecnología más rápida (aunque son de menor tamaño y más caras) y los niveles más lejanos al procesador utilizan tecnología más lenta (y son de mayor tamaño y más baratas).

Todo se basa en el Principio de localidad de los programas

Tema 5 — Sistema de memoria — 5





Los programas acceden en cualquier momento a una pequeña parte de todo su espacio de direcciones Localidad temporal 





§5.1 Introduction

Principio de Localidad

Es probable que se acceda de nuevo a los elementos accedidos recientemente Ej: las instrucciones de un bucle, las variables de inducción de los bucles

Localidad espacial 



Es probable que se acceda a los elementos cercanos a los accedidos recientemente Ej: acceso a instrucciones secuenciales, acceso a datos en arrays

Tema 5 — Sistema de memoria — 6

Aprovechar 

la localidad

Organizar la memoria de forma jerárquica: 

Almacenar todo en el nivel más lento 



Copiar los elementos accedidos recientemente (y los cercanos a ellos) desde el disco a una memoria DRAM más pequeña 



Disco magnético

Memoria principal

Copiar los elementos accedidos más recientemente (y los cercanos a ellos) desde la DRAM a una memoria SRAM más pequeña 

Memoria cache conectada a la CPU

Tema 5 — Sistema de memoria — 7

Niveles de la Jerarquía de Memoria 

Bloque (o línea): cantidad mínima de información que se transfiere entre 2 niveles consecutivos 



Pueden ser varias palabras

Si el dato a acceder está en el nivel superior 

Acierto (hit): el nivel superior suministra el dato 



Tasa de aciertos (Hit rate) = nº aciertos/nº accesos

Si el dato no está en el nivel superior 

Fallo (miss): se copia el bloque que contiene el dato desde el nivel inferior 

Penalización de fallo (miss penalty): tiempo que se tarda en copiar el bloque desde el nivel inferior 





Incluye tiempo de acceso + tiempo de transferencia

Tasa de fallos (miss rate) = nºfallos/nºaccesos = 1 – tasa de aciertos

Después, se suministra el dato desde el nivel superior Tema 5 — Sistema de memoria — 8



Static RAM (SRAM)  



Dynamic RAM (DRAM)  





Tiempo de acceso: 5us – 50us Coste: $0.75 - $1 por GB

Discos magnéticos  



Tiempo de acceso: 50ns – 70ns Coste: $20 – $75 por GB

• + lentas • + baratas • mayor tamaño

Memoria Flash 



Tiempo de acceso: 0.5ns – 2.5ns, Coste: 2000 – $5000 por GB

§5.2 Memory Technologies

Tecnologías de Memoria

Tiempo de acceso: 5ms – 20ms Coste: $0.20 – $2 por GB

Memoria ideal:  

Que tenga el tiempo de acceso de la SRAM Que tenga capacidad y coste/GB de los discos magnéticos Tema 5 — Sistema de memoria — 9

Tecnología SRAM 

  

Circuitos integrados formados por arrays de celdas de memoria Tiempo fijo de acceso a cualquier dato Tiempo de acceso diferente para lectura y escritura El dato permanece mientras esté conectada a la corriente eléctrica  



No necesita ser refrescada Necesitan una potencia mínima para mantener la carga en modo standby

Utilizan de 6 a 8 transistores por bit almacenado

Tema 5 — Sistema de memoria — 10

Tecnología DRAM 

Los datos se almacenan como la carga de un condensador 

Se usa un solo transistor para acceder a la carga almacenada 



Más densas y baratas que las SRAM

Se debe refrescar periódicamente  

Refrescar = leer los contenidos y volverlos a escribir El refresco se realiza por filas

Tema 5 — Sistema de memoria — 11

Organización avanzada de las DRAM 

Los bits de una DRAM se organizan como un array rectangular  





Double data rate SDRAM (DDR SDRAM) 



DRAM accede a una fila completa Modo Burst (ráfaga): proporciona palabras secuenciales de una fila con latencia reducida Se añade reloj (Synchronous DRAM – SDRAM) lo que las hace más rápidas, al eliminar el tiempo de sincronización

Transfieren en los flancos de subida y bajada de la señal de reloj

Quad data rate SDRAM (QDR SDRAM) 

Entradas y salidas DDR separadas

Tema 5 — Sistema de memoria — 12

Generaciones DRAM Year

Capacity

$/GB

1980

64Kbit

$1500000

1983

256Kbit

$500000

1985

1Mbit

$200000

1989

4Mbit

$50000

1992

16Mbit

$15000

1996

64Mbit

$10000

1998

128Mbit

$4000

2000

256Mbit

$1000

2004

512Mbit

$250

50

2007

1Gbit

$50

0

2010

2Gbit

$30

2012

4Gbit

$1

300 Tiempo_acceso_fila (ns)

250

Tiempo_acceso_columna (ns)

200 150 100

80 83 85 89 92 96 98 00 04 07 10 12

Tema 5 — Sistema de memoria — 13

Factores de rendimiento de las DRAM 

Buffer de fila (Row buffer) 



DRAM Síncronas (Synchronous DRAM – SDRAM) 

 



Permite leer y refrescar varias palabras en paralelo

Permite realizar accesos consecutives en ráfagas sin necesidad de enviar cada dirección individual Elimina la necesidad de sincronización explícita (CLK sincroniza) Mejora el ancho de banda

DRAM en bancos  

Permite el acceso simultáneo a múltiples DRAMs Mejora el ancho de banda

Tema 5 — Sistema de memoria — 14

Mejora del ancho de banda

 

Tiempo acceso a memoria = 15 ciclos; bloque a transferir = 16 bytes Memoria de ancho 1 palabra  



Memoria de ancho 4 palabras  



Penalización de fallo = 1 + 4*15 + 4*1 = 65 ciclos de bus Ancho de banda = 16 bytes / 65 ciclos = 0.25 B/ciclo Penalización de fallo = 1 + 15 + 1 = 17 ciclos de bus Ancho de banda = 16 bytes / 17 ciclos = 0.94 B/ciclo

Memoria entrelazada de 4 bancos  

Penalización de fallo = 1 + 15 + 4*1 = 20 ciclos de bus Ancho de banda = 16 bytes / 20 cycles = 0.8 B/ciclo Tema 5 — Sistema de memoria — 15



Almacenamiento en semiconductor no volátil 

  

Es una memoria EEPROM (Electrically Erasable Programmable Read-Only Memory) 100× – 1000× más rápidos que los discos magnéticos Más pequeñas, menor consumo, más robustas …aunque mayor $/GB (entre los discos magnéticos y la DRAM)

§6.4 Flash Storage

Almacenamiento Flash

Tema 5 — Sistema de memoria — 16

Tipos de memorias Flash 

Flash NOR: cada celda de bit similar a una puerta NOR  



Acceso random de lectura/escritura Se utiliza para memorias de instrucciones en sistemas empotrados (embedded systems)

Flash NAND: cada celda de bit similar a una puerta NAND   

Son más densas (bits/area), pero los accesos son por bloques Más baratas por GB Se utilizan para memorias USB, discos SSD,… 



Ojo con la nomenclatura, los discos SSD realmente no son discos…¡piénsalo!

Las celdas de las memorias flash dejan de funcionar después de unos miles de accesos 



No es adecuada para reemplazar a los discos magnéticos o a las RAM de acceso directo (DRAM) Equiparar el nivel de desgaste de las celdas: remapear los datos a las celdas menos utilizadas => disminuye el rendimiento Tema 5 — Sistema de memoria — 17



Almacenamiento magnético, no volátil, en platos giratorios

§6.3 Disk Storage

Almacenamiento en Disco

Tema 5 — Sistema de memoria — 18

Sectores del disco y accesos 

En cada sector se almacena:   

ID del sector Datos (512B - 4KB) Códigos de corrección de errores (ECC) 



Existen también campos de sincronización y huecos (gaps): 



Se usan para subsanar los errores de grabación y del propio disco ID – gap – Datos+ECC – gap – ID – gap – Datos+ECC – gap …

El tiempo para acceder a un sector incluye:   

Retardo de hacer cola, si existen otros accesos pendientes Tiempo de posicionado (seek): para mover los cabezales hasta la pista Latencia rotacional: tiempo que tarda la información en pasar por debajo del cabezal  



Tiempo de transferencia de datos  



Se utiliza la latencia rotacional media = tiempo que tarda el disco en dar media Vuelta Ej: 8000 rpm = 8000 vueltas en 60 segundos Depende de la velocidad de transferencia del disco Ej: 100 MB/s = 100  2 Bytes en 1 segundo

Overhead del controlador Tema 5 — Sistema de memoria — 19

Ej: Cálculo del tiempo de acceso al disco 

Dado las siguientes características de un disco: 



Tiempo de lectura promedio =





Sector de 512B, velocidad de rotación de 15000 rpm, tiempo medio de posicionamiento (seek) de 4ms, velocidad de transferencia de 100MB/s, overhead del controlador de 0.2ms, y no existen peticiones pendientes de acceso al disco

(tiempo de posicionamiento) 4ms + (latencia rotacional media) ½ / (15000/60) = 2ms + (tiempo de tranferencia) 512 / 100MB/s = 0.005ms + (retardo del controlador) 0.2ms = 6.205ms = 6.2ms Reflexión: La mayor cantidad de tiempo se emplea en los elementos mecánicos del disco

Si el tiempo posicionamiento real es de 1ms 

Tiempo de lectura promedio = 3.2ms Tema 5 — Sistema de memoria — 20

Aspectos de rendimiento del disco 

Los fabricantes proporcionan:  

El tiempo mínimo y máximo de acceso al disco El tiempo de acceso promedio al disco  



Basándose en todos los posicionamientos posibles La localidad en los accesos y la planificación que realiza el SO produce que los tiempos de acceso medios reales sean más pequeños

Las unidades de disco incluyen caches 





Prebúsqueda de sectores para anticiparse a los accesos solicitados Evitan los retardos de posicionamiento y la latencia rotacional Nota importante: la cache del disco no es lo mismo que los niveles de memoria cache de la jerarquía de memoria, aunque funcionan con la misma filosofía. Tema 5 — Sistema de memoria — 21

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface

Tema 5 – Parte II Jerarquía de memoria del sistema computador. Niveles. Influencia en el rendimiento

5th Edition



Memoria cache 



Nivel de la jerarquía de memoria más cercano a la CPU

Dados los accesos X1, …, Xn–1, y se produce un nuevo acceso Xn 



§5.3 The Basics of Caches

Memoria cache

¿Cómo sabemos si los datos que buscamos están en la cache? ¿Cómo los encontramos?

Tema 5 — Sistema de memoria — 23

Cache de Mapeo Directo 



La ubicación de los datos en la cache está determinada por su dirección Mapeo directo: solo es posible una ubicación 

(Dirección de Bloque) modulo (#Bloques en cache) 





#Bloques es una potencia de 2 Se utilizan los bits menos significativos de la dirección

Dirección de bloque = dirección de memoria/tamaño de bloque Tema 5 — Sistema de memoria — 24

Etiquetas y bits de validez 

¿Cómo sabemos qué bloque en particular está almacenado en una posición de la cache? 



Almacenamos en cache los datos del bloque y también la dirección del bloque Realmente solo es necesario almacenar los bits más significativos de la dirección 



Se les denomina etiqueta (o tag)

¿Y cómo sabemos si hay o no hay datos almacenados en una posición de la cache? 

Cada bloque posee un bit de validez:  



1 = existen datos válidos almacenados 0 = no existen datos válidos almacenados

Inicialmente los bits de validez de todos los bloques valen 0

Tema 5 — Sistema de memoria — 25

Ejemplo de acesos a la Cache  

8 bloques, 1 palabra/bloque, mapeo directo Estado inicial

Index

V

000

N

001

N

010

N

011

N

100

N

101

N

110

N

111

N

Tag

Data

Tema 5 — Sistema de memoria — 26

Ejemplo de acesos a la Cache Dirección de palabra

Dirección binaria

Hit/miss

Bloque de cache

22

10 110

Miss

110

Index

V

000

N

001

N

010

N

011

N

100

N

101

N

110

Y

111

N

Tag

Data

10

Mem[10110]

Tema 5 — Sistema de memoria — 27

Ejemplo de acesos a la Cache Dirección de palabra

Dirección binaria

Hit/miss

Bloque de cache

26

11 010

Miss

010

Index

V

000

N

001

N

010

Y

011

N

100

N

101

N

110

Y

111

N

Tag

Data

11

Mem[11010]

10

Mem[10110]

Tema 5 — Sistema de memoria — 28

Ejemplo de acesos a la Cache Dirección de palabra

Dirección binaria

Hit/miss

Bloque de cache

22

10 110

Hit

110

26

11 010

Hit

010

Index

V

000

N

001

N

010

Y

011

N

100

N

101

N

110

Y

111

N

Tag

Data

11

Mem[11010]

10

Mem[10110]

Tema 5 — Sistema de memoria — 29

Ejemplo de acesos a la Cache Dirección de palabra

Dirección binaria

Hit/miss

Bloque de cache

16

10 000

Miss

000

3

00 011

Miss

011

16

10 000

Hit

000

Index

V

Tag

Data

000

Y

10

Mem[10000]

001

N

010

Y

11

Mem[11010]

011

Y

00

Mem[00011]

100

N

101

N

110

Y

10

Mem[10110]

111

N Tema 5 — Sistema de memoria — 30

Ejemplo de acesos a la Cache Dirección de palabra

Dirección binaria

Hit/miss

Bloque de cache

18

10 010

Miss

010

Index

V

Tag

Data

000

Y

10

Mem[10000]

001

N

010

Y

10

Mem[10010]

011

Y

00

Mem[00011]

100

N

101

N

110

Y

10

Mem[10...


Similar Free PDFs