fbpx
Wikipedia

Translation Lookaside Buffer

Un búfer de traducción anticipada[1][2]​ o búfer de traducción adelantada,[3]​ en inglés translation lookaside buffer (TLB), es una memoria caché administrada por la unidad de gestión de memoria (MMU), que contiene partes de la tabla de paginación, la cual relaciona las direcciones lógicas con las físicas. Posee un número fijo de entradas y se utiliza para obtener la traducción rápida de direcciones. Si no existe una entrada buscada, se deberá revisar la tabla de paginación y tardará varios ciclos más, sobre todo si la página que contiene la dirección buscada no está en memoria primaria (véase memoria virtual). Si en la tabla de paginación no se encuentra la dirección buscada, saltará una interrupción conocida como fallo de página.

Funcionamiento

El TLB hace referencia a direcciones físicas en su tabla. Puede residir entre la CPU y la caché de la misma o entre esta caché y la unidad de memoria primaria. Esto depende de si la caché utiliza direccionamiento físico o virtual. Si la caché se direcciona de manera virtual, las peticiones se envían directamente de la CPU a la caché, la cual accede al TLB cuando es necesario. Si la caché se direcciona de manera física, la CPU realiza una búsqueda en el TLB con cada operación de memoria, y la dirección física resultante es enviada a la caché. Existen pros y contras en ambas implementaciones.

Una optimización común para las cachés direccionadas de manera física es realizar una búsqueda en el TLB en paralelo con el acceso a caché. Los bits de orden más bajo de cualquier dirección virtual (por ejemplo en un sistema de memoria virtual que tiene páginas de 4 KB, los 12 bits más bajos de la dirección virtual) no cambian en la traducción de dirección virtual a física. Durante un acceso a caché se realizan dos acciones: Se utiliza un índice para encontrar una entrada en el sistema de datos de la caché, y a continuación las etiquetas de la línea encontrada se comparan. Si la caché está estructurada de tal manera que pueda ser indexada utilizando solo los bits que no cambian en la traducción, la caché puede realizar su operación de "indexación" mientras el TLB traduce la parte alta de la dirección. Entonces, la dirección traducida del TLB es enviada a la caché. La caché realiza una comparación de etiquetas para determinar si este acceso ha sido un acierto o un fallo.

Fallo

En las arquitecturas más modernas se pueden observar dos métodos de tratar un fallo de TLB.

Con el manejo hardware del TLB, la propia CPU comprueba las tablas de paginación para ver si hay alguna entrada válida para la dirección virtual especificada. Si la entrada existe, se lleva a la TLB y se reintenta el acceso; esta vez el acceso será un acierto, y el programa podrá proceder con normalidad. Si la CPU no encuentra una entrada válida para la dirección virtual en las tablas de página, se genera una excepción de fallo de página, la cual deberá manejar el sistema operativo. El manejo de los fallos de página normalmente implica llevar los datos pedidos a la memoria física, generando una entrada en la tabla de paginación para mapear la dirección virtual que faltaba para corregir la dirección física, y reiniciar el programa.

Con el manejo software de las TLB, un fallo genera una excepción "fallo de TLB", y el sistema operativo debe acceder a las tablas de paginación y realizar la traducción por software. Entonces, el sistema operativo carga la traducción en el TLB y reinicia el programa desde la instrucción que causó el fallo. Como en el sistema de manejo hardware, si el SO no encuentra una traducción válida en las tablas, ocurre un fallo de página y el SO deberá manejarlo de la manera correspondiente.

Estadísticas típicas

Tamaño: 8-4096 entradas
Tiempo de acierto: 0,5-1 ciclos de reloj
Penalización por fallos: 10-30 ciclos de reloj
Ratio de fallos: 0.01-1 %

Si un acierto de TLB requiere 1 ciclo de reloj, un fallo requiere 30 ciclos, y siendo el ratio de fallos 1%, el ratio de ciclos de memoria efectiva es una media de   ciclos de reloj por acceso a memoria.

Véase también

Referencias

  1. «Memoria virtual». Universidad Complutense de Madrid. 
  2. «Paginacion, Traducción de direcciones, TBL». Sistemas Operativos. 31 de octubre de 2012. Consultado el 26 de junio de 2018. 
  3. «Facultad de Matemática, Astronomía y Física: Entrar al sitio». www.famaf.proed.unc.edu.ar. Consultado el 26 de junio de 2018. 
  •   Datos: Q1071403

translation, lookaside, buffer, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, junio, 2011, búfer, traducción, anticipada, búfer, traducción, adelantada, inglés, translation, lookaside, buffer, memoria,. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 13 de junio de 2011 Un bufer de traduccion anticipada 1 2 o bufer de traduccion adelantada 3 en ingles translation lookaside buffer TLB es una memoria cache administrada por la unidad de gestion de memoria MMU que contiene partes de la tabla de paginacion la cual relaciona las direcciones logicas con las fisicas Posee un numero fijo de entradas y se utiliza para obtener la traduccion rapida de direcciones Si no existe una entrada buscada se debera revisar la tabla de paginacion y tardara varios ciclos mas sobre todo si la pagina que contiene la direccion buscada no esta en memoria primaria vease memoria virtual Si en la tabla de paginacion no se encuentra la direccion buscada saltara una interrupcion conocida como fallo de pagina Indice 1 Funcionamiento 1 1 Fallo 1 2 Estadisticas tipicas 2 Vease tambien 3 ReferenciasFuncionamiento EditarEl TLB hace referencia a direcciones fisicas en su tabla Puede residir entre la CPU y la cache de la misma o entre esta cache y la unidad de memoria primaria Esto depende de si la cache utiliza direccionamiento fisico o virtual Si la cache se direcciona de manera virtual las peticiones se envian directamente de la CPU a la cache la cual accede al TLB cuando es necesario Si la cache se direcciona de manera fisica la CPU realiza una busqueda en el TLB con cada operacion de memoria y la direccion fisica resultante es enviada a la cache Existen pros y contras en ambas implementaciones Una optimizacion comun para las caches direccionadas de manera fisica es realizar una busqueda en el TLB en paralelo con el acceso a cache Los bits de orden mas bajo de cualquier direccion virtual por ejemplo en un sistema de memoria virtual que tiene paginas de 4 KB los 12 bits mas bajos de la direccion virtual no cambian en la traduccion de direccion virtual a fisica Durante un acceso a cache se realizan dos acciones Se utiliza un indice para encontrar una entrada en el sistema de datos de la cache y a continuacion las etiquetas de la linea encontrada se comparan Si la cache esta estructurada de tal manera que pueda ser indexada utilizando solo los bits que no cambian en la traduccion la cache puede realizar su operacion de indexacion mientras el TLB traduce la parte alta de la direccion Entonces la direccion traducida del TLB es enviada a la cache La cache realiza una comparacion de etiquetas para determinar si este acceso ha sido un acierto o un fallo Fallo Editar En las arquitecturas mas modernas se pueden observar dos metodos de tratar un fallo de TLB Con el manejo hardware del TLB la propia CPU comprueba las tablas de paginacion para ver si hay alguna entrada valida para la direccion virtual especificada Si la entrada existe se lleva a la TLB y se reintenta el acceso esta vez el acceso sera un acierto y el programa podra proceder con normalidad Si la CPU no encuentra una entrada valida para la direccion virtual en las tablas de pagina se genera una excepcion de fallo de pagina la cual debera manejar el sistema operativo El manejo de los fallos de pagina normalmente implica llevar los datos pedidos a la memoria fisica generando una entrada en la tabla de paginacion para mapear la direccion virtual que faltaba para corregir la direccion fisica y reiniciar el programa Con el manejo software de las TLB un fallo genera una excepcion fallo de TLB y el sistema operativo debe acceder a las tablas de paginacion y realizar la traduccion por software Entonces el sistema operativo carga la traduccion en el TLB y reinicia el programa desde la instruccion que causo el fallo Como en el sistema de manejo hardware si el SO no encuentra una traduccion valida en las tablas ocurre un fallo de pagina y el SO debera manejarlo de la manera correspondiente Estadisticas tipicas Editar Tamano 8 4096 entradas Tiempo de acierto 0 5 1 ciclos de reloj Penalizacion por fallos 10 30 ciclos de reloj Ratio de fallos 0 01 1 Si un acierto de TLB requiere 1 ciclo de reloj un fallo requiere 30 ciclos y siendo el ratio de fallos 1 el ratio de ciclos de memoria efectiva es una media de 1 0 99 1 30 0 01 1 30 displaystyle 1 times 0 99 1 30 times 0 01 1 30 ciclos de reloj por acceso a memoria Vease tambien EditarUnidad de manejo de memoriaReferencias Editar Memoria virtual Universidad Complutense de Madrid Paginacion Traduccion de direcciones TBL Sistemas Operativos 31 de octubre de 2012 Consultado el 26 de junio de 2018 Facultad de Matematica Astronomia y Fisica Entrar al sitio www famaf proed unc edu ar Consultado el 26 de junio de 2018 Datos Q1071403 Obtenido de https es wikipedia org w index php title Translation Lookaside Buffer amp oldid 117346024, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos