Download Motivación: - Arquitectura y Tecnología de Computadores

Document related concepts
no text concepts found
Transcript
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Organización. Jerarquía de Memoria
Motivación:
¿Cómo clasificamos las técnicas basadas en organización del hardware?
¿Cuáles son las principales técnicas relativas al sistema de memoria?
¿Cuál es el principio de funcionamiento de la jerarquía de memoria?
¿Cómo se organiza la memoria principal del sistema?
1
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Organización. Jerarquía de Memoria
• Técnicas basadas en Organización del Hardware
• Sistema de Memoria. Jerarquía de Memoria
• Organización de la Memoria Principal
2
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Organización del Hardware
• MEMORIA
Jerarquía de Memoria
• PROCESADOR
Segmentación
ejecución solapada de instrucciones
Paralelismo ( realización de actividades en paralelo)
Múltiples Unidades Funcionales (diferentes/replicadas)
Superescalabilidad:
Múltiples núcleos:
• E/S
Arrays de Discos (Sistemas RAID)
(Redundant Array of Independent Disks)
3
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Sistema de Memoria
Processor
Control
Datapath
Devices
Memory
Input
Output
• El acceso a memoria
condiciona en gran medida el
rendimiento del computador
ABMEM = Ancho de banda de memoria
ABCPU = Ancho de Banda de CPU
ABE/S = Ancho de banda de E/S
Relación ideal a cumplir en un
computador de altas prestaciones:
Problema: Velocidad (CPUs) >> Velocidad (MEMs)
4
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Rendimiento de Procesadores y Memorias
µProc
(2X/1.5años)
1000
Processor-Memory
Performance Gap
100
(crece 50%/año)
DRAM
10
(2X/10años)
1
19
80
19
83
19
86
19
89
19
92
19
95
19
98
20
01
20
04
Performance
10000
Year
5
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Area de Arquitectura
y Tecnología
de Computadores
Arquitectura y Tecnología de Computadores (10/11)
Limitaciones de la Memoria
•
Clocks per DRAM access
Clocks per instruction
1000
100
10
Processor
Memory
1
0,1
0,01
VAX/1980
PPro/1996
2010+
6
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Impacto de la Memoria sobre el Rendimiento
• Suponer que el procesador ejecuta
50% arit/log, 30% ld/st, 20% control
CPI ideal = 1.1
y que el 10% de los accesos a memoria penalizan 50 ciclos
• CPI = CPI ideal + ciclos perdidos por instrucción
= 1.1 ciclos + [0.3(mem/inst) x 0.1(penal/mem) x 50(ciclos/penal)]
= 1.1 ciclos + 1.5 ciclos = 2.6 ciclos
•
Cada 1% de penalizaciones extra implica un aumento de 0.5 en el CPI
CPI Ideal
CPI Penal Mem
CPI Penal Extra
7
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Jerarquía de Memoria
• Hecho: las memorias baratas y de elevada capacidad (DRAM) son lentas y
las rápidas (SRAM) son caras y de baja capacidad
• ¿Como podemos diseñar una memoria que de la ilusión de ser de elevada
capacidad, barata y al mismo tiempo rápida la mayor parte del tiempo?
• Jerarquía de memoria
organizando el almacenamiento en varios niveles jerárquicos …
y aprovechando los principios de localidad temporal y espacial …
se puede presentar al usuario tanta memoria como permite la tecnología barata …
pero con la velocidad que proporciona la tecnología más rápida
8
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Jerarquía de Memoria típica
On-Chip Components
Control
DTLB
Instr
Data
Cache Cache
ITLB
RegFile
Datapath
Second
Level
Cache
(SRAM)
Main
Memory
(DRAM)
Secondary
Memory
(Disk)
Velocidad (ciclos): ½’s
1,000’s
Tamaño (bytes): 100’s
G’s - T’s
Coste (€/bit): el mayor
el menor
9
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Características de la Jerarquía de Memoria
Processor
Inclusividad
tiempo de
acceso
coste/bit
L1
L2
(lo que está en L1
es un subconjunto
de lo que está en
L2, que a su vez es
un subconjunto de
MM y éste otro
subconjunto de
SM)
Main Memory
Secondary Memory
capacidad relativa de cada nivel de memoria
10
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Tecnologías de Memoria implicadas
• Las Caches utilizan memoria SRAM por velocidad
Baja densidad (6 transistores/celda), alto consumo, muy rápidas pero caras
Estática: el contenido almacenado permanece mientras haya alimentación
• La Memoria Principal utiliza DRAM por tamaño
Alta densidad (1 transistor por celda), bajo consumo, baratas pero lentas
Dinámicas: necesitan ser “refrescadas” periódicamente (~ cada 8 ms)
11
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Métricas de rendimiento de Memoria
• Latencia: tiempo para acceder a una palabra
Tiempo de acceso: tiempo entre solicitud y recepción/ escritura del dato
Tiempo de ciclo: tiempo entre solicitudes
DRAMs: Tiempo de ciclo > Tiempo de acceso
Tiempos de ciclo típicos:
• Ancho de Banda: capacidad de proporcionar datos por unidad de tiempo
= ancho del canal de datos * ratio al que puede ser utilizado
• Tamaño: DRAM / SRAM =
• Tiempo de ciclo: DRAM / SRAM =
• Coste: SRAM / DRAM =
12
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Area de Arquitectura
y Tecnología
de Computadores
Arquitectura y Tecnología de Computadores (10/11)
Latencia y Ancho de Banda para DRAM
DRAM
Page
DRAM
FastPage
DRAM
FastPage
DRAM
Synch
DRAM
DDR
SDRAM
Module Width
16b
16b
32b
64b
64b
64b
Year
1980
1983
1986
1993
1997
2000
Mb/chip
0.06
0.25
1
16
64
256
Die size (mm2)
35
45
70
130
170
204
Pins/chip
16
16
18
20
54
66
BandWidth (MB/s)
13
40
160
267
640
1600
Latency (nsec)
225
170
125
75
62
52
• En el período en que se duplica el ancho de banda de memoria, la
latencia tan solo mejora en un factor entre 1.2 y 1.4
• Para poder proporcionar esos niveles de ancho de banda, la DRAM
tiene que ser organizada internamente de forma adecuada
13
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Sistemas de Memoria con soporte para CACHE
Chip
•
CPU
Cache
bus
La conexión externa del chip y la
arquitectura de la memoria condicionan
fuertemente el rendimiento del sistema
Organización de la memoria a nivel de palabra
• Asume:
1 ciclo de reloj para enviar la dirección
8 ciclos de tiempo de acceso
1 ciclo para devolver la palabra de datos
32 bit datos
Memory
• Ancho de banda Bus de Memoria-Cache
Número de bytes accedidos desde memoria
y transferidos hacia la cache por ciclo
14
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Organización de Memoria a nivel de palabra
Chip
CPU
• Si el tamaño de bloque de la cache es de una
palabra, en caso de fallo de la cache tendrá lugar
una parada durante el tiempo necesario para
cargar la palabra desde memoria principal
Cache
ciclo para enviar la dirección
bus
ciclos para leer la DRAM
ciclos para retorno de la palabra
total de ciclos para el fallo
Memory
• Número de bytes transferidos por unidad de tiempo
(ancho de banda) para fallo de cache:
bytes por ciclo
15
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Organización de Memoria a nivel de palabra
• ¿Que ocurre si el tamaño de bloque es de 4 palabras?
Chip
CPU
ciclo para enviar la dirección
ciclos para leer la DRAM
ciclos para retorno de la última palabra
total de ciclos para el fallo
Cache
bus
8 ciclos
8 ciclos
8 ciclos
8 ciclos
Memory
• Número de bytes transferidos por unidad de tiempo
(ancho de banda) para fallo de cache:
bytes por ciclo
16
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Area de Arquitectura
y Tecnología
de Computadores
Arquitectura y Tecnología de Computadores (10/11)
Organización de Memoria más ancha
Chip
CPU
Cache
• ¿Que ocurre si la memoria es 4
veces más ancha?
ciclo para enviar la dirección
ciclos para leer la DRAM
128 bit
ciclos para retorno de las 4 palabras
bus
Memory
total de ciclos para el fallo
• Número de bytes transferidos por
unidad de tiempo (ancho de banda)
para fallo de cache:
bytes por ciclo
17
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Area de Arquitectura
y Tecnología
de Computadores
Arquitectura y Tecnología de Computadores (10/11)
Organización de Memoria entrelazada (interleaved)
Chip
CPU
Cache
bus
• ¿Que ocurre si el tamaño de bloque
es de 4 palabras?
ciclo para enviar la dirección
ciclos para leer la DRAM
ciclos para retorno de la última palabra
total de ciclos para el fallo
8 ciclos
8 ciclos
Memory Memory Memory Memory
bank 0 bank 1 bank 2 bank 3
8 ciclos
8 ciclos
• Número de bytes transferidos por unidad de
tiempo (ancho de banda) para fallo de cache:
bytes por ciclo
18
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Sistemas de Memoria DRAM (Resumen)
• Es importante casar las características de la cache ...
(accede a un bloque de una vez, normalmente de más de una palabra)
con las características de la DRAM:
utilizar DRAMs que soporten acceso rápido a un conjunto de palabras,
preferiblemente cuando coincida con el tamaño de bloque de la cache
con las características del Bus de Memoria:
el bus puede soportar los ritmos y patrones de acceso de la DRAM si se
quiere incrementar el ancho de banda hacia la cache
Ancho de Banda Memoria máximo 19
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
Universidad
de
Oviedo
Arquitectura y Tecnología de Computadores (10/11)
Area de Arquitectura
y Tecnología
de Computadores
Ejercicio 4.1
Sin entrelazado:
8 ciclos
8 ciclos
8 ciclos
8 ciclos
Tiempo sin entrelazado =
Con entrelazado acceso secuencial a 4 grupos de 4 palabras, cada uno de ellos en paralelo:
8 ciclos
8 ciclos
8 ciclos
8 ciclos
primer grupo
8 ciclos
8 ciclos
8 ciclos
8 ciclos
segundo grupo
Tiempo con entrelazado =
G=
Arquitecturas paralelas, Lección 4 - Organización. Jerarquía de Memoria
20