Вы находитесь на странице: 1из 9

Que Es "Latency" en la memoria RAM???

Necesito comprar una Memoria Ram pero veo que hay de muchos diferentes precios y lo
unico que varia es la "Latency", No se que significa Alguien me podria explicar?
• hace 5 años
• Reportar abusos

by Agorel
Miembro desde:
10 julio 2006
Total de puntos:
39.061 (Nivel 7)
• Añadir a mis amigos
• Bloquear
Mejor respuesta - elegida por quien preguntó
La latencia no tiene que ver con el bus, (son valores independientes)

Es el retardo en nano-segundos para acceder a una celda de datos

veras internamente los datos en la memoria se organizan por filas , columnas y tableros
(algo asi como un libro de excel)

Por eso el valor se especifica con tres numero distintos

Cuando accedes a un dato tienes una latencia, que es por fila, otra que es por columna, asi
como otra por tablero (es un arreglo tridimensional)

Obviamente entre mas pequeños son estos valores mejor y mas rapida es la memoria

Por ejemplo Corsair fabrica memoria de MUY BAJA latencia en su modelo XMS, son por
supuesto mas caras pero mejores:

Aqui puedes ver distintos Modelos con sus latencias:


http://www.corsairmicro.com/corsair/xms.…

Si quieres saber a ciencia cierta como leer y interpretar estos datos:

"...Bien, ahora que sabemos cómo es la estructura física que tiene la memoria vamos a ver
cómo acceder a los datos o cómo almacenarlos, que es donde entran en juego las latencias.

Cuando queremos acceder a una posición o celda de la memoria, lo que tenemos que hacer
es en primer lugar colocarnos en el tablero adecuado, luego situarnos dentro de ese tablero
en la fila correspondiente y finalmente colocarnos en la columna donde se encuentra
nuestro dato/instrucción. Con esas tres coordenadas tendremos todo lo necesario para
acceder a nuestro dato.

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 almacenamos en la memoria,
que al final el proceso puede llegar a hacerse lento.

Debido a que se van a leer/escribir un montón de datos de la memoria, necesitamos un


sistema que lea muchas celdas de golpe, sin transportar los datos de dichas celdas y a
continuación, transportar todos los datos a la vez. Este sistema de leer muchas celdas y
después transportar es conocido como bus a ráfagas o burst.

Ahora tenemos un sistema de lectura escritura en memoria óptimo, solo faltan las latencias,
ya llegamos...

El orden en el que se lee / escribe la memoria es el siguiente:

Primero se coge un tablero, y dentro de ese tablero se coge una fila, de esa fila se lee la
primera celda ‘1 A’, luego se lee la siguiente celda de esa fila, la ‘1 B’, luego la ‘1 C’, y
finalmente, la ‘1 D’. Luego se pasa a otra fila y se leen sucesivamente las celdas 2 A, 2 B, 2
C y 2 D. Este proceso se repite hasta terminar con todo el tablero, momento en el que
pasaremos al siguiente tablero. El situarnos en una determinada fila cuesta cierto tiempo. El
colocarnos en una determinada columna cuesta también cierto tiempo (Ambos tiempos son
diferentes). Si cada cambio de fila y / o columna tenemos que esperar cierto tiempo,
podemos observar en el ejemplo que por cada lectura de tablero tendremos que esperar el
tiempo de cambio de columna 16 veces, mientras que el de fila lo tendremos que esperar
solo 4 veces. Si en lugar de tener un tablero de 4 X 4 tuviéramos uno de 100 X 100
tendríamos que esperar al tiempo de salto de columna 10000 veces, mientras que al de fila
solamente 100 veces.

Bien, pues... y si ahora os dijéramos que el tiempo que tarda la memoria en colocarse en
una determinada columna se llama Latencia CAS? Efectivamente ese tiempo es el
denominado como CAS, latencia CAS, CAS Latency o CL.

Tal y como os acabamos de demostrar es el tiempo más importante de una memoria en lo


que a latencia se refiere. Una buena latencia hace a una memoria ser muy codiciada.
Además, casi todas las memorias indican el CAS en la pegatina que las identifica o en su
caja.

El significado de las siglas CAS es Column address strobe o column access strobe y
efectivamente, es el tiempo de demora para acceder a una columna o para “apuntar” a una
columna.

Por otro lado el tiempo que tarda en colocarse la memoria en una determinada fila se llama
RAS: Row Address/access strobe. Pero tal y como se demuestra más arriba, este tiempo es
muchísimo menos importante que el CAS.
Estas dos latencias quedan claras y son indiscutibles, además NO se pueden solapar. Ahora
imaginemos que durante la ráfaga tenemos que cambiar de tablero, aquí entran en juego 2
nuevas latencias.
Cuando queremos situarnos en un tablero para poder leer/escribir en él, tenemos que
bloquearlo, para que nadie ni nada más pueda modificar o leer sus datos, por lo tanto habrá
que enviarle una señal, que llamaremos ACTIVE y que es una nueva latencia, ya que
durará un determinado tiempo que evidentemente será mejor cuanto menos dure.

Durante el tiempo que tarda la señal ACTIVE, tendremos que esperar, igual que ocurre con
las otras dos señales CAS y RAS.

Finalmente, cuando tengamos que pasar de un tablero a otro, primero tenemos que
desbloquear el banco activo y activar uno nuevo, para desbloquear tenemos la última de las
latencias, PRECHARGE y también tardará un tiempo.

La señal PRECHARGE tiene una pequeña excepción respecto a las demás. Mientras un
tablero se está desbloqueando, podemos activar otro, o sea que las señales PRECHARGE y
ACTIVE SÍ se pueden solapar, pero SÓLO cuando se trate de dos tableros diferentes.

Resumiendo las cuatro latencias:


• CAS - Tiempo que se tarda en colocarse en una columna, el más importante.
• RAS - Tiempo que se tarda en colocarse en una fila.
• ACTIVE - Tiempo para activar/bloquear un tablero.
• PRECHARGE - Tiempo para desactivar/desbloquear el tablero.

Entonces, cuando queremos leer un dato, tendremos que hacer lo siguiente:


1. Mandar una señal ACTIVE al banco correspondiente para activarlo.
2. Esperar a que termine el tiempo de activación (latencia ACTIVE)
3. Mandar una señal para saber cual es la fila en la que nos queremos situar (latencia RAS)
4. Esperar a que se sitúe la fila
5. Mandar la señal que activará la celda, o columna (latencia CAS)
6. Esperar a que se situe.
7. Leer (esto es instantáneo)
8. Saltar a la siguiente celda (CAS) tantas veces como sean necesarias hasta terminar la
ráfaga
9. Si corresponde, saltar a la siguiente columna
10. Si corresponde saltar al siguiente banco, señal PRECHARGE y señal ACTIVE
solapadas.

Esta es una explicación muy simplificada de cómo se realiza el acceso a memoria. Una vez
comprendido podemos empezar a estudiar lo que realmente nos interesa: Las señales de
sincronización.
Una latencia es... “cierto tiempo”. Tenemos que ***** dicho tiempo, y ver cuántos ciclos
tarda en ejecutarse. Esto depende de cuántos ciclos por segundo se hagan.

Imaginemos que tenemos una frecuencia de bus FSB/HTT de 200 MHz, esto indica que
tenemos 200 millones de ciclos por segundo, por lo tanto un ciclo durará...
F = 1 / T ◊ 200 * 10^6 = 1 / T ◊ T = 1 / 200 * 10^6 ◊ T = 5 * 10^-9 seg

5 ns (nanosegundos), que es 10 elevado a menos 9, ya que los 200 es megaherzio, o 10


elevado a 6

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.

Ahora podemos hacer un nuevo dibujo:

Las modernas memorias RAM, son conocidas como DDR SDRAM, Double Data Rate
Synchronized Random Access Memory (Memoria de acceso aleatoria dinámica
sincronizada con ratio de doble dato). ¿Esto qué es? Pues como la memoria ha
evolucionado bastante más en cuanto a velocidad que los chipsets, tenemos que hacer algo
para conseguir que la memoria aumente su velocidad.

Podríamos ponerle un multiplicador, pero ha sido más fácil y eficiente hacer que se lea o
escriba tanto cuando la señal de sincronización sube como cuando baja. De ahí que se llame
DDR. Por lo tanto, cuando tengamos un FSB/HTT de 133 MHz, la memoria será de 266, y
cuando la FSB sea de 200, la memoria deberá ser DDR 400.

A este modo de lectura/escritura se conoce por funcionamiento por flanco. Antes


trabajábamos con funcionamiento por flanco descendente; la memoria, por flanco a secas,
tanto cuando sube como cuando baja.

Ahora sigamos con las latencias… ¿cuánto tarda una memoria en colocarse en una columna
determinada? Pues depende de la calidad de la memoria que, a su vez, viene marcada por
sus latencias. De este modo, ¿qué latencia CAS, en ciclos podríamos tener en una memoria,
si funciona el bus a 200 MHz, y la latencia CAS tarda 12.5 ns? Veamos un dibujo...

Ahí se ve que la memoria tarda 12.5 ns en hacer el CAS, si ******* 3 ciclos nos llega
(Tendríamos latencia CAS 3) PERO nos sobran 2.5 ns.

2.5 en 15 es mucho, el 16.6%, y más aun teniendo en cuenta que se hacen constantes
accesos a memoria. En este caso, la optimización de la latencia buscando el ahorro de ese
16% redundaría en la mejora de nuestros rendimientos.

Si prestamos atención al anterior gráfico nos daremos cuenta de que la memoria es DDR,
por lo tanto podemos parar tanto en el flanco de bajada como en el de subida. La latencia
puede ser un número entero o un número decimal, siendo siempre el decimal 0.5.
Miremos el siguiente dibujo:

Aquí vemos que podemos parar cuando se llevan exactamente 2.5 ciclos y nos ahorramos
ese 16.6%, con lo que conseguimos muchísimo más rendimiento en los accesos a la
memoria. Tenemos una latencia CAS de 2.5.
Los ordenadores aceptan latencias CAS de 2, 2.5 o 3.

La diferencia de latencia es determinante a la hora de medir el rendimiento del ordenador


ya que cualquier operación que hacemos con él requiere obligatoriamente acceder multitud
de veces a la memoria. Por cada celda del tablero que queramos leer, tenemos que esperar
la latencia CAS, por cada fila completa al RAS, y por cada tablero diferente las ACTIVE y
PRECHARGE (a veces se solapan). Dijimos que se leía por ráfagas, pero en cada ráfaga se
espera ‘x’ veces a CAS, ‘y’ veces RAS, siendo X = Y^2, ACTIVE, PRECHARGE, etc...
Por tanto se han de hacer varias esperas a CAS por cada ráfaga.

Ahora, otra cosa importante; “cuanto más subamos el FSB, más rendimiento tendremos.”
Esto es una verdad a medias. Las latencias son inversamente proporcionales a la velocidad
del bus FSB/HTT, es decir, cuanto mejor FSB tengamos, peor latencia tendremos y
viceversa. Veamos un dibujo:

Mirando el dibujo, vemos que tenemos dos sistemas: uno con un FSB de 100 MHz
(izquierda) y otro, con un FSB de 200 MHz (derecha). Al tener el doble de frecuencia
tenemos que en el mismo tiempo se hacen el doble de ciclos, de ahí que a la derecha
tengamos las “ondas” muchos más comprimidas. En ambos casos tenemos que la misma
memoria tarda un mismo tiempo en hacer el acceso CAS (Este tiempo está marcado con
una línea verde). La escala de tiempo en ambos casos es exactamente la misma, así que la
línea verde será en ambos casos exactamente igual.

Para el sistema de la izquierda, podemos ver que el CAS de la memoria será de casi 2
ciclos. Para redondear evidentemente tenemos que redondear hacia arriba para darle tiempo
a que termine. Sobrará un poco, sin embargo, para el caso de la derecha, el CAS sería de 3.
De este modo podemos ver gráficamente la diferencia de CAS, y cómo al ir subiendo FSB
hay que ir poniendo latencias peores.
Vamos a ver un dibujo para ver lo que se desperdicia en cada caso:

Mirando el dibujo, vemos que en la parte de la izquierda perdemos un poco de tiempo


desde que se termina el CAS hasta que termina su latencia. Lo mismo pasa en el sistema del
dibujo de la derecha, pero en este caso es más tiempo (Recordemos que la escala temporal,
eje de las abscisas, es el mismo en ambos casos, por lo tanto el tiempo es mayor a la
derecha).
En principio se podría pensar que aunque se pierda un poco más en un lado que en el otro,
como el FSB es bastante superior, seguro que es más rápido aun perdiendo un poco de
tiempo en el CAS... Vamos a demostrar matemáticamente como esto no es siempre cierto:

Tengamos un sistema a 166 MHz y otro a 200 MHz, y vamos a usar exactamente la misma
memoria en ambos casos. Calculemos cuánto tarda en ejecutarse un ciclo:

1/166 * 10^6 = 6 * 10^-9 = 6 ns


1/200 * 10^6 = 5 * 10^-9 = 5 ns

Bien, un ciclo en el sistema con bus a 200 MHz tarda 5 nanosegundos en ejecutarse y 6
nanosegundos en el sistema con bus a 166 MHz. Supongamos que la memoria funciona en
ambos sistemas con las siguientes latencias:

Sistema 166 MHz - 2 – 2 – 2 – 5 ◊ CAS, RAS, PRECHARGE y ACTIVE


Sistema 200 MHz - 3 – 2 – 2 – 5 ◊ CAS, RAS, PRECHARGE y ACTIVE

Lo único que cambia es el CAS, de ser 2 pasa a ser 3. Al tener CAS 2 y funcionar a 166 el
bus el tiempo de desperdicio es muy pequeño, y al ser CAS 3 en el sistema con bus a 200 el
tiempo de desperdicio es muy grande. Con CAS 2.5 no le daría tiempo a la memoria.

Los tiempos que se tardarían en cada caso serían los siguientes:

Sistema 166 MHz:


(2 * 6) + (2 * 6) + (2 * 6) + (5 * 6) = 12 + 12 + 12 + 30 = 66 ns
Sistema 200 MHz:
(3 * 5) + (2 * 5) + (2 * 5) + (5 * 5) = 15 + 10 + 10 + 25 = 60 ns

Hasta aquí parece que salen mal las cuentas ya que el sistema con bus a 200 MHz tarda
menos tiempo; 60 ns contra 66 ns. Sin embargo, si suponemos que el tablero de la memoria
es de 100 filas por 100 columnas las cosas cambian.

Recordemos que la latencia CAS se ejecuta tantas veces como columnas tengamos, en este
caso 100 veces por cada vez que se ejecuta la RAS. Por lo tanto, el cálculo justo,
suponiendo que tenemos que leer en una ráfaga justo una fila entera quedaría de la
siguiente manera:

Sistema 166 MHz:


[100 * (2 * 6)] + (2 * 6) + (2 * 6) + (5 * 6) =
(12 * 100) + 12 + 12 + 36 = 1200 ns + 66 ns = 1266 ns

Sistema 200 MHz:


[100 * (3 * 5)] + (2 * 5) + (2 * 5) + (5 * 5) =
(15 * 100) + 10 + 10 + 25 = 1500 ns + 45 ns = 1545 ns

Evidentemente este sería el caso ideal, que justo haya que leer una fila entera y no hubiera
que hacer ni un solo salto de fila (RAS) ni cambios de tablero. Aunque aun así seguiría
siendo mejor el caso del sistema con bus a 166 que del bus a 200.

Con ese cálculo creo que queda completamente clara la importancia de la latencia CAS con
respecto a las demás, y la importancia de las latencias con respecto al bus FSB/HTT.

Ahora podéis haceros todos los cálculos que queráis y ver cuál sería mejor en cada caso, y
si estáis configurando bien vuestras BIOS. Ni qué decir tiene que necesitaréis saber cómo
está compuesta físicamente vuestra memoria, es decir, número de filas, columnas, tableros,
tamaño de las ráfagas, etc, etc, etc...

Debido a que estos datos es complicado conocerlos, lo más fácil es probar, probar y
probar… Como es también imprescindible en el overclocking, habremos de perder tiempo
con nuestro sistema y cuantos más intentos hagamos mejor podremos ajustar nuestro
sistema.

Sentimos mucho no poder dar un dato objetivo, un “truco” para poder optimizar el CAS de
nuestra memoria en un par de minutos, pero eso es algo que no existe. Sin embargo sí que
esperamos haberos permitido entender “más o menos” cómo funciona internamente una
memoria y qué es “eso del CAS” y la importancia de elegir una buena memoria la próxima
vez que compremos un PC.

Si queréis profundizar en el tema un poco más afondo, podéis ***** vuestra memoria,
mirar el número que aparece serigrafíado en cada uno de los chips que tiene y copiarlo en
google. Por ejemplo tenemos por aquí una memoria de 256 MB DDR 266 cuya serigrafía es
“mt46v16m8tg-75z”. Lo copiamos en google y aparece como primera respuesta esta web
de su fabricante Micron: http://www.micron.com/products/dram/ddrs…

Ahí están las características del chip de memoria. Desde esa web puedes descargarte las
hojas de datos de ese chip concreto. Siempre suelen estar en PDF y, como veréis, requieren
ser un pequeño “gurú del hardware” para desenvolverse con ellos…"
Fuente(s):
Puedes ver el articulo completo aqui:

http://www.meristation.com/v3/des_articu…
• hace 5 años
• Reportar abusos
• 3 personas la calificaron como buena
Calificación de la persona que pregunta:

Comentario de la persona que pregunta:


Aunque Es copia, Entendí Muy bien Como es que Funciona la Ram.. Muchas
Gracias por investigar por Mi...
¿No es lo que buscabas? Intenta con Yahoo! Search
Principio del formulario
ans_qp_1 que es late

Buscar en Yahoo! Buscar


Final del formulario

Por el momento, esta pregunta no tiene comentarios.


* Debes entrar en Respuestas para añadir comentarios. Ingresa o Regístrate.
Otras respuestas (3)

• by Mikel Night
Miembro desde:
29 julio 2006
Total de puntos:
887 (Nivel 2)
○ Añadir a mis amigos
○ Bloquear
La latencia es un retraso del bus de datos debido a los componentes propios de cada
memoria. A menor latencia la velocidad se acerca a la media de la especificada en la
memoria, es decir, la memoria DDR 266 tiene una velocidad de 133 MHZ, tendra
una velocidad media de 68 y efectiva de 51 MHZ. Por lo que es muy importante que
la latencia sea reducida al minimo.
○ hace 5 años
○ Reportar abusos
○ 2 personas la calificaron como buena

• by C++ Censurado
Miembro desde:
07 septiembre 2006
Total de puntos:
12.033 (Nivel 6)
○ Añadir a mis amigos
○ Bloquear
Latencia
Es el retraso en la respuesta, como un delay
○ hace 5 años
○ Reportar abusos

• by Otacon
Miembro desde:
25 septiembre 2006
Total de puntos:
2.996 (Nivel 4)
○ Añadir a mis amigos
○ Bloquear
El retraso...
○ hace 5 años
○ Reportar abusos

Вам также может понравиться