Búfer de búsqueda de traducción (TLB)

Un búfer de búsqueda de traducción (TLB) es un caché de memoria que almacena traducciones recientes de memoria virtual a direcciones físicas para una recuperación más rápida.

Cuando un programa hace referencia a una dirección de memoria virtual, la búsqueda comienza en la CPU. Primero, se comprueban las cachés de instrucciones. Si la memoria requerida no está en estos cachés muy rápidos, el sistema tiene que buscar la dirección física de la memoria. En este punto, se comprueba TLB para obtener una referencia rápida a la ubicación en la memoria física.

Cuando se busca una dirección en el TLB y no se encuentra, la memoria física debe buscarse con una operación de rastreo de página de memoria. A medida que se traducen las direcciones de memoria virtual, los valores referenciados se agregan a TLB. Cuando se puede recuperar un valor de TLB, la velocidad aumenta porque la dirección de memoria se almacena en la TLB en el procesador. La mayoría de los procesadores incluyen TLB para aumentar la velocidad de las operaciones de memoria virtual a través de la proximidad inherente que reduce la latencia, así como las frecuencias de alta ejecución de las CPU actuales.

Los TLB también agregan el soporte necesario para que las computadoras multiusuario mantengan la memoria separada, al tener un modo de usuario y supervisor, así como al usar permisos en bits de lectura y escritura para permitir compartir.

Los TLB pueden sufrir problemas de rendimiento debido a errores de código y multitarea. Esta degradación del rendimiento se denomina thrash de caché. La falla de caché es causada por una actividad continua de la computadora que no progresa debido al uso excesivo de recursos o conflictos en el sistema de almacenamiento en caché.