¿Qué causa exactamente la latencia de memoria en la RAM y la memoria caché?

Bueno, la respuesta es simple.

Todos sabemos que la corriente fluye con una velocidad casi igual a la de la luz. Ahora considere que tiene una RAM que no es más que un chip de memoria. La RAM almacena los datos temporalmente y los devuelve cuando se les solicita.

Una sola RAM está hecha de interconexión de millones y millones de transistores. Ahora, si intenta acceder a la estructura básica de un transistor, encontrará que tiene su propia resistencia, capacitancia e inductancia (espero que entienda estos términos).

Para que un transistor funcione, se producen muchos ciclos de carga y descarga para estas capacitancias e inductancias. Este tiempo de ciclo puede estar en femto segundos. Pero cuando conecta en cascada un millón de transistores, el tiempo equivalente aparecería en nano o pico segundos.

Lo que RAM hace es almacenar y recuperar datos. Tiene su propio bloque de memoria. Tiene que completar su lógica para comprender qué ubicación está almacenada y dónde debe dar su salida. Todas estas cosas son hechas por transistores.

Para resumir toda esta discusión: – “Una RAM necesita tiempo para encontrar la dirección en la que se almacenan los datos y dar esos datos a la salida. Por lo tanto, cada RAM viene con una latencia”.

La razón más fundamental es la velocidad de la luz según las respuestas anteriores, pero en realidad es una porción muy pequeña de la latencia general.

La mayor parte de la latencia es el tiempo requerido para detectar el estado de la celda de bits, luego amplificar la señal, canalizarla y transmitirla al circuito IO del chip. En DRAM de productos básicos esto es del orden de 30-40ns.

El factor principal es la relación entre la capacitancia de la línea de bits y la capacitancia de la celda de bits, donde la línea de bits es aproximadamente 100 veces más capacitiva que la celda de bits para una DRAM típica, por lo que la operación de detección tarda mucho tiempo en estabilizarse y se modela como una carga concentrada / tiempo RC constante, no la velocidad de la luz. La DRAM de baja latencia (LLDRAM o RLDRAM) simplemente tiene líneas de bits más cortas, como 1/2 o 1/4 de la longitud, por lo que se reduce la relación de capacitancia y la constante de tiempo RC. DRAM móvil como LPDDRx, por otro lado, tienden a tener líneas de bits más largas y latencia más larga.

Antes de solicitar un acceso a la DRAM, la CPU debe determinar si se necesita una recuperación de RAM o no, y una vez que ocurren las dos operaciones anteriores, los datos deben transferirse de la RAM a la CPU.

Las operaciones para el caché son similares, pero con una latencia mucho menor.

Las contribuciones de velocidad de la luz para DRAM son casi insignificantes, ya que las contribuciones de velocidad de la memoria caché son mayores.

Lo principal que causa la latencia de la memoria es la velocidad de la luz, ya que la luz solo puede viajar muy lejos en un corto período de tiempo … solo unos pocos nanosegundos.

La otra causa principal son los circuitos, que no reaccionan instantáneamente, y por lo tanto, hay un retraso entre los circuitos de tiempo que se les pide que hagan algo y cuando responden.

Esto es cierto sin importar dónde se encuentre el circuito, pero si el circuito está fuera del chip de la CPU, al igual que la memoria RAM y la caché L2, la solicitud se envía, procesa y recibe (ida y vuelta) en tiempo.