Tema 4: Introducción a la Jerarquía de Memoria Programa

Anuncio
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
Tema 4:
Introducción a la Jerarquía de Memoria
A RQUITECTURA
E I NGENIERÍA DE COMPUTADORES
Curso 2011/12
Óscar David Robles Sánchez
Luis Rincón Córcoles
Luis Rincón Córcoles
David Miraut Andrés
1
Programa
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
•
•
•
•
•
Introducción.
Concepto de localidad.
Algunos tipos de memorias.
Algunos tipos de memorias.
Jerarquía: niveles.
Terminología básica.
Terminología básica.
Bibliografía
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores. Reverté, 2000.
DORMIDO S CANTO M A MIRA J DELGADO A E Estructura y DORMIDO, S. CANTO M.A., MIRA J., DELGADO A.E.
Estructura y
Tecnología de Computadores. 2ª edición. Sanz y Torres, 2000.
J.L. HENNESSY, D.A. PATTERSON. Computer Architecture. Morgan ,
Kauffman, 2007.
 J. ORTEGA, M. ANGUITA, A. PRIETO. Arquitectura de Computadores. Thomson‐Paraninfo, 2005.
 P. DE MIGUEL. Fundamentos de los Computadores. 7ª edición. P
Paraninfo, 1999.
i f 1999
 W. STALLINGS. Organización y Arquitectura de Computadores. 5ª edición, Prentice Hall, 2000.
Introducción
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Memoria principal.‐
Memoria principal Unidad funcional del computador en la que se almacenan las p
q
instrucciones y datos que componen el programa que se encuentra en ejecución.
 En el computador existen otros tipos de memoria (de más rápida a más lenta):
 Registros.
 Memoria caché.
 Memoria secundaria.
Introducción
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Ejemplo de la biblioteca:
 Coger libros de las estanterías.
 Utilizar los libros ya seleccionados que se tienen en la mesa.
 En un computador:
 Un programa no accede a todo su código o datos con igual probabilidad
igual probabilidad.
 Resultaría imposible hacer rápidos la mayoría de los y
g
accesos a memoria y tener grandes memorias en las máquinas
Programa
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
•
•
•
•
•
Introducción.
Concepto de localidad.
Algunos tipos de memorias.
Algunos tipos de memorias.
Jerarquía: niveles.
Terminología básica.
Terminología básica.
Concepto de localidad
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 La forma de trabajar del estudiante y del computador se explican mediante la localidad.
t d
li
di t l l lid d
 Localidad temporal. Si se accede a un dato, seguramente se volverá a acceder próximamente
seguramente se volverá a acceder próximamente.
 Localidad espacial. Si se accede a un dato, seguramente se accederán a otros cercanos a él
seguramente se accederán a otros cercanos a él.
 La localidad en los programas surge de su estructura: secuencialidad bucles
estructura: secuencialidad, bucles.
Programa
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
•
•
•
•
•
Introducción.
Concepto de localidad.
Algunos tipos de memorias.
Algunos tipos de memorias.
Jerarquía: niveles.
Terminología básica.
Terminología básica.
Algunos tipos de memorias
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 La memoria de los primeros computadores estaba formada por tarjetas
perforadas.
•Para leerlas se emitía una luz,, y si había agujero,
g j , esa luz era detectada p
por
un sensor.
 Relés magnéticos: actúan como interruptores.
 Válvulas electrónicas de vacío: actúan como los relés.
 Líneas de retardo: formadas por tubos rellenos de mercurio, a través del
cual se almacena la información como un tren de pulsos ultrasónicos.
 Núcleos de ferrita: consisten en un anillo de
ferrita atravesado por varios hilos por los que
transcurre la corriente eléctrica, utilizada para
magnetizar el anillo según dos valores
distintos.
Algunos tipos de memorias
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Las dos principales tecnologías basadas en semiconductores:
 DRAM. Memoria dinámica de acceso aleatorio.
 SRAM. Memoria estática de acceso aleatorio.
 DRAM es más barata por bit; SRAM es más rápida.
 Actualmente también se utilizan soportes magnéticos A
l
bié
ili
éi
(discos, cintas,…).
Tecnología
Tiempo de acceso
$ por GB (2004)
SRAM
0,5-5 ns
$4.000-$10.000
DRAM
50-70 ns
$100-$200
Disco magnético
é
5,000,000-20,000,000 ns
$
$0.50-$2
$
Algunos tipos de memorias
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
Di [1]
Din[1]
Write enable
Di [0]
Din[0]
D D
C latch Q
Enable
D D
C latch Q
Enable
D D
C latch Q
Enable
D D
C latch Q
Enable
D D
C latch Q
Enable
D D
C latch Q
Enable
D D
C latch Q
Enable
D D
C latch Q
Enable
0
2-to-4
decoder
SRAM 4×2
1
Address
2
3
Dout[1]
Algunos tipos de memorias
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
DRAM
Dout[0]
Programa
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
•
•
•
•
•
Introducción.
Concepto de localidad.
Algunos tipos de memorias.
Algunos tipos de memorias.
Jerarquía: niveles.
Terminología básica.
Terminología básica.
Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Sistema de memoria organizado en niveles con Sistema de memoria organizado en niveles con
diferente velocidad y capacidad.
 Se aprovecha el principio de localidad.
Se aprovecha el principio de localidad.
 Un nivel cercano al procesador es un subconjunto q
j
de cualquier nivel más bajo.
 Cuanto más cercano más rápido pero de menor p
capacidad.
Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Pueden existir múltiples niveles: los datos sólo se transfieren entre dos adyacentes.
Speed
CPU
Size
Cost ($/bit)
Fastest
Memory
Smallest
Highest
Biggest
Lowest
Memory
Slowest
Memory
Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
CPU
Level 1
Levels in the
memory hierarchy
Level 2
Level n
Size of the memory at each level
Increasing distance
from the CPU in
access time
Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Unidad mínima de información: bloque.
 Si los datos pedidos por el procesador aparecen en un nivel superior: acierto (hit).
 Si los datos no se encuentran en el nivel superior: fallo (miss).
i f ll ( i )
Processor
Data are transferred
Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Tasa de aciertos (hit rate).‐ % de accesos a memoria encontrados en el nivel superior
encontrados en el nivel superior.
 Tasa de fallos (miss rate).‐ % de accesos a memoria en que los datos NO están en el nivel superior.
en que los datos NO están en el nivel superior.
 Permiten medir el rendimiento de una jerarquía de memorias.
 Falta evaluar el velocidad de los accesos con y
aciertos y con fallos.
Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Tiempo de acierto.‐ Tiempo necesario para acceder al nivel superior de la jerarquía
al nivel superior de la jerarquía.
 Incluye el tiempo para determinar si el acceso es acierto o fallo.
 Penalización por fallo.‐ Tiempo necesario para reemplazar el bloque del nivel superior por el correspondiente del inferior, más tiempo para suministrar este bloque al procesador.
 SIEMPRE T. acierto < T. fallo. Jerarquía: niveles
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Los conceptos usados para construir sistemas de memoria afectan a:
 Gestión de la memoria y la E/S por el S. O.
 Cómo generan código los compiladores.
 Cómo usan la máquina las aplicaciones.
 Los programas acceden mucho a memoria: elemento clave para determinar el rendimiento.
 Se han desarrollado mecanismos muy sofisticados para mejorar su rendimiento.
d
Programa
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
•
•
•
•
•
Introducción.
Concepto de localidad.
Algunos tipos de memorias.
Algunos tipos de memorias.
Jerarquía: niveles.
Terminología básica.
Terminología básica.
Terminología básica
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Celda de memoria: unidad mínima de almacenamiento, que contiene un bit.
 Palabra de memoria: agrupación de celdas de memoria que constituye la unidad natural de
organización de la misma.
misma
•A cada palabra de memoria se le asocia una dirección física única que la identifica.
•El tamaño de la palabra de memoria suele ser múltiplo de un octeto (byte, 8 bits).
 Unidad direccionable: número de celdas a las cuales le corresponde una dirección física
única.
•A veces la unidad direccionable es la palabra.
•Otras veces la unidad direccionable es el octeto (byte).
 Unidad de transferencia: número de bits o palabras que se leen o escriben en una operación
de lectura o escritura.
•A veces la unidad de transferencia es la palabra.
Otras veces la unidad de transferencia es un bloque (varias palabras consecutivas).
consecutivas)
•Otras
 Densidad de memoria: datos almacenados por unidad de área o volumen.
22
Terminología básica: prestaciones de la memoria
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Capacidad de memoria: número de bits o palabras que puede almacenar.
 Coste por bit: dinero que cuesta la memoria dividido por su capacidad.
 Tiempo de acceso: tiempo que se tarda en acceder a un dato.
•Tiempo de acceso del ciclo de lectura: tiempo que se tarda en leer un dato.
•Tiempo de acceso del ciclo de escritura: tiempo que se tarda en escribir un dato.
•En muchas memorias de semiconductores ambos tiempos coinciden.
 Tiempo de ciclo: tiempo mínimo que debe transcurrir entre dos accesos consecutivos a
memoria.
 Velocidad de transferencia o ancho de banda (bandwith): número de datos transmitidos por
unidad de tiempo.
 Latencia: tiempo transcurrido entre el comienzo de un acceso a memoria y el comienzo de la
transferencia de la información.
23
Terminología básica: modo de acceso
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Memoria de acceso aleatorio (random access memory): memoria con tiempo de acceso
constante e independiente de la dirección física de la posición accedida.
•Todos los ciclos duran lo mismo.
•También se las llama memorias de acceso inmediato (immediate access memory).
•Error: llamar RAM a las memorias de semiconductores que permiten lectura y escritura.
 Memoria de acceso secuencial (sequential access memory): memoria con tiempo de acceso
dependiente
p
de la p
posición física en q
que se encuentran los datos buscados.
•Para acceder a una información es preciso recorrer toda la que hay grabada delante.
•También se le llama memoria de acceso serie (serial access memory).
 Memoria de acceso directo (direct access memory): la información está almacenada por
zonas, y para acceder a un dato hay que acceder a una zona determinada, y dentro de ella
buscar el dato secuencialmente.
 Memoria de acceso asociativo: es un tipo especial de memoria de lectura / escritura que
permite buscar la información por una porción de su contenido.
•Se accede a la información por su contenido, no por su dirección.
24
Terminología básica: persistencia de los datos
ARQUITECTURA E I NGENIERÍA DE COMPUTADORES
 Memoria volátil: su contenido se borra cuando cesa la alimentación de energía.
 Memoria no volátil: su contenido se mantiene aun cuando cese la alimentación.
 Memoria de sólo lectura (read‐only memory): en operaciones normales su contenido sólo se
puede leer, pero no escribir.
•Memorias
Memorias programables de sólo lectura: su contenido puede modificarse en un modo de
operación especial.
 Memoria estática: cuando se escribe un dato, dicho dato permanece inalterado hasta que
escribimos un nuevo dato sobre él, o, en el caso de las memorias volátiles, hasta que cesa la
alimentación de energía.
 Memoria dinámica: es una memoria necesariamente volátil en la que la información
almacenada se borra a lo largo del tiempo,
tiempo a no ser que su contenido se restaure mediante una
operación denominada “refresco”.
25
Descargar