Este artículo técnico sigue paso a paso el viaje que realiza una instrucción de carga global (LDG.E) generada por un kernel CUDA de suma vectorial en una GPU NVIDIA RTX 4090, desde que se ejecuta en un warp hasta que llega —si llega— a la DRAM. El recorrido comienza cuando el planificador de una sub-partición del SM emite la instrucción; el colector de operandos lee las direcciones de los registros y la LSU las envía al coalescedor, que agrupa las peticiones de 4 bytes por lane en sectores contiguos de 32 bytes para la caché L1.
La L1, asociativa de 4 vías y organizada en líneas de 128 bytes, se direcciona virtualmente, por lo que un acierto se resuelve en unos 15,4 ns (40 ciclos) sin pasar por la TLB. Cuando falla —como ocurre en la primera carga de un bloque nuevo— la petición debe traducirse: la TLB del SM solo conserva las 16 traducciones más recientes, y un fallo añade unos 11 ciclos antes de salir del SM con la dirección física de la línea de 128 bytes.
El artículo recurre a experimentos de temporización sobre el propio hardware para suplir la escasa documentación pública de NVIDIA, y plantea que los detalles importan porque entender estos costes es clave para microbenchmarking y optimización. El texto deja abiertos los siguientes tramos del recorrido (cruce del crossbar, división en 36 slices de L2 y, eventualmente, la activación y lectura de columnas en un chip de DRAM), que se abordarán en próximas entregas.
