Memoria - Erika Vilches

Anuncio
Memoria
M. en C. Erika Vilches
Parte 1
Clasificación por sus
Características
•
Memoria interna → Principal (RAM y ROM),
registros, memoria de la unidad de control, cache.
• Memoria externa: Dispositivos periféricos de
almacenamiento (discos, cintas, etc.)
• Capacidad
• Memorias internas → expresada en
términos de bytes o palabras. Longitudes
de palabra comunes: 8, 16 y 32 bits.
• Memorias externas → expresada en
términos de bytes
• Unidad de transferencia → Para memorias
internas, es igual al número de líneas de
entrada/salida de datos del módulo de
memoria.
Conceptos Relacionados
a la Memoria Interna
•
Palabra → Unidad “natural” de organización de
memoria.
•
Unidades direccionables → Puede ser la palabra o a
nivel de bytes. La relación entre la longitud A de una
dirección y el número N de unidades direccionables es
2^A = N.
•
Unidad de transferencia
•
Memoria principal → El número de bits que se leen
o escriben en memoria a la vez.
•
Memoria externa → Los datos que se transfieren en
unidades más grandes llamadas bloques.
Métodos de Acceso
• Secuencial → El acceso debe realizarse con
una secuencia lineal específica. El tiempo
necesario para acceder a un registro dado es
muy variable. Ejemplo: Cintas
• Directo → Los registros o bloques tienen
una dirección única basada en su dirección
física. El acceso es directo a una vecindad
dada. El tiempo de acceso es variable.
Ejemplo: Unidades de disco
• Aleatorio (random) → Cada posición
direccionable de memoria tiene un único
mecanismo de acceso cableado físicamente.
El tiempo para acceder a una posición dada
es constante e independiente de la secuencia
de accesos previos.
Ejemplo: Memoria principal y algunos
sistemas de caché
•
Asociativa → Del tipo de acceso aleatorio que
permite hacer una comparación de posiciones de
bits dentro de una palabra buscando que
coincidan con unos valores dados, y hacer esto
para todas las palabras simultáneamente.
Una palabra se recupera basándose en una
porción de su contenido en lugar de su dirección.
Cada posición tiene su propio mecanismo de
direccionamiento. El tiempo de recuperación de
un dato es constante, independiente de la
posición o de los patrones de acceso anteriores.
Ejemplo: Memorias caché.
Desempeño
•
•
Tiempo de acceso (latencia)
•
Acceso aleatorio: El tiempo que tarda en realizarse
una operación de escritura o de lectura.
•
Para memorias de otro tipo: El tiempo que se
tarda en situar el mecanismo de lectura/escritura
en la posición deseada.
Tiempo de ciclo de memoria → El tiempo de acceso
y algún tiempo más que se requiere antes de que
pueda iniciarse un segundo acceso a memoria.
• Velocidad de transferencia → La velocidad a
la que se pueden transferir datos a, o desde,
una unidad de memoria. Para memorias de
acceso aleatorio coincide con el inverso del
tiempo de ciclo.
Características Físicas
• Volátiles → La información desaparece
cuando se desconecta la alimentación.
• No volátiles → La información, una vez
grabada, permanece sin deteriorarse hasta
que se modifique intencionalmente. No
necesita la fuente de alimentación para
retener la información.
• Las memorias de superficie magnética son
no volátiles.
• Las memorias semiconductoras pueden ser
volátiles o no volátiles.
• Las memorias no borrables no pueden
modificarse, salvo que se destruya la unidad
de almacenamiento → Memorias de solo
lectura (ROM, Read Only Memory). Las
memorias de este tipo son no volátiles.
Organización
• Disposición o estructura física en bits para
formar palabras.
Restricciones de Diseño
• ¿Cuánta capacidad? ¿Qué tan rápida? ¿A qué
precio?
• Tamaño → Si consigues cierta capacidad,
probablemente se desarrollaran aplicaciones
que la utilicen.
• Rapidez → Debe seguir al procesador
(desempeño óptimo).
• Costo → Debe ser razonable con relación a
los otros componentes.
Siempre se cumple:
• A menor tiempo de acceso, mayor el costo
por bit.
• A mayor capacidad, menor el costo por bit.
• A mayor capacidad, mayor tiempo de acceso.
Dilema del diseñador
• El diseñador desearía utilizar tecnologías que
proporcionen gran capacidad, sin embargo...
• Para satisfacer el desempeño requerido, el
diseñador necesita memorias costosas, de
capacidad relativamente baja, y con tiempos
de acceso reducidos.
• La solución a este dilema → Utilizar una
jerarquía de memoria.
• Cuando se desciende en la jerarquía:
a) Disminuye el costo por bit.
b) Aumenta la capacidad.
c) Aumenta el tiempo de acceso.
d) Disminuye la frecuencia de accesos a la
memoria por parte del procesador.
Localidad de las
Referencias
•
A la condición d) se le llama localidad de las
referencias
•
Durante la ejecución de un programa, las referencias
a memoria por parte del procesador, tienden a estar
agrupadas (ciclos iterativos, subrutinas...)
•
Cada vez que se entra en un ciclo o subrutina, hay
repetidas referencias a un conjunto pequeño de
instrucciones (localidad temporal).
•
Las operaciones con tablas o matrices conllevan
accesos a un conjunto de palabras de datos
agrupadas (localidad espacial, direcciones cercanas).
• En periodos de tiempo largos, las
agrupaciones cambian, pero en periodos
cortos el procesador trabaja principalmente
con agrupaciones fijas de referencias a
memoria.
•
Hit → El dato está en algún bloque en el nivel superior
(ejemplo: Bloque X)
Hit Rate: Fracción de los accesos a memoria que son hit
Hit Time: Tiempo para acceder el nivel superior que
consiste en: tiempo de acceso de RAM + Tiempo para
determinar hit/miss
Miss: el dato necesita ser traído de un bloque en el nivel bajo
(Bloque Y)
Miss Rate = 1 - (Hit Rate)
Miss Penalty: Tiempo para reemplazar un bloque en el
nivel superior+ Tiempo para llevar el bloque al procesador
Hit Time << Miss Penalty
•
•
Descargar