Principio de localidad
Los programas, durante su ejecución, no acceden con la misma probabilidad a todos sus datos o instrucciones.
Localidad espacial (en el espacio de direcciones):
Cuando un programa accede a una instrucción o a un dato, existe una elevada probabilidad de que instrucciones o datos cercanos sean accedidos pronto.
Localidad temporal:
Cuando un programa accede a una instrucción o un dato, existe una elevada probabilidad de que esa misma instrucción o dato vuelva a ser accedido pronto.
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 unamemoria de baja velocidad, basándose en el principio de cercanía de referencias.
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 coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.
Como puede esperarse 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 por bit.
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.
Los niveles que componen la jerarquía de memoria habitualmente son:
Nivel 0: Registros
Nivel 1: Memoria caché
Nivel 2: Memoria principal
Nivel 3: Memorias flash
Nivel 4: Disco duro (con el mecanismo de memoria virtual)
Nivel 5: Cintas magnéticas Consideradas las más lentas, con mayor capacidad.
Nivel 6: Redes (Actualmente se considera un nivel más de la jerarquía de memorias)
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 coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.
Como puede esperarse 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 por bit.
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.
Los niveles que componen la jerarquía de memoria habitualmente son:
Nivel 0: Registros
Nivel 1: Memoria caché
Nivel 2: Memoria principal
Nivel 3: Memorias flash
Nivel 4: Disco duro (con el mecanismo de memoria virtual)
Nivel 5: Cintas magnéticas Consideradas las más lentas, con mayor capacidad.
Nivel 6: Redes (Actualmente se considera un nivel más de la jerarquía de memorias)
Tiempo de espera
El tiempo que tarda la memoria en proporcionar el dato, es la suma de las tres latencias: ACTIVE, RAS y CAS.
Como se comenta anteriormente, antes de enviar el dato/instrucción a donde deba ir, se deben leer varias celdas de memoria, por lo tanto hay que pasar de una celda a otra, e ir esperando su correspondiente latencia CAS.
Si cada tablero tiene, por ejemplo 64 celdas, y se van a leer 20 posiciones, las latencias totales a esperar son:
1 X ACTIVE (ya que se leen menos de 64 celdas, que son las que tiene el tablero completo)
3 X RAS (ya que cada fila tiene 8 posiciones)
20 X CAS (ya que se van a leer 20 celdas)
La latencia más importante, como queda patente, es la latencia CAS, y cuanto menor sea esta, mejor rendimiento tendrá el ordenador en general.
Tiempo real
Sea una placa base con Front Side Bus o FSB a 200 MHz. El tiempo de cada ciclo de reloj es: F = 1 / T --> 200 * 10^6 = 1 / T --> T = 1 / 200 * 10^6 --> T = 5 * 10^-9 s = 5 NanoSegundos
NOTA: las antiguas memorias RAM que empleaban los Pentium I eran de 70 ns, las EDO que eran las mismas un poco evolucionadas eran de 60 ns, así se puede calcular bastante fácilmente el fsb de aquellos sistemas. Las primeras SDRAM que aparecieron, las PC 100, eran de 10 ns, evidentemente el fsb de aquellos sistemas era de 100 MHz.
En función de la calidad de las memorias, sus latencias serán mejores o peores.
En la imagen se ve que la memoria tarda 12.5 ns en hacer el CAS, si se cogen 3 ciclos (latencia CAS 3) sobran 2.5 ns. 2.5 en 15 es mucho el 16.6%, y más aun teniendo en cuenta que se hacen muchísimos accesos a memoria, por lo tanto, cuanto más tiempo se ahorre mejor.
Al hacer uso de la memoria DDR, se puede emplear tanto el flanco de subida como el de bajada para terminar la latencia, de modo que empleando CAS 2.5 este ejemplo sería óptimo.
Latencia de memorias
Se denominan latencias de una memoria RAM a los diferentes retardos producidos en el acceso a los distintos componentes de esta última. Estos retardos influyen en el tiempo de acceso de la memoria por parte de la CPU, el cual se mide en nanosegundos (10-9 s) .
Resulta de particular interés en el mundo del overclocking el poder ajustar estos valores de manera de obtener el menor tiempo de acceso posible.
Estructura física de la memoria
La memoria está compuesta por un determinado número de celdas, capaces de almacenar un dato o una instrucción y colocadas en forma de tablero de ajedrez. En lugar de tener 64 posibles posiciones donde colocar piezas, tienen n posiciones. No solo existe un "tablero" sino que existen varios, de esta forma la estructura queda en forma de tablero de ajedrez tridimensional.
Accesos a memoria
Cuando se desea acceder a la memoria, es imprescindible indicar el número de tablero, el número de fila dentro del tablero, y el número de columna o celda dentro de esa fila, en ese orden.
El tiempo que tarda la memoria en colocarse en la posición necesaria es relativamente pequeño, sin embargo son tantos los datos e instrucciones que se almacenan en la memoria, que al final el proceso puede llegar a hacerse lento.
Debido al que se van a leer/escribir muchas cosas de/en la memoria, se necesita un sistema que lea muchas celdas al mismo tiempo, sin transportar los datos de dichas celdas y a continuación, transportar todos los datos a la vez (dato o instrucción ya que es lo único que se almacena en la memoria). Este sistema de leer muchas celdas y después transportar es conocido como bus a ráfagas o burst.
Si por cada celda que se leyese, el dato/instrucción se transportara a su destino, la lectura/escritura de memoria sería un proceso demasiado lento.
Tipos de latencias
Existen varios tipos de latencias en las memorias, sin embargo, las más importantes son:
CAS: indica el tiempo que tarda la memoria en colocarse sobre una columna o celda.
RAS: indica el tiempo que tarda la memoria en colocarse sobre una fila.
ACTIVE: indica el tiempo que tarda la memoria en activar un tablero.
PRECHARGE: indica el tiempo que tarda la memoria en desactivar un tablero.
1. Memoria RAM
La memoria de acceso aleatorio (en inglés: random-access memory) se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. 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 a la información de la manera más rápida posible. Durante el encendido del computador, la rutina POST verifica que los módulos de memoria RAM estén conectados de manera correcta. En el caso que no existan o no se detecten los módulos, la mayoría de tarjetas madres emiten una serie de pitidos que indican la ausencia de memoria principal. Terminado ese proceso, la memoria BIOS puede realizar un test básico sobre la memoria RAM indicando fallos mayores en la misma.
2. Memoria ROM
La memoria de solo lectura, conocida también como ROM (acrónimo en inglés de read-only memory), es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite sólo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía.
Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o fácil. Se utiliza principalmente en su sentido más estricto, se refiere sólo a máscara ROM -en inglés, MROM- (el más antiguo tipo de estado sólido ROM), que se fabrica con los datos almacenados de forma permanente y, por lo tanto, su contenido no puede ser modificado de ninguna forma.
3. Memoria PROM
PROM es el acrónimo en inglés de programmable read-only memory, que significa «memoria de solo lectura programable». Es una memoria digitaldonde el valor de cada bit depende del estado de un fusible (o antifusible), que puede ser quemado una sola vez. Por esto la memoria puede ser programada (pueden ser escritos los datos) una sola vez a través de un dispositivo especial, un programador PROM. Estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROM, o cuando los datos deben cambiar en muchos o todos los casos.
Pequeñas PROM han venido utilizándose como generadores de funciones, normalmente en conjunción con un multiplexor. A veces se preferían a las ROM porque son bipolares, habitulamente Schottky, consiguiendo mayores velocidades.
3. Memoria PROM
No hay comentarios:
Publicar un comentario