caching - tabla - Diferencia entre caché y traducción LookAside Buffer
tlb machine (4)
¿Cuál es la diferencia entre Caché y Traducción LookAside Buffer [TLB]?
De Wiki:
En ciencias de la computación, un cache (pronunciado / kæʃ /, kash) es una colección de datos que duplican los valores originales almacenados en otro lugar o computados anteriormente, donde los datos originales son costosos de obtener (debido a un mayor tiempo de acceso) o de calcular, en comparación con el Costo de lectura del caché. En otras palabras, un 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 volver a buscar o volver a calcular los datos originales.
mientras
Un búfer de traducción (TLB) es un caché de CPU que el hardware de administración de memoria utiliza para mejorar la velocidad de traducción de direcciones virtuales. Fue la primera caché introducida en los procesadores. Todos los procesadores de escritorio y servidor actuales (como x86) utilizan un TLB. Un TLB tiene un número fijo de ranuras que contienen entradas de la tabla de páginas, que asignan direcciones virtuales a direcciones físicas. Normalmente es una memoria de contenido direccionable (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 echa un vistazo a this.
La memoria caché es para almacenar los accesos a la memoria - las lecturas reales y las escrituras en la memoria. El búfer TLA consiste en almacenar asignaciones de direcciones virtuales en el espacio de direcciones del proceso a direcciones físicas en la memoria, las operaciones de servicio que acompañan a los accesos a la memoria.
TLB es un tipo especial de caché que se asocia con la CPU. Cuando estamos utilizando la memoria virtual, necesitamos el 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 utilizan con frecuencia. Después de obtener la dirección física de TLB / page_table, buscamos esa dirección en la memoria caché si no se encuentra allí, entonces buscamos la memoria principal (fig. 8.10 william stalling 6e)
Cache
almacena los contenidos reales de la memoria.
TLB
por otro lado, almacena solo mapeo. TLB
acelera el proceso de ubicar los operandos en la memoria.
Cache
acelera el proceso de lectura de esos operandos al copiarlos en una memoria física más rápida.