Subido por Facundo Rodríguez

Memorias: Fundamentos de Computación

Anuncio
Fundamentos de Computación.
Memorias.
Concepto de MEMORIA:
En una computadora, la memoria es un chip (circuito
integrado) o un conjunto de chips (puede ser mas de uno) que
almacenan datos o instrucciones de programas, ya sea de
forma temporal o permanente.
Memorias.
Dimensión de la MEMORIA:
Se denomina capacidad de memoria a la cantidad de
información que se puede almacenar en ella. La capacidad se
puede expresar en bits, bytes o unidades que los agrupen.
Memorias.
ANCHO DE BANDA de la MEMORIA:
El ancho de banda máximo de memoria es la velocidad
máxima a la cual el procesador puede leer o almacenar datos
en una memoria de semiconductor (en GB/s).
Por ejemplo:
Para DDR4 2933:
1466.67 X 2 X 8 (cantidad de bytes de ancho) X 4 (cantidad de
canales) = ancho de banda de 93 866.88 MB/s, o 94 GB/s.
Memorias.
LATENCIA de la MEMORIA:
Se denominan latencias de una memoria RAM a los diferentes
retardos producidos en el acceso a los distintos componentes
de esta. Estos retardos influyen en el tiempo de acceso a la
memoria por parte de la CPU, el cual se mide
en nanosegundos (10-9 s).
Esquema básico de una MEMORIA.
Desde un punto de vista conceptual y con independencia de
la tecnología, consideraremos la celda básica de memoria
como un bloque con tres líneas de entrada (entrada dato,
selección y lectura/escritura) y una de salida (salida dato). La
celda sólo opera (lectura ó escritura) cuando la selección está
activa.
Esquema básico de una MEMORIA.
Esquema básico 2D.
• Las celdas forman una matriz de
2n filas y m columnas, siendo 2n
el número de palabras del chip y
m el número de bits de cada
palabra. Cada fila es seleccionada
por la decodificación de una
configuración diferente de los n
bits de dirección.
• Esta organización tiene el
inconveniente que el selector
(decodificador) de palabras crece
exponencialmente con el tamaño
de la memoria. Igual le ocurre al
número de entradas (fan-in) de
las puertas OR que generan la
salida de datos.
Esquema básico 2D.
Esquema básico 3D.
• En lugar de una única
selección (decodificador) de
2n
salidas
en
esta
organización se utilizan dos
decodificadores de 2n/2
operando en coincidencia.
• Las líneas de dirección se
reparten entre los dos
decodificadores.
• Para una configuración dada
de las líneas de dirección se
selecciona un único bit de la
matriz. Por ello se la
denomina
también
organización por bits.
Esquema básico 3D.
• En esta organización se necesitan varias matrices de celdas básicas,
tantas como bits deba tener la palabra de memoria, actuando sobre
ellas en paralelo los circuitos de decodificación.
Tipos de memorias.
Las memorias se pueden clasificar atendiendo a diferentes criterios.
Método de acceso:
 Acceso aleatorio (RAM): acceso directo y tiempo de acceso constante e
independiente de la posición de memoria.
 Acceso secuencial (SAM): tiempo de acceso dependiente de la posición
de memoria.
 Acceso directo (DAM): acceso directo a un sector con tiempo de acceso
dependiente de la posición, y acceso secuencial dentro del sector.
 Asociativas (CAM): acceso por contenido
Soporte físico:
 Semiconductor.
 Magnéticas.
 Ópticas.
 Magneto-ópticas.
Tipos de memorias.
Las memorias se pueden clasificar atendiendo a diferentes criterios.
Alterabilidad:
 RAM: lectura y escritura.
 ROM (Read 0nly Memory): Son memorias de sólo lectura.
Volatilidad con la fuente de energía:
 Volátiles: necesitan la fuente de energía para mantener la información.
 No volátiles: mantienen la información sin aporte de energía.
Duración de la información:
 Estáticas: el contenido permanece inalterable mientras están polarizadas.
 Dinámicas: el contenido sólo dura un corto período de tiempo, por lo que es
necesario refrescarlo (reescribirlo) periódicamente.
Proceso de lectura:
 Lectura destructiva: necesitan reescritura después de una lectura.
 Lectura no destructiva.
Tipos de memorias.
Las memorias se pueden clasificar atendiendo a diferentes criterios.
Ubicación en el computador:
 Interna (CPU): registros, cache(L1), cache(L2), cache(L3), memoria principal.
 Externa (E/S): discos, cintas, etc.
Parámetros de velocidad:
 Tiempo de acceso.
 Tiempo de ciclo.
 Ancho de banda(frecuencia de acceso).
Unidades de transferencia:
 Palabras.
 Bloques.
Tipos de memorias.
Una PC cuenta con una memoria llamada MEMORIA CENTRAL
(o PRINCIPAL) y unidades de almacenamiento (MEMORIA
MASIVA, SECUNDARIA o AUXILIAR).
• Las Unidades de almacenamiento mantienen los datos en
forma permanente e inalterable.
• La Memoria Principal difiere porque en ésta se mantienen
los datos solo durante el tiempo necesario de uso.
Tipos de memorias.
Memorias volátiles.
• Random Access Memory = Memoria de Acceso Aleatorio.
Se denominan «de acceso aleatorio» porque se puede leer o
escribir en una posición de memoria con un tiempo de espera
igual para cualquier posición, no siendo necesario seguir un
orden para acceder (acceso secuencial) a la información de la
manera más rápida posible.
• SRAM = Memoria RAM estática.
• DRAM = Memoria RAM dinámica.
Memorias volátiles.
DRAM = Memoria RAM dinámica.
• Son mas lentas que las
memorias SRAM.
• El costo por celda de
memoria es mas bajo
comparado con el costo de
una celda SRAM.
• Por la estructura de sus
celdas, necesita refresco de
datos.
• Se pueden alcanzar
grandes escalas de
integración en los chips ->
Capacidades grandes.
DRAM = Memoria RAM dinámica.
• Son mas lentas que las
memorias SRAM.
• El costo por celda de
memoria es mas bajo
comparado con el costo de
una celda SRAM.
• Por la estructura de sus
celdas, necesita refresco de
datos.
• Se pueden alcanzar
grandes escalas de
integración en los chips ->
Capacidades grandes.
DRAM = Memoria RAM dinámica.
Se necesita el refresco de
datos porque las celdas
están compuestas por un
capacitor, que al no ser
perfecto pierde su carga ->
se pierden los datos.
DRAM = Memoria RAM dinámica.
DRAM 1T. Lectura.
DRAM 1T. Escritura.
DRAM 1T. Refresco.
DRAM. Organización.
DRAM = Memoria RAM dinámica.
DRAM = Memoria RAM dinámica.
DRAM = Memoria RAM dinámica.
DRAM = Memoria RAM dinámica.
DRAM = Memoria RAM dinámica.
2 CANALES: 1 CONTROLADOR POR CANAL.
SRAM = Memoria RAM estática.
• Utilizan el principio de
biestabilidad
que
se
consigue con dos puertas
inversoras (NAND ó NOR)
realimentadas.
•Son mas rápidas que las
memorias DRAM.
• El costo por celda de
memoria es mas alto
comparado con el costo de
una celda DRAM.
• Por la estructura de sus
celdas, no necesita refresco
de datos.
Memoria CACHE.
Memoria CACHE.
 La memoria caché es una memoria pequeña y rápida que se
interpone entre la CPU y la memoria principal para que el conjunto
opere a mayor velocidad. Para ello es necesario mantener en la caché
aquellas zonas de la memoria principal con mayor probabilidad de ser
referenciadas. Esto es posible gracias a la propiedad de localidad de
referencia de los programas.
 Cuando se accede por primera vez a un dato, se hace una copia en la
caché; los accesos siguientes se realizan a dicha copia, haciendo que sea
menor el tiempo de acceso medio al dato.
 Cuando el microprocesador necesita leer o escribir en una ubicación
en memoria principal, primero verifica si una copia de los datos está en
la caché; si es así, el microprocesador de inmediato lee o escribe en la
memoria caché, que es mucho más rápido que de la lectura o la
escritura a la memoria principal.
Memoria CACHE. Localidad.
 Los programas manifiestan una propiedad que se explota en el
diseño del sistema de gestión de memoria de los computadores
en general y de la memoria caché en particular, la localidad de
referencias: los programas tienden a reutilizar los datos e
instrucciones que utilizaron recientemente. Una regla empírica
que se suele cumplir en la mayoría de los programas revela que
gastan el 90% de su tiempo de ejecución sobre sólo el 10% de
su código.
 Una consecuencia de la localidad de referencia es que se puede
predecir con razonable precisión las instrucciones y datos que
el programa utilizará en el futuro cercano a partir del
conocimiento de los accesos a memoria realizados en el pasado
reciente. La localidad de referencia se manifiesta en una doble
dimensión: temporal y espacial.
Memoria CACHE. Localidad.
 Localidad temporal: las palabras de memoria accedidas
recientemente tienen una alta probabilidad de volver a ser
accedidas en el futuro cercano. La localidad temporal de los
programas viene motivada principalmente por la existencia de
bucles.
 Localidad espacial: las palabras próximas en el espacio de
memoria a las recientemente referenciadas tienen una alta
probabilidad de ser también referenciadas en el futuro cercano.
Es decir, que las palabras próximas en memoria tienden a ser
referenciadas juntas en el tiempo. La localidad espacial viene
motivada fundamentalmente por la linealidad de los programas
(secuenciamiento lineal de las instrucciones) y el acceso a las
estructuras de datos regulares.
Memoria CACHE. Localidad.
Memoria CACHE. Localidad.
Memoria CACHE. Localidad.
Memoria CACHE. Latencias.
Memoria CACHE. Latencias.
Memoria CACHE.
Memoria CACHE.
Memoria CACHE.
Memoria CACHE. Jerarquía.
Memoria CACHE.
Memoria CACHE.
Mapeo Directo.
El mapeo directo asigna el
bloque X de mem. Principal
al bloque Y de mem. Cache.
Por ejemplo, el bloque 0 de
mem. Ppal. Es asignado al
bloque 0 de mem. Cache,
el bloque 1 de mem. Ppal.
Al bloque 1 de la cache…
El bloque 10 de mem. Ppal.
Al bloque 0 de mem. cache…
De este modo, los bloques 0,
10, 20, 30, etc. de mem.
Ppal, compiten por el bloque
0 de la cache.
Mapeo Directo.
Al Bloque X (mp) MOD N corresponde Bloque Y (mc)
Donde N = Nº de bloques de la cache
Supongamos una cache de 10
bloques:
Boque de MP
Bloque de Cache
BLK 0
BLK 1
BLK 2
…
BLK 9
BLK 10
BLK 11
…
MOD 10
MOD 10
MOD 10
0
1
2
MOD 10
MOD 10
MOD 10
9
0
1
BLK 20
…
MOD 10
0
BKL 30
MOD 10
0
Ineficiencia de cache de mapeo directo.
Imaginemos un
programa que utiliza
repetidamente el block
0, luego el block 10,
luego el block 0, luego
el 10, de memoria
principal…
Mapeo Directo.
Mapeo Asociativo.
Mapeo Asociativo.
Mapeo Asociativo por Conjuntos.
Memoria CACHE. A. Sustitución.
Política de escritura.
Coherencia de
cachés
Operación de
escritura
Fallo de caché
en operación de
escritura
Coherencia de cachés.
Múltiples dispositivos acceden a memoria principal …
Coherencia de cachés.
• Escritura inmediata (write through):
– Todas las operaciones de escritura se hacen tanto en
caché como en Mem. ppal.
+ No hay incoherencias
- Mucho tráfico
• Postescritura (escritura diferida, copy back o write
back):
– Actualizaciones solo en caché, hasta que el bloque deba
ser removido (utiliza un bit ACTUALIZAR).
+ Rápida
+ Poco tráfico
- Incoherencias, a menos que todos los accesos sean a través de la
caché
Coherencia de cachés: implementación.
• Vigilancia del bus (con escritura inmediata):
cada controlador de caché monitoriza el bus
de direcciones para detectar operaciones de
escritura a memoria.
• Transparencia Hardware: por medio de
hardware adicional, para asegurar que todas
las actualizaciones a mem. ppal. se reflejan en
todas las cachés. Si un procesador escribe en
su caché, este cambio se escribe a mem. Ppal.
• Memoria excluida de caché: solo una porción
de la mem. ppal. se comparte entre los
procesadores, y se diseña como NO
transferible a caché.
Fallo de caché en operación de escritura.
Cuando el procesador intenta escribir en una
dirección de memoria que no se encuentra en
ningún bloque de la caché se produce un fallo
de escritura
2 opciones
Ubicar en escritura
(write allocate)
No ubicar en
escritura
(no write allocate)
– Ubicar en escritura (write allocate)
• Antes de realizar la escritura, se carga el bloque
en la cache y luego se actúa como en un acierto
de escritura.
• Similar a un fallo de lectura.
– No ubicar en escritura (no write allocate)
• El bloque se modifica directamente en la memoria
principal (nivel inferior) y no se carga en la cache.
Evaluación del rendimiento: Tiempo de
acceso medio
Evaluación del rendimiento: Costo medio por bit.
Cs = C1S1 + C2S2
S1 + S2
Donde:
Cs = Costo medio por bit de la combinación de dos niveles de
mem. C1 = Costo medio por bit de la mem. Caché M1.
C2 = Costo medio por bit de la mem. Principal M2.
S1 = tamaño de M1 (cache).
S2 = tamaño de M2 (Mppal).
Buscamos que Cs se aproxime a C2, entonces, dado que
C1 >> C2 es necesario que S1 << S2.
REGISTROS de la CPU.
Los registros son unidades de memoria interna del micro de
unos pocos bits (forman parte de micro) que alojan pequeños
datos o instrucciones que están en uso en ese momento por el
micro, o que lo van a estar en el próximo paso o ciclo de reloj.
REGISTROS de la CPU
8086 -> REGISTROS INTERNOS
Memorias no volátiles.
ROM = Read Only Memory.
• Sus
celdas
están
compuestas por diodos.
• Los datos guardados
en ellas no se pierden
cuando la memoria es
apagada.
• Existen varios tipos.
ROM = Read Only Memory.
 Identifica a unidades de memoria en las que, una vez
grabadas, no se pueden volver a modificar el contenido.
 Un caso típico en la PC es el de la BIOS. Si bien la idea
original sigue siendo válida, con el avance de la tecnología se
dispone de variantes, en este caso, memorias ROM que no son
de “solo lectura” sino que permiten modificar los datos.
Memoria VIRTUAL.
El SO utiliza parte del propio disco
duro como memoria virtual. En su
instalación, el SO se reserva para sí
parte del disco duro, para poder
ampliar las necesidades del
sistema y agilizar la resolución de
algunas tareas.
Jerarquía de MEMORIAS.
Jerarquía de MEMORIAS.
Jerarquía de MEMORIAS.
Jerarquía de MEMORIAS.
Jerarquía de MEMORIAS.
Descargar