Una caché de memoria se carga (desde la RAM) con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU buscará siempre primero la información en la caché, y la encontrará allí la mayoría de las veces, con lo que el acceso será muy rápido. Si, desgraciadamente, no se encuentra la información en la caché, se perderá un tiempo extra en acudir a la RAM y copiar dicha información en la caché para que esté disponible. Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accederá más veces a la caché que a la RAM. Lo comentado para la búsqueda en memoria funciona de forma análoga para la escritura: la CPU escribe en la caché en lugar de la RAM (más adelante hablaremos de dicho proceso con mayor detalle).
Operación de lectura empleando cahé. Si la CPU desea buscar la instrucción X (situada en cierta posición de la RAM), intentará hallar primero dicha instrucción en la caché. Si la encuentra allí, el acceso será rápido (caso B). Si no la encuentra, se añade un retraso extra al buscar la instrucción en la RAM y copiarla en la caché.
La mayoría de programas tiene un alto contenido en bucles, lo que implica un uso repetido de instrucciones (e incluso datos). Lo que implica una alta probabilidad de acierto al buscar la información en la caché.
Una forma interesante de ilustrar el funcionamiento de la caché consiste en imaginar un videoclub, equipado con un mostrador y una habitación capaz de almacenar cientos de vídeos. Ante la petición de cada cliente, el dependiente deberá acudir hasta el almacén, buscar la película solicitada, volver al mostrador y entregar la cinta al cliente. Ante la devolución de una cinta, el dependiente debe caminar hacia el almacén y guardar dicha cinta en el lugar apropiado.
Realmente esa forma de trabajo no es nada eficiente, ya que implica demasiados desplazamientos y, por tanto, la atención al cliente será realmente lenta.
Suponga ahora que el dependiente dispone de un pequeño archivador de 20 vídeos sobre el mostrador. Cuando un cliente devuelve una cinta, el dependiente coloca la cinta directamente en el archivador, en lugar de caminar hacia el almacén. Si se va repitiendo dicho proceso, el dependiente dispondrá continuamente de las veinte últimas películas devueltas en el archivador. Cuando se acerque un cliente y pida una película, el dependiente la buscará primero en el archivador, y sólo si no la encuentra allí se desplazará hacia el almacén. Este método funciona, sobre todo porque la mayor parte de las películas devueltas serán las de estreno, que al mismo tiempo son las más solicitadas.
Niveles de caché
Un PC incorpora varios tipos de caché. Pero, ¿de qué forma están organizados? Usualmente, los diferentes sistemas de caché se organizan por niveles, formando una jerarquía. En general se cumple que, a mayor cercanía a la CPU, se presenta mayor velocidad de acceso y menor capacidad de almacenamiento.
Niveles de caché. Nótese que incluso el disco duro se puede emplear como caché para otros dispositivos (como los CD-ROM) y aplicaciones (como los navegadores Web).
La búsqueda de información comienza por la caché L1, y se va subiendo nivel a nivel en caso de no encontrar lo que se busca en el nivel actual. Por supuesto, cuantas más capas haya que ascender, mayor retardo se pagará. Pero, a mayor cercanía a la CPU, la probabilidad de encontrar lo que se busca es mayor. Esta forma de trabajo resulta una excelente relación de compromiso entre diversos factores, y consigue mejorar el rendimiento del ordenador de forma notable.


No hay comentarios:
Publicar un comentario
Deja un Comentario valorando la informacion,... y toma en cuenta la utilidad que tuvo para ti.