|
Article on other languages:
|
En redes informáticas de datos se denomina latencia a la suma de retardos temporales dentro de una red. Un retardo es producido por la demora en la propagación y transmisión de paquetes dentro de la red. Otros factores que influyen en la latencia de una red son:
Hay latencia en tecnologías de uso musical, como los transformadores de mp3 a vinilos análogos, siempre el traspaso de información de un mecanismo a otro va a sufrir de este retardo, que normalmente está estimado en milisegundos (1/1,000 s) en algunos casos pequeño, en otro más notorio. La latencia en el sentido del audio digital esta directamente relacionada con la tarjeta de audio, esto se debe a que dicha tarjeta no es compatible con ASIO (Audio Stream Input Output). Un punto muy importante es que siempre va a haber cierta latencia, aun cuando se hable de latencia cero, la cuestión es que esta es imperceptible (3 ms aprox.) En general se refiere al tiempo que dura en llegar una acción desde su punto de inicio hasta su "punto de fuga", es decir cuando la acción se consuma. Hoy en día, sistemas como el Serato scratch ha disminuido casi al mínimo el problema de latencia, dando resultados satisfactorios al momento de mezclar mp3 o scratching como dj.
Latencia de memoriasSe 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 interes 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 memoriaLa 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 memoriaCuando 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 almacenamos 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 de golpe, 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 latenciasExisten varios tipos de latencias en las memorias, sin embargo, las más importantes son:
Lectura o escritura en memoriaEl proceso a seguir cuando se desea leer o escribir en la memoria será el siguiente:
Tiempo de esperaEl 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:
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 realSea una placa base con 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. 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. Latencias vs FSB (caso práctico)La diferencia de latencia es algo que se muy apreciable (en especial la latencia CAS) a la hora de medir el rendimiento del ordenador, ya que cuando se accede a memoria tanto para leer como para escribir se tiene que esperar por ella. Por cada celda del tablero que se lea, hay que esperar la latencia CAS, por cada fila completa al RAS, y por cada tablero diferente las ACTIVE y PRECHARGE (a veces se solapan). Se lee/escribe 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 otra parte cuanto más alto sea el FSB, más rendimiento se obtiene. Aunque es una verdad a medias. Las latencias son inversamente proporcionales a la velocidad del bus FSB/HTT, es decir, cuanto mayor FSB maneje el sistema, peor latencia manejará y viceversa. Para el sistema de la izquierda, se puede ver que el CAS de la memoria es de casi 2 ciclos, para redondear, hay 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. 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 en un lado que en el otro, seguro que es más rápido aun perdiendo un poco de tiempo en el CAS... A continuación se demuestra que esto no es cierto en todos los casos: Un sistema a 133 MHz y otro a 200 MHz, y empleando la misma, exactamente la misma memoria en ambos casos. El tiempo que tarda en ejecutarse un ciclo:
Un ciclo en el sistema con bus a 200 MHz tarda 6 nanosegundos en ejecutarse y 7.5 nanosegundos en el sistema con bus a 133 MHz. Suponiendo que la memoria funciona en ambos sistemas con las siguientes latencias:
Los tiempos que se tardaría en cada caso serían los siguientes:
(2 * 7.5) + (2 * 7.5) + (2 * 7.5) + (5 * 7.5) = 15 + 15 + 15 + 37.5 = 82.5 ns
(3 * 6) + (2 * 6) + (2 * 6) + (5 * 6) = 18 + 12 + 12 + 30 = 72 ns Hasta aquí parecería que salen mal las cuentas ya que el sistema con bus a 200 MHz tarda menos tiempo, 72 ns frente a 82.5 ns Sin embargo, suponiendo 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 haya, en este caso, 100 veces por cada vez que se ejecuta cambio de fila (RAS), por lo tanto, el cálculo justo, suponiendo que hay que leer en una ráfaga justo una fila entera quedaría de la siguiente manera:
[100 * (2 * 7.5)] + (2 * 7.5) + (2 * 7.5) + (5 * 7.5) = (15 * 100) + 15 + 15 + 37.5 = 1500 ns + 67.5 ns = 1567.5 ns
[100 * (3 * 6)] + (2 * 6) + (2 * 6) + (5 * 6) = (18 * 100) + 12 + 12 + 30 = 1800 ns + 54 ns = 1854 ns Este sería un caso extremo, 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í podría seguir siendo óptimo el caso del sistema con bus a 133. Con ese cálculo queda 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. |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net