El valor de la memoria caché en el procesador. ¿Qué significa la memoria caché del procesador, cuál es la diferencia entre L1, L2, L3? ¿Qué es la memoria caché del procesador?

El caché es una memoria integrada en el procesador, en la que se escriben los datos (comandos) de la RAM más utilizados, lo que acelera significativamente el trabajo.

Tamaño de caché L1 (de 8 a 128 KB)
La cantidad de memoria caché en el primer nivel.
La caché L1 es un bloque de memoria de alta velocidad ubicado directamente en el núcleo del procesador.
Copia los datos recuperados de la RAM.

Guardar los comandos básicos le permite aumentar el rendimiento del procesador debido a la mayor velocidad de procesamiento de datos (el procesamiento desde el caché es más rápido que desde la RAM).

La capacidad de la memoria caché del primer nivel es pequeña y se calcula en kilobytes.
Por lo general, los modelos de procesador "más antiguos" tienen una memoria caché L1 grande.
Para los modelos de varios núcleos, se indica la cantidad de caché L1 para un núcleo.

Tamaño de caché L2 (de 128 a 12288 KB)
La cantidad de memoria caché en el segundo nivel.
La caché L2 es un bloque de memoria de alta velocidad que realiza las mismas funciones que la caché L1 (consulte "Tamaño de caché L1"), pero con una velocidad más lenta y un volumen mayor.

Si elige un procesador para tareas que requieren muchos recursos, será preferible un modelo con una gran cantidad de caché L2.
Para los procesadores multinúcleo, se indica la cantidad total de caché L2.

Tamaño de caché L3 (de 0 a 16384 KB)
La cantidad de memoria caché en el tercer nivel.
La caché L3 integrada, combinada con un bus de sistema rápido, forma un enlace de datos de alta velocidad a la memoria del sistema.

Como regla general, solo las CPU para soluciones de servidor o ediciones especiales de procesadores de "escritorio" están equipadas con un caché de tercer nivel.

La caché L3 está disponible, por ejemplo, en líneas de procesadores como Intel Pentium 4 Extreme Edition, Xeon DP, Itanium 2, Xeon MP y otros.

Twin BiCS FLASH: una nueva tecnología de memoria flash 3D

El 11 de diciembre de 2019, en el IEEE International Electronic Devices Meeting (IEDM), TOKYO-Kioxia Corporation anunció una tecnología de memoria flash 3D: Twin BiCS FLASH.

Controlador AMD Radeon Software Adrenalin Edition 2020 19.12.2 WHQL (agregado)

El 10 de diciembre, AMD presentó el megacontrolador Radeon Software Adrenalin 2020 Edition 19.12.2 WHQL.

Actualización acumulativa de Windows 10 1909 KB4530684

El 10 de diciembre de 2019, Microsoft lanzó la actualización acumulativa KB4530684 (compilación 18363.535) para la actualización de noviembre de 2019 de Windows 10 (versión 1909) en sistemas basados ​​en procesadores x86, x64 (amd64), ARM64 y Windows Server 2019 (1909) para sistemas basados ​​en x64 .

Controlador NVIDIA Game Ready GeForce 441.66 WHQL

El controlador NVIDIA GeForce Game Ready 441.66 WHQL incluye soporte para MechWarrior 5: Mercenaries y Detroit: Become Human, y agrega soporte G-SYNC para monitores MSI MAG251RX y ViewSonic XG270.

Todos los procesadores desde finales de los 90 tienen un caché interno (o solo caché). La caché es una memoria de alta velocidad que transfiere instrucciones y datos que son procesados ​​directamente por el procesador.

Los procesadores modernos tienen memoria caché incorporada de dos niveles: el primero (L1) y el segundo (L2). Con el contenido de la caché L1, el procesador es algo más rápido y la caché L2 suele ser un poco más grande. Se accede a la memoria caché sin un estado de espera, es decir, La caché de primer nivel (caché en chip) se ejecuta a la misma frecuencia que el procesador.

Esto significa que si los datos que necesita el procesador están en la memoria caché, no hay demora en el procesamiento. De lo contrario, el procesador debe obtener datos de la memoria principal, lo que reduce significativamente el rendimiento del sistema.

Para comprender cualitativamente el principio de funcionamiento de la memoria caché de ambos niveles, consideremos una situación doméstica usando un ejemplo.

Vienes al café a almorzar todos los días, a la misma hora, y siempre te sientas en la misma mesa. Pida siempre un juego estándar de tres platos.

El mesero corre a la cocina, el chef los pone en una bandeja y luego te traen tu pedido. Y así, digamos, al tercer día, el camarero, para no correr a la cocina una vez más, te encuentra a la hora acordada con un almuerzo caliente preparado en una bandeja.

No esperas el pedido y ahorras mucho tiempo. Una bandeja con tus platos es el caché de primer nivel. Pero al cuarto día, de repente quieres agregar otro plato, digamos postre.

Aunque ya te estaba esperando una bandeja con un pedido a la hora acordada, el mesero aún tenía que correr a la cocina a buscar el postre.

Y en el quinto, nuevamente un menú de tres elementos. En el sexto, nuevamente un postre, pero diferente al anterior. Y el camarero, sin saber qué tipo de postre quieres pedir (y sin saber en absoluto si pedirás algo), decide dar el siguiente paso: junto a tu mesa pone un mueble con varios tipos de postre.

Y si expresa un deseo, todo está a la mano, no necesita correr a la cocina. El casillero de postres es un caché de segundo nivel.

El tamaño de la caché L1 (de 16 a 128 KB) y L2 (de 64 KB a 512 KB, hasta 4 MB en Pentium III Cheop y AMD Opteron) afecta significativamente el rendimiento del procesador.

Los procesadores Intel Pentium III y los procesadores Celeron basados ​​en él tienen un tamaño de caché L1 de 32 KB. El Intel Pentium 4, así como las versiones de Celeron y Cheop basadas en él, tienen solo 20 KB. Los procesadores AMD Duron, Athlon (incluidos XP/MP) y Opteron, así como VIA C3, contienen 128 KB de caché L1.

Los procesadores de doble núcleo modernos tienen un caché de primer nivel para cada núcleo por separado, por lo que a veces podemos ver el número 128x2 en la descripción del caché. Esto significa que cada núcleo de procesador tiene 128 KB de caché L1.

El tamaño de caché L1 es importante para obtener un alto rendimiento en las tareas más comunes (aplicaciones de oficina, juegos, la mayoría de las aplicaciones de servidor, etc.). Su efectividad es especialmente pronunciada para los cálculos de transmisión (por ejemplo, el procesamiento de imágenes de video).

Esta es una de las razones por las que el Pentium 4 es relativamente ineficiente para las aplicaciones más comunes (aunque esto se compensa con la alta velocidad del reloj). La caché L1 siempre funciona (intercambia información con el núcleo del procesador) a la frecuencia interna del procesador.

Por el contrario, la caché L2 en diferentes modelos de procesadores opera a diferentes frecuencias (y, en consecuencia, rendimiento). Comenzando con Intel Pentium II, muchos procesadores usaban una caché L2 que se ejecutaba a la mitad de la frecuencia interna del procesador.

Esta solución se utiliza en procesadores Intel Pentium III obsoletos (hasta 550 MHz) y procesadores AMD Athlon obsoletos (en algunos de ellos, el caché L2 interno funcionaba a un tercio de la frecuencia del núcleo del procesador). La cantidad de caché L2 también es diferente para diferentes procesadores.

Los procesadores Intel Pentium III más antiguos y algunos más nuevos tienen 512 KB de caché L2, mientras que otros Pentium III tienen 256 KB. El procesador Intel Celeron basado en Pentium III venía con 128 y 256 KB de caché L2, mientras que el procesador basado en Pentium 4 venía con solo 128 KB. Varias variantes de la versión Xeon del Intel Pentium 4 tienen hasta 4 MB de caché L2.

Los nuevos procesadores Pentium 4 (algunas series con una frecuencia de 2000 MHz y todas para frecuencias superiores) tienen 512 KB de caché L2, el resto de los Pentium 4 tienen 256 KB. Los procesadores Cheop (basados ​​en Pentium 4) tienen 256 o 512 KB de caché L2.

Además, también cuentan con una memoria caché de tercer nivel L3. La caché L3 integrada, combinada con un bus de sistema rápido, forma un enlace de datos de alta velocidad a la memoria del sistema.

Como regla general, solo los procesadores para soluciones de servidor o modelos especiales de procesadores de "escritorio" están equipados con memoria caché L3. La memoria caché L3 la poseen, por ejemplo, líneas de procesadores como Xeon DP, Itanium 2, Xeon MP.

El procesador AMD Duron tiene 128 KB de caché L1 y 64 KB de caché L2. Los procesadores Athlon (excepto los más antiguos), Athlon MP y la mayoría de las variantes de Athlon XP tienen 128 KB de caché L1 y 256 KB de caché L2, y los últimos procesadores Athlon XP (2500+, 2800+, 3000+ y superiores) tienen 512 KB L2 cache. AMD Opteron contiene 1 MB de caché L2.

Los últimos modelos de procesadores Intel Pentium D, Intel Pentium M, Intel Core 2 Duo vienen con 6 MB de caché L2 y Core 2 Quad con 12 MB de caché L2.

El último procesador Intel Core i7 a partir de este escrito tiene 64 KB de caché L1 para cada uno de los 4 núcleos y 256 KB de memoria L2 para cada núcleo. Además de la memoria caché del primer y segundo nivel, el procesador también tiene una caché común para todos los núcleos del tercer nivel, igual a 8 MB.

Para los procesadores que pueden tener diferentes tamaños de caché L2 (o en el caso de Intel Xeon MP - L3) para un mismo modelo, se debe especificar este tamaño al vender (por supuesto, el precio del procesador depende de ello). Si el procesador se vende en un paquete "en caja" (entrega en caja), generalmente indica el tamaño de la memoria caché.

Para las tareas normales del usuario (incluidos los juegos), la velocidad de la caché L2 es más importante que su tamaño; para tareas de servidor, por el contrario, el volumen es más importante. Los servidores más productivos, especialmente aquellos con grandes cantidades de RAM (varios gigabytes), requieren la cantidad máxima y la velocidad máxima de caché L2.

Las versiones económicas de los procesadores Pentium III siguen siendo insuperables en estos parámetros. (El procesador Xeon MP sigue siendo más productivo en tareas de servidor que el Pentium III Xeon, debido a la mayor frecuencia de reloj del propio procesador y del bus de memoria). De lo anterior, podemos concluir que la memoria caché mejora la interacción entre un procesador más rápido procesador y una memoria RAM más lenta, y además permite minimizar los tiempos de espera que se producen durante el procesamiento de datos. El papel decisivo en esto lo desempeña la memoria caché de segundo nivel ubicada en el chip del procesador.

Uno de los factores importantes que aumentan el rendimiento del procesador es la presencia de memoria caché, es decir, su volumen, velocidad de acceso y distribución por niveles.

Durante mucho tiempo, casi todos los procesadores están equipados con este tipo de memoria, lo que demuestra una vez más la utilidad de su presencia. En este artículo hablaremos sobre la estructura, los niveles y el propósito práctico de la memoria caché, como una característica muy importante del procesador.

¿Qué es la memoria caché y su estructura?

La memoria caché es una memoria súper rápida utilizada por el procesador para almacenar temporalmente los datos que se usan con más frecuencia. Así es como, brevemente, se puede describir este tipo de memoria.

La memoria caché se basa en flip-flops, que, a su vez, consisten en transistores. Un grupo de transistores ocupa mucho más espacio que los mismos condensadores que componen la memoria RAM. Esto conlleva muchas dificultades en la producción, así como restricciones en los volúmenes. Es por eso que la memoria caché es una memoria muy costosa, aunque tiene volúmenes insignificantes. Pero a partir de tal estructura, se deduce la principal ventaja de dicha memoria: la velocidad. Dado que los flip-flops no necesitan regeneración y el tiempo de retardo de la puerta en la que están ensamblados es pequeño, el tiempo de cambio del flip-flop de un estado a otro es muy rápido. Esto permite que la memoria caché funcione a las mismas frecuencias que los procesadores modernos.

Además, un factor importante es la ubicación de la memoria caché. Está ubicado en el propio chip del procesador, lo que reduce significativamente el tiempo de acceso al mismo. Anteriormente, la memoria caché de algunos niveles estaba ubicada fuera del chip del procesador, en un chip SRAM especial en algún lugar de la placa base. Ahora, en casi todos los procesadores, la memoria caché se encuentra en el chip del procesador.

¿Para qué se utiliza la memoria caché de la CPU?

Como se mencionó anteriormente, el objetivo principal de la memoria caché es almacenar datos que el procesador utiliza con frecuencia. La memoria caché es un búfer en el que se cargan los datos y, a pesar de su pequeño tamaño (alrededor de 4 a 16 MB) en los procesadores modernos, proporciona un aumento significativo del rendimiento en cualquier aplicación.

Para comprender mejor la necesidad de memoria caché, imaginemos la organización de la memoria de una computadora como una oficina. La RAM será un gabinete con carpetas a las que el contador accede periódicamente para recuperar grandes bloques de datos (es decir, carpetas). Y la tabla será la memoria caché.

Hay elementos que se colocan sobre el escritorio del contador, a los que se refiere varias veces durante la hora. Por ejemplo, pueden ser números de teléfono, algunos ejemplos de documentos. Este tipo de información está justo sobre la mesa, lo que, a su vez, aumenta la velocidad de acceso a la misma.

De la misma manera, se pueden agregar datos de esos grandes bloques de datos (carpetas), a la tabla, para un uso rápido, por ejemplo, de cualquier documento. Cuando ya no se necesita este documento, se vuelve a colocar en el gabinete (en RAM), limpiando así la tabla (caché) y liberando esta tabla para nuevos documentos que se utilizarán en el próximo período de tiempo.

También con la memoria caché, si hay algunos datos a los que es más probable que se vuelva a acceder, estos datos de la RAM se cargan en la memoria caché. Muy a menudo, esto sucede con la carga conjunta de los datos que es más probable que se utilicen después de los datos actuales. Es decir, hay suposiciones sobre lo que se usará "después". Estos son los principios simples de operación.

Niveles de caché del procesador

Los procesadores modernos están equipados con un caché, que a menudo consta de 2 o 3 niveles. Por supuesto, hay excepciones, pero este suele ser el caso.

En general, puede haber tales niveles: L1 (primer nivel), L2 (segundo nivel), L3 (tercer nivel). Ahora un poco más sobre cada uno de ellos:

El caché de primer nivel (L1) es el nivel de memoria caché más rápido que trabaja directamente con el núcleo del procesador, gracias a esta estrecha interacción, este nivel tiene el tiempo de acceso más corto y opera en frecuencias cercanas al procesador. Es un búfer entre el procesador y el caché de segundo nivel.

Consideraremos los volúmenes en el procesador Intel Core i7-3770K de alto rendimiento. Este procesador está equipado con caché L1 de 4 x 32 KB 4 x 32 KB = 128 KB. (32 KB por núcleo)

Caché de segundo nivel (L2): el segundo nivel es más grande que el primero, pero como resultado, tiene menos "características de velocidad". En consecuencia, sirve como amortiguador entre los niveles L1 y L3. Si volvemos a nuestro ejemplo de Core i7-3770 K, aquí la cantidad de caché L2 es 4x256 KB = 1 MB.

El caché de tercer nivel (L3) es el tercer nivel, nuevamente, más lento que los dos anteriores. Pero sigue siendo mucho más rápido que la RAM. El caché L3 en el i7-3770K es de 8 MB. Si los dos niveles anteriores se dividen en cada núcleo, entonces este nivel es común a todo el procesador. El indicador es bastante sólido, pero no altísimo. Dado que, por ejemplo, los procesadores de la serie Extreme como i7-3960X son 15 MB y algunos procesadores Xeon nuevos tienen más de 20.

we-it.net

¿Para qué sirve el caché y cuánto se necesita?

No se trata de efectivo, sino de la memoria caché de los procesadores y no solo. Los comerciantes han convertido otro fetiche comercial en la cantidad de memoria caché, especialmente con la memoria caché de los procesadores centrales y los discos duros (las tarjetas de video también la tienen, pero aún no la tienen). Entonces, hay un procesador XXX con un caché L2 de 1 MB y exactamente el mismo procesador XYZ con un caché de 2 MB. ¿Adivina cuál es mejor? ¡Ah, no lo hagas de inmediato!

La memoria caché es un búfer donde se agregan las cosas que se pueden y/o se deben dejar de lado para más adelante. El procesador hace el trabajo y surgen situaciones en las que es necesario almacenar datos intermedios en algún lugar. Bueno, por supuesto en el caché! - después de todo, es mucho más rápido que la RAM, tk. está en el procesador mismo y normalmente funciona a la misma frecuencia. Y luego, después de un tiempo, recuperará estos datos y los procesará nuevamente. En términos generales, como un clasificador de papas en una cinta transportadora, que cada vez que se encuentra con algo que no sea una papa (zanahoria), lo arroja a una caja. Y cuando está lleno, se levanta y lo lleva a la habitación contigua. En este momento, el transportador se detiene y se observa inactividad. El volumen de la caja es el caché en esta analogía. ¿Y cuánto necesitas, 1 MB o 12? Está claro que si su volumen es pequeño, llevará demasiado tiempo sacarlo y será simple, pero a partir de un poco de volumen, su aumento adicional no dará nada. Bueno, el clasificador tendrá una caja para 1000 kg de zanahorias; sí, no tendrá tanto para todo el turno, ¡y esto NO SERÁ DOS VECES MÁS RÁPIDO! Hay una sutileza más: un caché grande puede causar un aumento en los retrasos para acceder a él, en primer lugar, y al mismo tiempo, aumenta la probabilidad de errores, por ejemplo, durante el overclocking, en segundo lugar. (Puede leer sobre CÓMO determinar la estabilidad / inestabilidad del procesador en este caso y descubrir que el error ocurre precisamente en su caché, pruebe L1 y L2; puede leer aquí). En tercer lugar, el caché consume un área decente de ​​\u200b\u200bel presupuesto de cristal y transistor del circuito del procesador. Lo mismo ocurre con los cachés del disco duro. Y si la arquitectura del procesador es sólida, requerirá 1024 Kb de caché o más en muchas aplicaciones. Si tiene un HDD rápido, 16 MB o incluso 32 MB son apropiados. Pero ningún caché de 64 MB lo hará más rápido si es un corte llamado versión verde (Green WD) con una velocidad de 5900 en lugar de los 7200 requeridos, incluso si este último tiene 8 MB. Luego, los procesadores Intel y AMD usan este caché de manera diferente (generalmente, AMD es más eficiente y sus procesadores a menudo se sienten cómodos con valores más pequeños). Además, Intel tiene una caché compartida, mientras que AMD tiene una personal para cada núcleo. El caché L1 más rápido en los procesadores AMD es de 64 Kb para datos e instrucciones, que es el doble que el de Intel. La caché L3 suele estar presente en los mejores procesadores como AMD Phenom II 1055T X6 Socket AM3 2.8GHz o el competidor Intel Core i7-980X. En primer lugar, a los juegos les encantan las grandes cantidades de caché. Y el caché NO es del agrado de muchas aplicaciones profesionales (ver más abajo). Ordenador para renderizado, edición de vídeo y aplicaciones profesionales). Más precisamente, los más exigentes son generalmente indiferentes. Pero lo que definitivamente no debes hacer es elegir un procesador por tamaño de caché. El antiguo Pentium 4 en sus últimas manifestaciones incluso tenía 2 MB de caché en frecuencias operativas mucho más allá de los 3 GHz: compare su rendimiento con un Celeron E1 *** de doble núcleo económico que funciona a frecuencias de aproximadamente 2 GHz. No dejará piedra sin remover del anciano. Un ejemplo más reciente es el E8600 de doble núcleo y alta frecuencia, que cuesta casi $200 (aparentemente debido a los 6 MB de caché) y el Athlon II X4-620 2.6GHz, que tiene solo 2 MB. Esto no impide que Athlone mate a un competidor por una nuez.

Como puede ver en los gráficos, ni en programas complejos ni en juegos que exigen un procesador, cualquier caché reemplazará núcleos adicionales. Athlon con 2 MB de caché (rojo) supera fácilmente a Cor2Duo con 6 MB de caché incluso a una frecuencia más baja y casi a la mitad del costo. Además, muchas personas olvidan que el caché está presente en las tarjetas de video, porque, en general, también tienen procesadores. Un ejemplo reciente es la tarjeta de video GTX460, donde logran no solo cortar el bus y la cantidad de memoria (que el comprador adivinará), sino también el caché de sombreado, respectivamente, de 512 Kb a 384 Kb (que el comprador NO adivinará). ). Y esto también agregará su contribución negativa al rendimiento. También será interesante averiguar la dependencia del rendimiento del tamaño de la memoria caché. Examinemos qué tan rápido crece con un aumento en el tamaño del caché usando el ejemplo del mismo procesador. Como sabe, los procesadores de las series E6***, E4*** y E2*** difieren solo en el tamaño de caché (4, 2 y 1 MB respectivamente). Trabajando a la misma frecuencia de 2400 MHz, muestran los siguientes resultados.

Como puede ver, los resultados no son muy diferentes. Diré más: si se tratara de un procesador con una capacidad de 6 MB, el resultado aumentaría un poco más, porque. Los procesadores alcanzan la saturación. Pero para modelos con 512Kb, la caída sería notable. En otras palabras, 2 MB son suficientes incluso en los juegos. Resumiendo, podemos sacar la siguiente conclusión: el caché es bueno cuando YA hay mucho de todo lo demás. Es ingenuo y estúpido cambiar la velocidad del disco duro o la cantidad de núcleos del procesador por tamaño de caché al mismo costo, porque incluso la caja de clasificación más espaciosa no puede reemplazar a otra clasificadora. Pero hay buenos ejemplos. Tenía 1 MB de caché para dos núcleos (serie E2160 y similares), y la última revisión de 45 nm de la serie E5200 todavía tiene 2 MB, todo lo demás es igual (y lo más importante, el PRECIO). Por supuesto, vale la pena elegir este último.

compua.com.ua

Qué es un caché, por qué es necesario y cómo funciona

¿Cuál es el lugar más sucio de una computadora? ¿Piensas en una canasta? Carpetas de usuario? ¿Sistema de refrigeración? ¡No adiviné! ¡El lugar más sucio es el caché! Después de todo, ¡tiene que limpiarse constantemente!

De hecho, hay muchos cachés en una computadora, y no sirven como basureros, sino como aceleradores de equipos y aplicaciones. ¿De dónde viene su reputación como un "vertedero de basura sistémico"? Veamos qué es un caché, cómo sucede, cómo funciona y por qué es necesario limpiarlo de vez en cuando.

La memoria caché o caché es un almacenamiento especial de datos de uso frecuente, cuyo acceso se realiza decenas, cientos y miles de veces más rápido que la RAM u otros medios de almacenamiento.

Las aplicaciones (navegadores web, reproductores de audio y video, editores de bases de datos, etc.), los componentes del sistema operativo (caché de miniaturas, caché de DNS) y el hardware (caché de CPU L1-L3, búfer de cuadros de gráficos) tienen su propia memoria caché, chip, búfer de unidad) . Se implementa de diferentes maneras: software y hardware.

  • El caché del programa es solo una carpeta o archivo separado donde, por ejemplo, se descargan imágenes, menús, scripts, contenido multimedia y otro contenido de los sitios visitados. Esta es la carpeta donde el navegador se sumerge por primera vez cuando abre una página web nuevamente. Cambiar una pieza de contenido del almacenamiento local acelera su carga y reduce el tráfico de red.

  • En los discos duros, en particular, el caché es un chip RAM separado con una capacidad de 1-256 Mb, ubicado en la placa electrónica. Recibe información leída de la capa magnética y aún no cargada en la RAM, así como los datos que el sistema operativo solicita con mayor frecuencia.

  • Un procesador central moderno contiene 2-3 niveles principales de memoria caché (también llamada memoria temporal), ubicados en forma de módulos de hardware en el mismo chip. El más rápido y pequeño en volumen (32-64 Kb) es el nivel de caché 1 (L1): se ejecuta a la misma frecuencia que el procesador. L2 está en la posición media en términos de velocidad y capacidad (de 128 Kb a 12 Mb). Y L3 es el más lento y voluminoso (hasta 40 Mb), está ausente en algunos modelos. La velocidad de L3 es solo baja en relación con sus contrapartes más rápidas, pero también es cientos de veces más rápida que la RAM más productiva.

La memoria scratchpad del procesador se utiliza para almacenar datos de uso constante, bombeados desde la RAM e instrucciones de código de máquina. Cuanto más grande es, más rápido es el procesador.

Hoy en día, tres niveles de almacenamiento en caché ya no son el límite. Con la llegada de la arquitectura Sandy Bridge, Intel ha implementado un caché L0 adicional (destinado a almacenar microinstrucciones descifradas) en sus productos. Y las CPU de mayor rendimiento también tienen un caché de cuarto nivel, hecho en forma de un microcircuito separado.

Esquemáticamente, la interacción de los niveles de caché L0-L3 se ve así (por ejemplo, Intel Xeon):

Lenguaje humano sobre cómo funciona todo

Para comprender cómo funciona la memoria caché, imagine a una persona trabajando en un escritorio. Las carpetas y documentos que usa todo el tiempo están sobre la mesa (en el caché). Para acceder a ellos, simplemente extienda su mano.

Los papeles que necesita con menos frecuencia se almacenan cerca en los estantes (en RAM). Para conseguirlos, debes levantarte y caminar unos metros. Y lo que una persona no trabaja actualmente ha sido archivado (grabado en un disco duro).

Cuanto más ancha sea la mesa, más documentos caben en ella, lo que significa que el empleado podrá acceder rápidamente a más información (cuanto mayor sea la capacidad de caché, más rápido funcionará el programa o dispositivo en teoría).

A veces comete errores: deja papeles sobre la mesa que contienen información incorrecta y los usa en su trabajo. Como resultado, la calidad de su trabajo se reduce (los errores en el caché provocan fallas en el funcionamiento de los programas y equipos). Para corregir la situación, el empleado debe descartar los documentos con errores y poner los correctos en su lugar (borrar la memoria caché).

La tabla tiene un área limitada (la memoria caché tiene una capacidad limitada). A veces se puede expandir, por ejemplo, moviendo una segunda tabla, y otras veces no (el tamaño de la memoria caché se puede aumentar si el programa brinda esa posibilidad; la memoria caché del hardware no se puede cambiar, ya que está implementada en el hardware) .

Otra forma de acelerar el acceso a más documentos de los que puede contener la mesa es encontrar un asistente que sirva papel al trabajador desde el estante (el sistema operativo puede asignar parte de la RAM no utilizada para almacenar en caché los datos del dispositivo). Pero aún es más lento que sacarlos de la mesa.

Los documentos disponibles deben ser relevantes para las tareas actuales. Esta es responsabilidad del propio empleado. Debe poner las cosas en orden en los papeles con regularidad (el desplazamiento de datos irrelevantes de la memoria caché recae "sobre los hombros" de las aplicaciones que la usan; algunos programas tienen la función de borrar automáticamente la memoria caché).

Si un empleado se olvida de mantener el orden en el lugar de trabajo y mantener la documentación actualizada, puede dibujar un horario de limpieza de mesas para sí mismo y usarlo como recordatorio. Como último recurso, confíelo a un asistente (si una aplicación que depende de la memoria caché se ha vuelto más lenta o carga datos obsoletos con frecuencia, use herramientas de limpieza de caché programadas o hágalo manualmente cada pocos días).

De hecho, nos encontramos con "funciones de almacenamiento en caché" por todas partes. Esta es la compra de productos para el futuro y varias acciones que realizamos de pasada, al mismo tiempo, etc. De hecho, esto es todo lo que nos salva de problemas innecesarios y movimientos corporales innecesarios, agiliza la vida y facilita el trabajo. La computadora hace lo mismo. En una palabra, si no hubiera caché, funcionaría cientos y miles de veces más lento. Y no nos gustaría.

f1comp.ru

Caché, caché, efectivo - memoria. ¿Para qué sirve la memoria caché? Impacto del tamaño y la velocidad de la memoria caché en el rendimiento.

Caché - memoria (caché, caché, búfer - ing.) - se utiliza en dispositivos digitales como un portapapeles de alta velocidad. La memoria caché se puede encontrar en dispositivos informáticos como discos duros, procesadores, tarjetas de video, tarjetas de red, unidades de CD y muchos otros.

El principio de funcionamiento y la arquitectura del caché pueden ser muy diferentes.

Por ejemplo, el caché puede servir como un portapapeles normal. El dispositivo procesa los datos y los transfiere a un búfer de alta velocidad, donde el controlador transfiere los datos a la interfaz. Dicho caché está destinado a evitar errores, verificar la integridad de los datos del hardware o codificar la señal del dispositivo en una señal comprensible para la interfaz, sin demoras. Dicho sistema se usa, por ejemplo, en unidades de CD / DVD de discos compactos.

En otro caso, la memoria caché se puede utilizar para almacenar código de uso frecuente y, por lo tanto, acelerar el procesamiento de datos. Es decir, el dispositivo no necesita volver a calcular ni buscar los datos, lo que llevaría mucho más tiempo que leerlos de la memoria caché. En este caso, el tamaño y la velocidad de la memoria caché juegan un papel muy importante.


Esta arquitectura se encuentra más comúnmente en discos duros, SSD y unidades centrales de procesamiento (CPU).

Cuando los dispositivos se están ejecutando, se pueden cargar programas especiales de firmware o despachador en el caché, lo que funcionaría más lentamente con ROM (memoria de solo lectura).

La mayoría de los dispositivos modernos utilizan un tipo mixto de caché, que puede servir tanto como portapapeles como para almacenar código de uso frecuente.

Hay varias funciones muy importantes implementadas para el caché de procesadores y chips de video.

Consolidación de unidades de ejecución. Las CPU y los procesadores de video a menudo usan un caché rápido compartido entre núcleos. En consecuencia, si un núcleo procesó la información y está en el caché, y llega un comando para la misma operación, o para trabajar con estos datos, entonces el procesador no volverá a procesar los datos, sino que se tomarán del caché. para su posterior procesamiento. El kernel se descargará para procesar otros datos. Esto aumenta significativamente el rendimiento en cálculos del mismo tipo, pero complejos, especialmente si el caché es grande y rápido.

El caché compartido también permite que los núcleos trabajen con él directamente, sin pasar por la memoria RAM lenta.

Caché para instrucciones. Hay una memoria caché general de primer nivel muy rápida para instrucciones y otras operaciones, o una dedicada para ellas. Cuantas más instrucciones integradas tenga un procesador, mayor será la caché de instrucciones que necesita. Esto reduce la latencia de la memoria y permite que el bloque de instrucciones funcione de forma casi independiente.Cuando está lleno, el bloque de instrucciones comienza a estar inactivo periódicamente, lo que ralentiza la velocidad de cálculo.

Otras funciones y características.

Cabe señalar que en las CPU (Unidades centrales de procesamiento), se utiliza la corrección de errores de hardware (ECC), porque un pequeño error en el caché puede provocar un error continuo en el procesamiento posterior de estos datos.

En la CPU y la GPU, existe una jerarquía de memoria caché que le permite separar los datos de los núcleos individuales y los generales. Aunque casi todos los datos del caché de segundo nivel todavía se copian al tercer nivel general, pero no siempre. El primer nivel de caché es el más rápido y cada nivel subsiguiente es más lento, pero de mayor tamaño.

Para los procesadores, tres o menos niveles de caché se consideran normales. Esto le permite lograr un equilibrio entre velocidad, tamaño de caché y disipación de calor. Es difícil encontrar más de dos niveles de caché en los procesadores de video.

Tamaño de caché, impacto en el rendimiento y otras características.

Naturalmente, cuanto mayor sea el caché, más datos puede almacenar y procesar, pero aquí hay un problema grave.

Gran caché significa gran presupuesto de transistores. En los procesadores de servidor (CPU), la memoria caché puede utilizar hasta el 80 % del presupuesto del transistor. En primer lugar, esto afecta al coste final y, en segundo lugar, aumenta el consumo de energía y la disipación de calor, lo que no es comparable con un rendimiento aumentado en varios puntos porcentuales.

¿Cuál es el lugar más sucio de la computadora? ¿Piensas en una canasta? Carpetas de usuario? ¿Sistema de refrigeración? ¡No adiviné! ¡El lugar más sucio es el caché! Después de todo, ¡tiene que limpiarse constantemente!

De hecho, hay muchos cachés en una computadora, y no sirven como basureros, sino como aceleradores de equipos y aplicaciones. ¿De dónde viene su reputación como un "vertedero de basura sistémico"? Veamos qué es un caché, cómo sucede, cómo funciona y por qué de vez en cuando.

El concepto y tipos de memoria caché.

Esh o memoria caché es un almacenamiento especial de datos de uso frecuente, al que se accede decenas, cientos y miles de veces más rápido que la RAM u otros medios de almacenamiento.

Las aplicaciones (navegadores web, reproductores de audio y video, editores de bases de datos, etc.), los componentes del sistema operativo (caché de miniaturas, caché de DNS) y el hardware (caché de CPU L1-L3, búfer de cuadros de gráficos) tienen su propia memoria caché, chip, búfer de unidad) . Se implementa de diferentes maneras: software y hardware.

  • El caché del programa es solo una carpeta o archivo separado donde, por ejemplo, se descargan imágenes, menús, scripts, contenido multimedia y otro contenido de los sitios visitados. Esta es la carpeta donde el navegador se sumerge por primera vez cuando abre una página web nuevamente. Intercambiar una pieza de contenido del almacenamiento local acelera su carga y.

  • En los discos duros, en particular, el caché es un chip RAM separado con una capacidad de 1-256 Mb, ubicado en la placa electrónica. Recibe información leída de la capa magnética y aún no cargada en la RAM, así como los datos que el sistema operativo solicita con mayor frecuencia.

  • Un procesador central moderno contiene 2-3 niveles principales de memoria caché (también llamada memoria temporal), ubicados en forma de módulos de hardware en el mismo chip. El más rápido y pequeño en volumen (32-64 Kb) es el nivel de caché 1 (L1): se ejecuta a la misma frecuencia que el procesador. L2 está en la posición media en términos de velocidad y capacidad (de 128 Kb a 12 Mb). Y L3 es el más lento y voluminoso (hasta 40 Mb), está ausente en algunos modelos. La velocidad de L3 es solo baja en relación con sus contrapartes más rápidas, pero también es cientos de veces más rápida que la RAM más productiva.

La memoria scratchpad del procesador se utiliza para almacenar datos de uso constante, bombeados desde la RAM e instrucciones de código de máquina. Cuanto más grande es, más rápido es el procesador.

Hoy en día, tres niveles de almacenamiento en caché ya no son el límite. Con la llegada de la arquitectura Sandy Bridge, Intel ha implementado un caché L0 adicional (destinado a almacenar microinstrucciones descifradas) en sus productos. Y las CPU de mayor rendimiento también tienen un caché de cuarto nivel, hecho en forma de un microcircuito separado.

Esquemáticamente, la interacción de los niveles de caché L0-L3 se ve así (por ejemplo, Intel Xeon):

Lenguaje humano sobre cómo funciona todo

Para comprender cómo funciona la memoria caché, imagine a una persona trabajando en un escritorio. Carpetas y documentos que usa todo el tiempo están sobre la mesa ( en caché). Para acceder a ellos, simplemente extienda su mano.

Los papeles que necesita con menos frecuencia se almacenan cerca en los estantes ( en RAM). Para conseguirlos, debes levantarte y caminar unos metros. Y lo que una persona no trabaja actualmente ha sido archivado ( grabado en disco duro).

Cuanto más ancha sea la mesa, más documentos caben en ella, lo que significa que el empleado podrá acceder rápidamente a más información ( cuanto mayor sea la capacidad de caché, más rápido funcionará el programa o dispositivo en teoría).

A veces comete errores: deja papeles sobre la mesa que contienen información incorrecta y los usa en su trabajo. Como resultado, la calidad de su trabajo se reduce ( los errores de caché conducen a fallas de software y hardware). Para corregir la situación, el empleado debe tirar los documentos con errores y colocar los correctos en su lugar ( borrar la memoria caché).

La mesa tiene un área limitada ( la memoria caché es limitada). A veces se puede expandir, por ejemplo, moviendo una segunda tabla, y otras veces no (el tamaño del caché se puede aumentar si el programa brinda esa oportunidad; el caché de hardware no se puede cambiar, ya que está implementado en hardware) .

Otra forma de acelerar el acceso a más documentos de los que puede contener la mesa es encontrar un asistente que sirva papel al trabajador desde el estante (el sistema operativo puede asignar parte de la RAM no utilizada para almacenar en caché los datos del dispositivo). Pero aún es más lento que sacarlos de la mesa.

Los documentos disponibles deben ser relevantes para las tareas actuales. Esta es responsabilidad del propio empleado. Debe limpiar los papeles con regularidad (la extracción de datos irrelevantes de la memoria caché recae "sobre los hombros" de las aplicaciones que la utilizan; algunos programas tienen una función de limpieza automática de caché).

Si un empleado se olvida de mantener el orden en el lugar de trabajo y mantener la documentación actualizada, puede dibujar un horario de limpieza de mesas para sí mismo y usarlo como recordatorio. Como último recurso, confíelo a un asistente (si una aplicación que depende de la memoria caché se ha vuelto más lenta o carga datos obsoletos con frecuencia, use herramientas de limpieza de caché programadas o hágalo manualmente cada pocos días).

De hecho, nos encontramos con "funciones de almacenamiento en caché" por todas partes. Esta es la compra de productos para el futuro y varias acciones que realizamos de pasada, al mismo tiempo, etc. De hecho, esto es todo lo que nos salva de problemas innecesarios y movimientos corporales innecesarios, agiliza la vida y facilita el trabajo. La computadora hace lo mismo. En una palabra, si no hubiera caché, funcionaría cientos y miles de veces más lento. Y no nos gustaría.

Qué es un caché, por qué es necesario y cómo funciona actualizado: 25 de febrero de 2017 por: Johnny mnemotécnico

Todos los usuarios conocen bien elementos de una computadora como un procesador encargado de procesar los datos, así como la memoria de acceso aleatorio (RAM o RAM) encargada de almacenarlos. Pero probablemente no todos sepan que también hay un caché de procesador (Cache CPU), es decir, la RAM del propio procesador (la llamada memoria super-RAM).

¿Cuál es la razón que llevó a los desarrolladores de computadoras a usar una memoria especial para el procesador? ¿No es suficiente RAM para una computadora?

De hecho, durante mucho tiempo, las computadoras personales prescindieron de cualquier tipo de memoria caché. Pero, como sabe, el procesador es el dispositivo más rápido en una computadora personal y su velocidad ha aumentado con cada nueva generación de CPU. Actualmente, su velocidad se mide en miles de millones de operaciones por segundo. Al mismo tiempo, la memoria RAM estándar no ha aumentado significativamente su rendimiento a lo largo de su evolución.

En términos generales, existen dos tecnologías principales para los chips de memoria: la memoria estática y la memoria dinámica. Sin profundizar en los detalles de su estructura, solo diremos que la memoria estática, a diferencia de la memoria dinámica, no requiere regeneración; además, se usan de 4 a 8 transistores para un bit de información en la memoria estática, mientras que en la memoria dinámica se usan de 1 a 2 transistores. En consecuencia, la memoria dinámica es mucho más barata que la memoria estática, pero al mismo tiempo mucho más lenta. Actualmente, los chips RAM se fabrican sobre la base de memoria dinámica.

Evolución aproximada del ratio de la velocidad de procesadores y RAM:

Por lo tanto, si el procesador tomara información de la memoria principal todo el tiempo, tendría que esperar a la memoria dinámica lenta y estaría inactivo todo el tiempo. En el mismo caso, si la memoria estática se usara como RAM, el costo de la computadora aumentaría varias veces.

Es por eso que se desarrolló un compromiso razonable. La parte principal de la RAM se mantuvo dinámica, mientras que el procesador obtuvo su propio caché rápido basado en chips de memoria estáticos. Su volumen es relativamente pequeño; por ejemplo, el volumen de la memoria caché L2 es de solo unos pocos megabytes. Sin embargo, aquí vale la pena recordar que toda la memoria RAM de las primeras computadoras IBM PC era de menos de 1 MB.

Además, la conveniencia de implementar la tecnología de almacenamiento en caché también se ve influenciada por el hecho de que diferentes aplicaciones en la RAM cargan el procesador de manera diferente y, como resultado, hay una gran cantidad de datos que requieren un procesamiento prioritario en comparación con el resto.

Historia del caché

Estrictamente hablando, antes de que la memoria caché se trasladara a las computadoras personales, se había utilizado con éxito en las supercomputadoras durante varias décadas.

Por primera vez, apareció una memoria caché de solo 16 KB en una PC basada en el procesador i80386. Los procesadores actuales utilizan varios niveles de caché, desde el primero (el caché más rápido del tamaño más pequeño, generalmente 128 KB) hasta el tercero (el caché más lento del tamaño más grande, hasta decenas de MB).

Al principio, la memoria caché externa del procesador estaba ubicada en un chip separado. Con el tiempo, sin embargo, esto llevó al hecho de que el bus ubicado entre el caché y el procesador se convirtió en un cuello de botella, lo que ralentizó el intercambio de datos. En los microprocesadores modernos, tanto el primer como el segundo nivel de memoria caché se encuentran en el propio núcleo del procesador.

Durante mucho tiempo, solo había dos niveles de caché en los procesadores, pero por primera vez en la CPU Intel Itanium, apareció una memoria caché de tercer nivel, común a todos los núcleos del procesador. También hay desarrollos de procesadores con caché de cuatro niveles.

Arquitecturas y principios de funcionamiento de la memoria caché

Hasta la fecha, se conocen dos tipos principales de organización de la memoria caché, que se originan a partir de los primeros desarrollos teóricos en el campo de la cibernética: las arquitecturas Princeton y Harvard. La arquitectura de Princeton implica un solo espacio de memoria para almacenar datos y comandos, mientras que la de Harvard tiene uno separado. La mayoría de los procesadores de computadoras personales de la línea x86 usan un tipo separado de memoria caché. Además, también ha aparecido un tercer tipo de memoria caché en los procesadores modernos: el llamado búfer de traducción asociativo, diseñado para acelerar la conversión de las direcciones de memoria virtual del sistema operativo en direcciones de memoria física.

Simplificado, el esquema de interacción entre la memoria caché y el procesador se puede describir de la siguiente manera. Primero, la presencia de la información que necesita el procesador se verifica de la manera más rápida: el caché de primer nivel, luego, en el caché de segundo nivel, y así sucesivamente. Si no se encontró la información necesaria en ningún nivel del caché, entonces dicen sobre un error o una falta de caché. Si no hay información en el caché, entonces el procesador debe tomarla de la RAM o incluso de la memoria externa (del disco duro).

El orden en que el procesador busca información en la memoria:

Así busca información el procesador

Para controlar el funcionamiento de la memoria caché y su interacción con las unidades informáticas del procesador, así como con la RAM, existe un controlador especial.

Esquema de organización de la interacción del núcleo del procesador, caché y RAM:

El controlador de caché es el enlace clave entre el procesador, la RAM y el caché.

Cabe señalar que el almacenamiento en caché de datos es un proceso complejo que utiliza muchas tecnologías y algoritmos matemáticos. Entre los conceptos básicos utilizados en el almacenamiento en caché, se pueden destacar los métodos de escritura de un caché y la arquitectura de la asociatividad de la memoria caché.

Métodos de escritura en caché

Hay dos métodos principales para escribir información en el caché:

  1. El método de reescritura (writeback): los datos se escriben primero en el caché y luego, cuando se dan ciertas condiciones, en la RAM.
  2. El método de escritura simultánea (a través de la escritura): los datos se escriben simultáneamente en la memoria RAM y en la memoria caché.

Arquitectura de asociatividad de caché

La arquitectura de asociatividad de la memoria caché define la forma en que los datos de la RAM se asignan a la memoria caché. Existen las siguientes variantes principales de arquitectura de asociatividad de almacenamiento en caché:

  1. Caché de mapeo directo: un área específica del caché es responsable de un área específica de RAM
  2. Caché totalmente asociativo: cualquier área de caché se puede asociar con cualquier área de RAM
  3. Caché mixto (conjunto-asociativo)

Por lo general, se pueden usar diferentes arquitecturas de asociatividad de caché en diferentes niveles de caché. El almacenamiento en caché asignado directamente a RAM es la opción de almacenamiento en caché más rápida, por lo que esta arquitectura generalmente se usa para cachés grandes. A su vez, una caché totalmente asociativa tiene menos errores de caché (misses).

Conclusión

En este artículo, se familiarizó con el concepto de memoria caché, la arquitectura de la memoria caché y los métodos de almacenamiento en caché, y aprendió cómo afecta el rendimiento de una computadora moderna. La presencia de memoria caché puede optimizar significativamente el rendimiento del procesador, reducir su tiempo de inactividad y, en consecuencia, aumentar el rendimiento de todo el sistema.