Академический Документы
Профессиональный Документы
Культура Документы
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)
veras internamente los datos en la memoria se organizan por filas , columnas y tableros
(algo asi como un libro de excel)
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:
"...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.
Ahora tenemos un sistema de lectura escritura en memoria óptimo, solo faltan las latencias,
ya llegamos...
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.
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.
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
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.
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.
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.
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:
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:
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:
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.
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:
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:
• 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