¿Qué es un búfer Lookaside de traducción?

La unidad central de procesamiento (CPU) de una computadora tiene un sistema de caché llamado búfer de búsqueda de traducción (TLB), que es responsable de traducir la memoria física en memoria virtual. Este es un sistema de caché separado, porque es más rápido para la CPU buscar direcciones de memoria en este caché que colocarlo en el caché normal. Para almacenar direcciones de memoria, la TLB utiliza entradas de la tabla de páginas, formando un mapa entre las direcciones de memoria física y virtual. Cuando se utiliza el búfer de búsqueda de traducción, puede haber un error de TLB, lo que significa que la memoria se ha encontrado o se desconoce. Las computadoras pueden venir con varios niveles de TLB diferentes para almacenar más información de direcciones de memoria.

Cuando la memoria física se convierte en memoria virtual, la creación de un caché facilita que la computadora encuentre la ubicación real de la memoria. Esta información se puede colocar en la memoria caché de la CPU principal, pero eso presenta varios problemas. Para almacenar estos datos, se deben utilizar varios niveles de acceso diferentes, lo que ralentiza todo el proceso. Un búfer de búsqueda de traducción busca alrededor de estos niveles y ayuda a la CPU a encontrar el lugar de memoria correcto para que se puedan abrir los datos.

El búfer de traducción automática utiliza un sistema de tabla de páginas que clasifica las áreas de traducción de la memoria virtual. Cuando la memoria física se convierte en memoria virtual, como cuando se almacena un documento o se utiliza un programa, la TLB almacena esta traducción. El TLB no almacena la información en sí, sino dónde se encuentra la memoria, lo que la hace eficiente en la memoria.

Para encontrar un archivo, o cualquier cosa en la arquitectura de la memoria, la CPU busca en la computadora. El primer paso de la CPU es usar el búfer de búsqueda de traducción para ver si la memoria se ha almacenado en caché; esto produce un acierto o un error. Un acierto de TLB significa que la memoria física está almacenada en caché y se puede encontrar rápidamente. Un error de TLB significa que la memoria física no está almacenada en caché, y la CPU debe buscar en todas las tablas de páginas para encontrar la memoria, un proceso que es ineficiente para la memoria y requiere más tiempo.

La mayoría de las computadoras vienen con varios niveles de búfer de traducción anticipada. El nivel más bajo contiene la menor cantidad de información, pero también es el más rápido. Cuando hay demasiada información para el primer nivel, se derrama en los niveles superiores. Estos niveles no son tan rápidos, pero siguen siendo más rápidos que la CPU que busca en todas las tablas de páginas la dirección de la memoria física.