Latencia informática

Latencia informática
Información sobre la plantilla
Latencia informática.jpg
Retardo de los datos en un sistema informático.

Latencia informática. Tiempo que tarda un dato en estar disponible desde que se realiza su petición. Se puede comparar con el tiempo de reacción. Se mide en nanosegundos (ns) o en milisegundos (ms). Cuanto menos latencia, mejor.

Latencia cero

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.

En la red

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:

  • El tamaño de los paquetes transmitidos.
  • El tamaño de los buffers dentro de los equipos de conectividad. Ellos pueden producir un Retardo Medio de Encolado.

En los sistemas de audio

Hay latencia en tecnologías de uso musical, como los convertidores de mp3 a señales analógicas. Siempre el traspaso de información de un mecanismo a otro va a sufrir 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 está directamente relacionada con la tarjeta de audio, esto se debe a que dicha tarjeta no es compatible con ASIO (Audio Stream Input Output).

Latencia de memorias

Se denominan latencias de una memoria RAM a los diferentes retardos producidos en el acceso a los distintos componentes. 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, para obtener el menor tiempo de acceso posible.

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.

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.

Latencias vs FSB

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. Un sistema a 133 MHz y otro a 200 MHz, y empleando exactamente la misma memoria en ambos casos. El tiempo que tarda en ejecutarse un ciclo:

  • 1/133 * 10^6 = 7.5 * 10^-9 = 7.5 ns
  • 1/200 * 10^6 = 6 * 10^-9 = 6 ns

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:

  • Sistema 133 MHz --> 2 – 2 – 2 – 5 --> CAS, RAS, PRECHARGE y ACTIVE
  • Sistema 200 MHz --> 3 – 2 – 2 – 5 --> CAS, RAS, PRECHARGE y ACTIVE

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

  • Sistema 133 MHz

(2 * 7.5) + (2 * 7.5) + (2 * 7.5) + (5 * 7.5) = 15 + 15 + 15 + 37.5 = 82.5 ns

  • Sistema 200 MHz

(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:

  • Sistema 133 MHz

[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

  • Sistema 200 MHz

[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.

Fuentes