2009-12-29 13 views
16

¿Cuál es la diferencia entre Cache y Translation LookAside Buffer [TLB]?Diferencia entre caché y traducción LookAside Buffer [TLB]

+4

De una mirada rápida a sus preguntas , parece que simplemente estás usando este sitio para obtener respuestas a preguntas sobre tareas. Si bien eso está perfectamente bien (excepto por el hecho de que nunca conseguirás un trabajo como programador al hacer eso), tal vez quieras al menos aceptar las respuestas que obtengas. Solo se necesita un clic y se asegurará de que otros continúen haciendo su tarea. –

Respuesta

17

De Wiki:

En informática, un cache (pronunciado/kæʃ /, Kash) es una colección de datos que duplican los valores originales almacenados en otro lugar o calculados anteriormente, donde los datos originales es cara a buscar (debido al mayor tiempo de acceso) o para calcular, en comparación con el costo de leer el caché. En otras palabras, una memoria caché funciona como un área de almacenamiento temporal donde los datos a los que se accede con frecuencia se pueden almacenar para un acceso rápido. Una vez que los datos se almacenan en la memoria caché, se pueden usar en el futuro accediendo a la copia en caché en lugar de recuperar o volver a generar los datos originales.

mientras que

Un Translation lookaside buffer (TLB) es una memoria caché de CPU que el hardware de gestión de memoria utiliza para mejorar la velocidad de traslación de direcciones virtuales. Fue el primer caché introducido en los procesadores. Todos los procesadores de escritorio y servidor actuales (como x86) usan un TLB. Un TLB tiene un número fijo de ranuras que contienen entradas de tabla de página, que asignan direcciones virtuales a direcciones físicas. Normalmente es una memoria direccionable por contenido (CAM), en la que la clave de búsqueda es la dirección virtual y el resultado de la búsqueda es una dirección física.

también echar un vistazo a this.

13

La memoria caché es para almacenar en memoria intermedia los accesos de memoria: lee y escribe en la memoria. El buffer TLA es para almacenar las asignaciones desde las direcciones virtuales en el espacio de direcciones del proceso a las direcciones físicas en la memoria: las operaciones de servicio que acompañan a los accesos a la memoria.

19

Cache almacena el contenido real de la memoria.

TLB por el contrario, almacena solo el mapeo. TLB acelera el proceso de localizar los operandos en la memoria.

Cache acelera el proceso de lectura de esos operandos copiándolos a una memoria física más rápida.

5

TLB es un tipo especial de caché que está asociado con la CPU. Cuando utilizamos la memoria virtual necesitamos TLB para una traducción más rápida de la dirección virtual a la dirección física. TLB solo almacena page_no, offset, frame_no y algunos bits de control. Mientras que la memoria caché es para almacenar bloques de datos que se usan con frecuencia. Después de obtener la dirección física de la TLB/page_table buscamos esa dirección en caché si no se encuentra allí, que buscamos la memoria principal. (Fig 8.10 William 6e estancamiento)

enter image description here

Cuestiones relacionadas