Español
Energía y suministros

TLB

Siglas de translation lookaside buffer.

TLB: el atajo de la CPU para direcciones de memoria.

Un Translation Lookaside Buffer (TLB) es una caché pequeña y rápida que se encuentra dentro o muy cerca de un núcleo de procesador y almacena las traducciones recientes de direcciones de memoria virtual a física. Cuando el software que se ejecuta en una CPU solicita datos en una dirección de memoria virtual, la MMU (unidad de gestión de memoria) normalmente debe consultar la tabla de páginas en la RAM para encontrar la dirección física correspondiente. Esta búsqueda es lenta. El TLB intercepta estas solicitudes y devuelve una traducción en caché en un solo ciclo si el par de direcciones se ha utilizado recientemente, evitando por completo la tabla de páginas.

La capacidad del TLB se mide en entradas, que suelen oscilar entre 16 y 512, dependiendo del diseño del procesador y del nivel de caché. Una CPU x86-64 moderna podría tener TLB de instrucciones y datos separados, cada uno con múltiples niveles: un TLB L1 que es diminuto y muy rápido, y un TLB L2 que es más grande pero ligeramente más lento. Cuando una dirección virtual no se encuentra en el TLB, se produce un fallo de TLB y el procesador debe recorrer la tabla de páginas, una operación costosa que puede detener la ejecución durante cientos de ciclos.

Rendimiento y comportamiento del sistema

La eficiencia del TLB se vuelve crítica en cargas de trabajo que acceden a grandes regiones de memoria o tienen poca localidad. Un proceso que escanea gigabytes de datos puede experimentar fallos frecuentes si el tamaño de la página es fijo (comúnmente 4 kB en Linux x86) y el TLB no puede contener las traducciones para el conjunto de trabajo. Muchos sistemas ahora admiten múltiples tamaños de página: además de las páginas de 4 kB, las páginas enormes de 2 MB o 1 GB reducen el número de traducciones necesarias, aunque consumen más memoria y son más difíciles de gestionar.

Cuando se produce un cambio de contexto de proceso, el TLB normalmente queda obsoleto porque las direcciones virtuales del nuevo proceso se asignan a una memoria física diferente. La mayoría de las CPU modernas etiquetan las entradas del TLB con un identificador de proceso (ASID o ID de contexto de proceso) para evitar vaciados completos, aunque algunos sistemas más antiguos deben borrar todo el TLB en cada cambio. Los profesionales de servicios públicos que optimizan sistemas de control en tiempo real o motores de trading de alta frecuencia a menudo perfilan las tasas de fallos del TLB utilizando contadores de rendimiento y ajustan la asignación del tamaño de página y la afinidad del proceso para maximizar las tasas de aciertos de caché.

El término "lookaside buffer" (búfer de búsqueda lateral) refleja la arquitectura: el TLB se encuentra al lado de la ruta de ejecución principal, consultado en paralelo con otra lógica de traducción de direcciones. Es una de varias estructuras invisibles pero críticas para el rendimiento que separan la velocidad de memoria percibida de la latencia real de la RAM, junto con las cachés de instrucciones y datos L1, L2 y L3.

Fuentes

Entrada IG453007/12/2013

Más de Energía y suministros

Ver todo

Reciba la palabra del día

Un término industrial cada día, con el oficio al que pertenece y por qué vale la pena conocerlo. Sin publicidad.