Memoria caché

Anuncio
Índice
Índice ............................................................................................................................... 1
Jerarquía de memorias .................................................................................................. 2
Principio de localidad ............................................................................................... 4
Localidad Temporal .............................................................................................. 4
Localidad Espacial ................................................................................................. 4
Localidad de Referencia........................................................................................ 4
Registros ...................................................................................................................... 4
Memoria caché ........................................................................................................... 5
Objetivos memoria Cache:.................................................................................... 6
Operación de caché:............................................................................................... 7
Desempeño de una memoria caché .................................................................... 7
Desempeño de una memoria caché .................................................................... 7
Memoria principal ..................................................................................................... 7
1. Read Only Memory (ROM) .......................................................................... 7
2. Random Access Memory (RAM)................................................................. 8
Disco Duro .................................................................................................................. 9
Características de un disco duro ......................................................................... 9
Menoría virtual ........................................................................................................ 10
Conclusión ................................................................................................................ 12
Bibliografía................................................................................................................ 13
1
Jerarquía de memorias
Registros
Memoria Caché
Memoria Principal
Discos
Se conoce como jerarquía de memoria a la organización piramidal de la
memoria en niveles, que tienen los ordenadores. Su objetivo es conseguir el
rendimiento de una memoria de gran velocidad al coste de una memoria de
baja velocidad, basándose en el principio de cercanía de referencias.
2
Los puntos básicos relacionados con la memoria pueden resumirse en:



Cantidad
Velocidad
Coste
La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más
podrá utilizarse. La velocidad óptima para la memoria es la velocidad a la que
el procesador puede trabajar, de modo que no haya tiempos de espera entre
cálculo y cálculo, utilizados para traer operandos o guardar resultados. En
suma, el costo de la memoria no debe ser excesivo, para que sea factible
construir un equipo accesible.
Como puede esperase los tres factores compiten entre sí, por lo que hay que
encontrar un equilibrio. Las siguientes afirmaciones son válidas:



A menor tiempo de acceso mayor coste
A mayor capacidad menor coste
A mayor capacidad menor velocidad.
Se busca entonces contar con capacidad suficiente de memoria, con una
velocidad que sirva para satisfacer la demanda de rendimiento y con un coste
que no sea excesivo. Gracias a un principio llamado cercanía de referencias, es
factible utilizar una mezcla de los distintos tipos y lograr un rendimiento
cercano al de la memoria más rápida.
3
Los niveles que componen la jerarquía de memoria habitualmente son:




Nivel 0: Registros
Nivel 1: Memoria caché
Nivel 2: Memoria principal
Nivel 3: Disco duro (con el mecanismo de memoria virtual)
Principio de localidad
Por qué funciona un sistema jerárquico?
● Localidad de referencia
– Localidad Temporal
● Se hace referencia a la misma dirección de memoria
repetidamente durante un cierto tiempo
– Localidad Espacial
● Durante ese mismo tiempo se hace referencia a direcciones
vecinas.
● Observaciones empíricas
– Significativo!
– Aún un espacio pequeño de almacenamiento local (8KB) con frecuencia
satisface >90% de las referencias a un conjunto de datos o de
instrucciones que ocupe varios MB
Localidad Temporal (localidad en el tiempo): si se hace referencia a un objeto
(instrucción o dato), existirá la tendencia de que sea referido nuevamente en un
próximo momento.
Localidad Espacial (localidad en el espacio): Si un objeto es referido, habrá la
tendencia de que los objetos cercanos a él también sean referidos en un próximo
momento.
Localidad de Referencia: Durante el curso de ejecución de un programa, las
referencias a memoria tienden a agruparse. Ejemplo. Lazos (loops)
Registros
- Registros de procesador: Estos registros interaccionan continuamente con la
CPU (porque forman parte de ella). Los registros tienen un tiempo de acceso
muy pequeño y una capacidad mínima, normalmente igual a la palabra del
procesador (1 a 8 bytes).
- Registros intermedios: Constituyen un paso intermedio entre el procesador y
la memoria, tienen un tiempo de acceso muy breve y muy poca capacidad.
4
Memoria caché
Son memorias de pequeña capacidad. Normalmente una pequeña fracción de la
memoria principal. Y pequeño tiempo de acceso. Este nivel de memoria se
coloca entre la CPU y la memoria central. Hace algunos años este nivel era
exclusivo de los ordenadores grandes pero actualmente todos los ordenadores
lo incorporan. Dentro de la memoria caché puede haber, a su vez, dos niveles
denominados caché on chip, memoria caché dentro del circuito integrado, y
caché on board, memoria caché en la placa de circuito impreso pero fuera del
circuito integrado, evidentemente, por razones físicas, la primera es mucho más
rápida que la segunda. Existe también una técnica, denominada Arquitectura
Harvard, en cierto modo contrapuesta a la idea de Von Newmann, que utiliza
memorias caché separadas para código y datos.
Memoria caché es un banco de memoria especial, a diferencia de la caché de
disco, que es una parte de la memoria RAM del ordenador.
Es una memoria muy rápida, de tipo RAM estática (SRAM), cuyos chips tienen
un tiempo de acceso entre cinco y seis veces menor que la RAM dinámica
(DRAM), que se utiliza habitualmente como memoria principal. Su precio es
mucho mayor que el de la RAM.
Existen dos niveles de memoria caché: la L1 o interna, un banco de memoria
que está dentro del chip de la CPU, y la L2 o externa, que puede estar dentro de
ese chip o en un chip aparte. La L2 alimenta a la L1 y puede acelerar la
ejecución de determinadas aplicaciones, pero no de otras, ya que depende de su
diseño.
5

Capacidad de 8KB a 2MB, tiempos de acceso de 2 a 20 nanosegundos y
tipo de acceso palabra.
Objetivos memoria Cache:
Lograr que la velocidad del sistema de memoria sea lo más rápida
posible, consiguiendo al mismo tiempo una gran capacidad al precio de
las memorias menos costosas.
Mantener el tiempo de acceso promedio a la memoria pequeño.
Reducir el ancho de banda entre memoria principal y procesador.
6
Operación de caché:
La dirección generada por el procesador es comparada por los datos que están
almacenadas en la caché, si el dato esta presente, el procesador lo lee desde la
caché, si el dato no esta presente, se trasfiere de la memoria principal a la caché.
Desempeño de una memoria caché
Desempeño de una memoria caché
La caché reduce la latencia promedio de la memoria
– Si el valor requerido está en la caché se le llama “acierto”
– El valor requerido y no encontrado se carga después de una “falla”
– La jerarquía de memoria está diseñada para minimizar la latencia
promedio
Memoria principal
La memoria principal son circuitos integrados capaces de almacenar
información digital, a los que tiene acceso el microprocesador del equipo de
computación. Poseen una menor capacidad de almacenamiento que la memoria
secundaria, pero una velocidad millones de veces superior. En las
computadoras son utilizados dos tipos de estos dispositivos:
1. Read Only Memory (ROM), memoria de solo lectura, almacena códigos
de programa grabados en fábrica, a veces protegidos por derechos de
autor. El CI donde se almacena el BIOS de la computadora, es una
memoria ROM.
7
a) ROM programadas por máscara, cuya información se graba en fábrica
y no se puede modificar.
b) PROM, o ROM programable una sola vez.
c) EPROM (erasable PROM) o RPROM (reprogramable ROM), cuyo
contenido puede borrarse mediante rayos ultravioletas para regrabarlas.
d) EAROM (electrically alterable ROM) o EEROM (electrically erasable
ROM), que son memorias que está en la frontera entre las RAM y las
ROM ya que su contenido puede regrabarse por medios eléctricos, estas
se diferencian de las RAM en que no son volátiles. En ocasiones a este
tipo de memorias también se las denomina NYRAM (no volátil RAM).
e) Memoria FLASH, denominada así por la velocidad con la que puede
reprogramarse, utilizan tecnología de borrado eléctrico al igual que las
EEPROM. Las memorias flash pueden borrar-e enteras en unos cuantos
segundos, mucho más rápido que las EPROM.
2. Random Access Memory (RAM), memoria de acceso aleatorio,
almacena datos que pueden ser escritos y borrados atendiendo a los
procesos de computación. "Aleatorio" indica que sus localidades pueden
ser accedidas directamente, dando rapidez a los procesos; a diferencia de
las memorias secuenciales, en las que para llegar a una posición hay que
pasar antes por las posiciones previas.
El microprocesador direcciona las posiciones de la RAM para poder acceder a
los datos almacenados en ellas y para colocar los resultados de las operaciones.
El bloque RAM, los de ROM y los discos de almacenamiento masivo de datos
conforman el subsistema de memoria de una CPU.
- Extensiones de memoria central: Son memorias de la misma naturaleza que la
memoria central que amplían su capacidad de forma modular. El tiempo de
similar, a lo sumo un poco mayor, al de la memoria central y su capacidad
puede ser algunas veces mayor.
- Memorias de masas o auxiliares: Son memorias que residen en dispositivos
externos al ordenador, en ellas se archivan programas y datos para su uso
posterior. También se usan estas memorias para apoyo de la memoria central en
caso de que ésta sea insuficiente (memoria virtual). Estas memorias suelen tener
gran capacidad pero pueden llegar a tener un tiempo de acceso muy lento.
Dentro de ellas también se pueden establecer varios niveles de jerarquía.
8
Disco Duro
 Es una unidad fija de almacenamiento magnético de la información.
 Es un disco metálico (normalmente de aluminio) recubierto con una capa
de material magnetizable por sus dos caras (usualmente níquel u oxido
de hierro).
 Pueden existir varios discos ensamblados de forma concéntrica.
 Cada disco está dividido de forma lógica en pistas, sectores y clusters.
Pistas: Son círculos concéntricos, en los cuales se divide a nivel lógico un disco.
Cilindros: Formados por el número total de pistas que ocupan la misma región
en todos los platos.
Sectores: Constituye las unidades mínimas de información a nivel de las cuales
se realiza la lectura o escritura en un disco duro (256, 512 ó 1024 bytes).
Cluster: Agrupación de varios sectores para formar una unidad de asignación.
Características de un disco duro
Las características que se deben tener en cuenta en un disco duro son:

Tiempo medio de acceso: Tiempo medio que tarda en situarse la aguja
en el cilindro deseado; es la suma de la Latencia y el Tiempo medio de
Búsqueda.

Tiempo medio de Búsqueda (seek): Es la mitad del tiempo que tarda la
aguja en ir de la periferia al centro del disco.

Latencia: Tiempo que tarda el disco en girar media vuelta, que equivale
al promedio del tiempo de acceso (tiempo medio de acceso). Una vez que
la aguja del disco duro se sitúa en el cilindro el disco debe girar hasta que
el dato se sitúe bajo la cabeza; el tiempo en que esto ocurre es, en
promedio, el tiempo que tarda el disco en dar medio giro; por este
motivo la latencia es diferente a la velocidad de giro, pero es
aproximadamente proporcional a ésta.

Tiempo de acceso máximo: Tiempo máximo que tarda la aguja en
situarse en el cilindro deseado. Es el doble del Tiempo medio de acceso.
9

Tiempo pista a pista: Tiempo de saltar de la pista actual a la adyacente.

Tasa de transferencia: Velocidad a la que puede transferir la información
al ordenador. Puede ser velocidad sostenida o de pico.

Caché de pista: Es una memoria de estado sólido, tipo RAM, dentro del
disco duro de estado sólido. Los discos duros de estado sólido utilizan
cierto tipo de memorias construidas con semiconductores para
almacenar la información. El uso de esta clase de discos generalmente se
limita a las supercomputadoras, por su elevado precio.

Interfaz: Medio de comunicación entre el disco duro y el ordenador.
Puede ser IDE/ATA, SCSI, SATA, USB o Firewire.

Velocidad de rotación: Número de revoluciones por minuto del/de los
plato/s. Ejemplo: 7200rpm.
Menoría virtual
Como la memoria virtual se mapea a la memoria física.
La Memoria virtual es un concepto que permite al software usar más memoria
principal que la que realmente posee el computador. La mayoría de los
computadores tienen cuatro tipos de memoria: registros en la CPU, la memoria
cache (tanto dentro como fuera del CPU), la memoria física (generalmente en
10
forma de RAM, donde la CPU puede escribir y leer directa y razonablemente
rápido) y el disco duro que es mucho más lento, pero también más grande y
barato.
Muchas aplicaciones requieren el acceso a más información (código y datos)
que la que puede ser mantenida en memoria física. Esto es especialmente cierto
cuando el sistema operativo permite múltiples procesos y aplicaciones
corriendo simultáneamente. Una solución al problema de necesitar mayor
cantidad de memoria de la que se posee, consiste en que las aplicaciones
mantengan parte de su información en disco, moviéndola a la memoria
principal cuando sea necesario. Hay varias formas de hacer esto. Una opción es
que la aplicación misma sea responsable de decidir qué información será
guardada en cada sitio (segmentación), y de traerla y llevarla. La desventaja de
esto, además de la dificultad en el diseño e implementación de cada programa,
es que es muy probable que los intereses sobre la memoria de dos o varios
programas generen conflictos entre sí: cada programador podría realizar su
diseño tomando en cuenta que es el único programa corriendo en el sistema. La
alternativa es usar memoria virtual, donde la combinación entre hardware
especial y el sistema operativo hace uso de la memoria principal y la secundaria
para hacer parecer que la computadora tiene mucha más memoria principal
(RAM) que la que realmente posee. Este método es invisible a los procesos. La
cantidad de memoria máxima que se puede hacer ver que existe tiene que ver
con las características del procesador. Por ejemplo, en un sistema de 32 bits, el
máximo es 232, lo que da aproximadamente 4000 Megabytes (4 Gigabytes). Todo
esto hace el trabajo del programador de aplicaciones mucho más fácil, al poder
ignorar completamente la necesidad de mover datos entre los distintos espacios
de memoria.
Aunque la memoria virtual podría ser implementada por software del sistema
operativo, en la práctica casi universalmente se usa una combinación de
hardware y software, dado el esfuerzo extra que implicaría ello para el
procesador.
11
Conclusión
La jerarquía de memoria trata de obtener mejores resultado de manera que los
procesos sean más rápidos aumentando el rendimiento de memoria del sistema,
esto quiere decir que el usuario tenga menor tiempo de espera al ejecutar varios
procesos, se intenta que este rendimiento sea lo mas parecido posible al del
nivel más rápido. Como el nivel más rápido de todo el sistema después del
procesador es la memoria caché, el diseño de las otras partes del sistema de
memoria, tales como la memoria principal y la virtual, debe realizarse de tal
forma que aumente el rendimiento de la misma, para ello se buscan
organizaciones de las distintas partes de la jerarquía que permitan reducir la
penalización y el tiempo de acierto de la caché esto se debe Gracias a un
principio llamado cercanía de referencias, es factible utilizar una mezcla de los
distintos tipos de referencias y lograr un rendimiento cercano al de la memoria
más rápida.
12
Bibliografía
 http://es.wikipedia.org/wiki/Jerarqu%C3%ADa_de_memoria
 http://www.mailxmail.com/curso/informatica/arquitecturaordenadores/c
apitulo5.htm
 http://www.dirinfo.unsl.edu.ar/~arquill/material/octava%20_teor%EDa.p
df
 http://bioinfo.uib.es/~joemiro/teach/infAl/ciclo4/guardia.PDF
 http://iteso.mx/~miguelbaz/cursos/arqcomp200508/presentaciones/memorganization.pdf
13
Documentos relacionados
Descargar