Tabla de contenidos
Si buscas los diferentes elementos que componen un procesador, seguro que has oído hablar del término “caché”. ¿Cuál es la importancia de la memoria Cache en los procesadores? En este artículo intentaremos explicar este componente en un lenguaje que un principiante pueda comprender.
Los Microprocesadores o Unidades Centrales de Procesamiento (CPU) han evolucionado a lo largo de los muchos años desde que han estado en uso. Los ingenieros se han esforzado mucho para encontrar más y más formas de hacer que las CPU funcionen más rápido y de manera más eficiente al mismo tiempo que intentan reducir su tamaño físico. La memoria caché es solo una de las muchas innovaciones que se les ocurrieron a los ingenieros para mejorar la eficiencia del procesador.
Leer: ¿Cuánto tiempo duran las computadoras portátiles Mac?
La necesidad de memoria caché
Analicemos cómo surgió el concepto de esta memoria y por qué es tan importante. Comenzaremos por entender primero qué es un ciclo de instrucción:
El ciclo de instrucción
Digamos que deseas ejecutar el bloc de notas en Windows. Vas al ícono del Bloc de notas con el mouse, haces doble clic en el ícono y listo, se abre la ventana del Bloc de notas. Lo que realmente sucede dentro de la computadora durante este corto tiempo es lo siguiente:
- El programa Notepad, que se almacena en el disco duro, se carga en la RAM. Como sabes, cualquier programa es un conjunto de instrucciones que le dice a la computadora qué hacer.
- Las instrucciones al inicio del programa se transfieren a la CPU a través de un controlador de memoria, que puede estar integrado en la CPU o ser externo a la CPU.
- La CPU ejecuta las instrucciones y transfiere el resultado a la RAM.
Este es el ciclo básico de instrucción que se repite una y otra vez.
El motivo principal detrás de la memoria caché: la velocidad de ejecución del programa
Como se mencionó anteriormente, la CPU tiene que obtener la instrucción de un almacenamiento que puede incluir undisco duro o una RAM. El problema está en las velocidades de búsqueda y transferencia.
Si la CPU obtiene instrucciones del disco duro, que tiene un acceso y una velocidad de transferencia muy lentos, el programa se ejecutará muy lentamente. Incluso si el disco duro es un SSD. Tener el programa en la RAM y obtener las instrucciones desde allí dará como resultado una ejecución del programa mucho más rápida. Aun así, la CPU en sí es extremadamente rápida, en comparación con una RAM, por lo que obtener instrucciones a esta velocidad no será ideal para una ejecución rápida del programa.
Esto, en términos más simples, se conoce como cuello de botella publicitario, en el que un componente más lento limita el potencial de un componente más rápido.
Memoria caché al rescate
En algún momento, los ingenieros pensaron que si además podían tener una mini RAM como almacenamiento intermedio entre la RAM y la CPU que reside dentro de la CPU, entonces el tiempo necesario para obtener la información de esta mini RAM por parte de la CPU obviamente disminuirá y ser muy inferior en comparación con el tiempo necesario para obtener la información directamente de la memoria RAM.
Los ingenieros agregaron componentes mini RAM dentro de la CPU y se les dio el nombre de memoria caché. No es posible que una memoria caché contenga las instrucciones para ejecutar todo el software, después de todo, dicha memoria solo tiene almacenamiento medido en Megabytes. Por lo tanto, contiene la instrucción más común que utilizan los usuarios y la mayoría del software.
El desafío de la capacidad: localidad de referencia
La memoria caché tenía que ser muy rápida, por lo que se utilizó RAM estática (SRAM). La RAM convencional utiliza RAM dinámica (DRAM), que tiene almacenamiento de alta densidad mediante condensadores, es económica y consume poca energía. Su inconveniente es que los condensadores pierden su carga y necesitan un ciclo de carga repetidamente. Esto hace que el acceso a los datos sea lento (esto se llama latencia).
La SRAM que se encuentra en la memoria caché almacena datos en circuitos flip-flop que hacen que su acceso y transferencia de datos sea muy rápido. Su inconveniente es su alto costo debido a los circuitos necesarios. Por lo tanto, la única solución viable era utilizarlo con una capacidad extremadamente económica.
Como se mencionó anteriormente, sólo las instrucciones más comunes se almacenan en caché. La naturaleza inherente de las instrucciones del programa incluye que sean secuenciales y repetitivas, aunque no todo el tiempo.
Entonces, los ingenieros desarrollaron algoritmos que seleccionaron instrucciones para almacenar en la memoria caché en función de su cercanía de dirección en RAM, denominada Localidad espacial, o en función de las instrucciones que se repiten, denominada Localidad temporal.
En conjunto, el concepto se denominó Localidad de referencia. Permitió identificar los datos más relevantes para almacenarlos en la memoria.
Leer: Wi-Fi 5 vs Wi-Fi 6
Cache Miss y Cache Hit
La tasa de éxito de garantizar que la memoria caché siempre tenga presente la siguiente instrucción cuando la CPU la necesite no es del 100 %. Puede suceder que la CPU no encuentre la siguiente instrucción en la memoria caché y tenga que buscarla en la RAM. Tal evento se llama Cache Miss.
Un Cache Hit es un evento en el que la CPU encuentra la siguiente instrucción en la memoria caché. La tasa de éxito del acierto de caché se puede calcular utilizando la siguiente fórmula. Tasa de éxito de aciertos de caché = [ aciertos de caché / (aciertos de caché + errores de caché)] x 100
La jerarquía de la memoria caché
Hoy en día, la memoria caché existe en las CPU en varios niveles y tipos.
Nivel 1
Por lo general, las memorias caché de nivel 1 se interconectan directamente con la parte de ejecución de la CPU. El caché de nivel 1 se divide en caché de instrucciones llamado I-Cache y caché de datos llamado D-Cache.
El I-Cache se denota por L1i y el D-Cache se denota por L1d. Entonces, si una CPU tiene 2 núcleos, cada núcleo contendrá los cachés L1. Físicamente, también son los más cercanos al núcleo.
Nivel 2
La memoria caché de nivel 2 es común y se conecta a ambas cachés L1 divididas. Se denota por L2. Tanto la caché L1 como la L2 forman parte de cada núcleo.
Nivel 3
La memoria caché de nivel 3 es común para toda la CPU, por lo que, en nuestro ejemplo, la memoria caché de nivel 3 sirve a la caché L2 de ambos núcleos.
Otros Niveles
Puede haber incluso más niveles para varios tipos de CPU, pero para la mayoría de los clientes domésticos y de oficina, el Nivel 3 es principalmente el nivel más alto.
Esta jerarquía de memoria caché agiliza por completo la obtención de instrucciones y datos por parte de los núcleos dentro de la CPU.
Importancia de la memoria caché en términos de beneficios obtenidos
En términos de beneficios tangibles, la importancia de la memoria caché es la siguiente.
Aceleración del acceso a la memoria y sincronización con la CPU
El uso de acceso directo a la DRAM desde la CPU ralentiza el proceso general de ejecución del programa debido a las desventajas de la DRAM. El uso de la memoria caché acelera el proceso para que coincida o se sincronice con la CPU para lograr los mejores resultados.
Latencia muy baja
La latencia, o el tiempo de acceso, es alta para DRAM, pero muy baja para SRAM. Esta es una característica extremadamente ventajosa de la memoria caché.
Alto rendimiento
Su ancho es principalmente de 32 o 64 bits. La memoria caché L1 está conectada al Core a través del bus trasero. Su ancho es normalmente mucho mayor, por ejemplo, 128 bits o 256 bits. Un bus más ancho significa que se pueden transferir más datos en un solo paso o que el rendimiento del bus trasero es mucho mayor que el rendimiento del bus frontal. Por lo tanto, la adición de memoria caché aumenta el rendimiento del Core.
Introducción del almacenamiento en búfer
La memoria caché contiene instrucciones y datos que probablemente se necesitarán a continuación. De esta forma, la memoria caché actúa prácticamente como un búfer entre la RAM y la CPU.
Acceso de la CPU a las instrucciones más necesarias
La memoria caché contiene instrucciones y datos que probablemente se necesitarán a continuación. Por lo tanto, es posible que la CPU no necesite buscar los próximos datos requeridos en la RAM y los tendrá fácilmente disponibles en el caché. Esta es una gran ventaja de la memoria caché.
Naturaleza temporal de los datos almacenados
Los datos almacenados en la memoria caché son temporales. Esto significa que se puede reemplazar inmediatamente cuando se vuelve inútil. Dado que la memoria caché es muy limitada, esta es una gran ventaja.
Leer: ¿Qué es Fedora?
Conclusión
La importancia de la memoria caché en la industria de los microprocesadores de hoy en día no se puede enfatizar lo suficiente. Se ha convertido en una parte integral de todas las CPU diseñadas y fabricadas en todo el mundo y, de hecho, lo ha sido durante muchas décadas.
El concepto de memoria caché ha ido evolucionando y definitivamente seguirá haciéndolo. Ha resultado ser un elemento fundamental de los Microprocesadores y del que no podemos prescindir.
¿Qué son los cartuchos de tinta remanufacturados?
mayo 18, 2023¿Qué es GPT-4 y qué se ha mejorado con respecto a GPT-3?
mayo 28, 2023¿Qué es un escáner con alimentación de hojas?
enero 13, 2022Cómo habilitar el modo oscuro en Roblox | Instrucciones
julio 19, 2023¿Cuánto dura una CPU? (Vida útil basada en el uso)
mayo 19, 2023¿Qué significa LTS? Definición | Soporte a largo plazo
abril 29, 2021Comparación de DHCP vs DNS ¿Cuál es la diferencia?
septiembre 21, 20238 formas de apagar Windows 10 | Guía paso a paso
julio 15, 2021Cómo abrir imágenes en formato HEIC y HEIF
agosto 22, 2021