Varía según la implementación y la arquitectura. La mayoría de las arquitecturas permiten que el software especifique atributos de memoria “almacenables en caché” frente a “no almacenables en caché”. Sin embargo, el uso y la implementación de eso está completamente determinado por el compilador / SO / software de bajo nivel y, en cierta medida, por el hardware.
Como ejemplo, una operación muy común en el software es una copia de memoria. Esto transmite principalmente un montón de lecturas de un lugar en la memoria y las escribe en otro lugar en la memoria. No hay acceso repetido a la misma ubicación de memoria con el tiempo.
Casi todas las pilas de software convertirán esto en cargas y tiendas no almacenables en caché. Y algunas implementaciones de procesador no almacenarán en caché estos datos cuando se carguen desde la memoria. Sin embargo, muchos almacenarán en caché estos datos temporalmente cuando se almacenen en la memoria para la agregación de escritura: es decir, recolectarán un montón de tiendas antes de escribirlos en masa en la memoria.
- ¿Cómo se escribe la RAM de 000000 a 7FFFFF (por ejemplo, formato: 1024k x 16)?
- ¿Hay algún problema para tener 2 rams de 4 gb y 8 gb en una computadora portátil?
- ¿Podría construir un servidor DDR2 barato para que otra computadora lo use como disco RAM, preferiblemente a través de SATA?
- Cómo conectar RAM a la placa base
- ¿Cual es mejor? ¿Tienes más RAM o RAM más rápido?
Algunos procesadores también almacenan cargas no almacenables en caché, pero tratan esos datos como de menor prioridad que las líneas almacenables en caché. Entonces, si se queda sin espacio, primero eliminará las líneas con datos no almacenables en caché antes de eliminar las líneas con datos almacenables en caché.
La razón por la que desea almacenar cargas no almacenables en caché es similar a la razón por la que almacena tiendas no almacenables en caché. Es probable que el procesador pueda manejar cierto número de bytes de datos a la vez, pero las líneas de caché se cargan en tamaños de línea de caché (generalmente alrededor de 64B). Por lo tanto, la mayoría de esos datos deben permanecer allí esperando a que el procesador llegue a ellos.