El Translation Lookaside Buffer (TLB) es un caché de hardware dentro de la unidad de gestión de memoria (MMU) de la CPU que almacena las traducciones recientes de direcciones virtuales a direcciones físicas. Su propósito principal es reducir el tiempo de acceso a la memoria al evitar la necesidad de recorrer la tabla de páginas (page table walk) completa en la memoria principal para cada acceso. Cuando la CPU necesita acceder a una dirección virtual, primero consulta el TLB. Si encuentra una entrada (TLB hit), la dirección física correspondiente se obtiene instantáneamente. Si no la encuentra (TLB miss), la MMU realiza un page table walk para obtener la traducción, la almacena en el TLB y luego la utiliza.
Los TLB son un componente fundamental en casi todos los procesadores modernos que implementan memoria virtual, desde CPUs de propósito general como Intel x86 y ARM hasta procesadores especializados en servidores y dispositivos móviles. Sistemas operativos como Linux, Windows y macOS dependen en gran medida del TLB para gestionar eficientemente la memoria de los procesos. Por ejemplo, en un sistema Linux, cada vez que un proceso accede a su espacio de direcciones virtuales, el hardware de la CPU utiliza el TLB para traducir esas direcciones. La invalidación del TLB (TLB shootdown) es una operación crítica en sistemas multiprocesador cuando un mapeo de página cambia, asegurando la coherencia entre los TLB de diferentes núcleos.
Para un arquitecto de sistemas, comprender el TLB es crucial para diseñar sistemas de alto rendimiento y entender los cuellos de botella relacionados con la memoria. Un TLB miss puede incurrir en una penalización significativa, ya que requiere múltiples accesos a la memoria principal para el page table walk. Esto influye en decisiones de diseño como el tamaño de página (page size): páginas más grandes pueden reducir la frecuencia de TLB misses, pero pueden aumentar el desperdicio de memoria (internal fragmentation). La elección de algoritmos de asignación de memoria y la optimización de patrones de acceso a datos pueden impactar la eficiencia del TLB. En entornos de virtualización, la gestión del TLB (por ejemplo, con Extended Page Tables - EPT en Intel VT-x) es un factor clave en el rendimiento de las máquinas virtuales, ya que un hypervisor debe gestionar las traducciones de direcciones de los invitados, lo que puede introducir sobrecarga si no se optimiza el uso del TLB.