Gracias por la A2A
El proceso es algo así:
Cuando escribe en una dirección de memoria RAM, los datos simplemente se escriben en la memoria caché, dejando espacio si es necesario. Más tarde, cuando la línea de caché se debe liberar o se vacía explícitamente, la fila de memoria se copia en la RAM.
- Se supone que mi teléfono tiene un ram de 3 gb, pero solo puedo obtener 1.4 gb de él. ¿Por qué?
- ¿Por qué los chips de 4GB de RAM para laptops tardan tanto en bajar de precio?
- ¿Es buena la placa madre que se requiere para el rendimiento o la RAM?
- ¿Es importante cambiar la RAM?
- ¿Por qué una memoria caché es tan rápida?
Si realiza lecturas y escrituras sucesivas en la misma dirección, puede surgir que todos los cambios se realicen en la memoria caché y que la RAM no se toque. Desde el punto de vista del procesador, la presencia de la memoria caché es transparente. Simplemente lee y escribe en direcciones de memoria, y el administrador de memoria optimiza las transferencias.
Por lo que leí, 0x000000 y 0x7FFFFF son en realidad direcciones de referencia. En informática, una dirección de referencia es una referencia a una ubicación de memoria específica utilizada en varios niveles por software y hardware.
Tomemos un ejemplo de un microcontrolador que carga principalmente código de memoria Flash y RAM:
Cuando hace referencia a la dirección 0x000f0004 en un micro, puede estar leyendo la dirección 0x0004 desde la memoria flash. La dirección virtual es 0x000f0004, pero la dirección física es solo 0x0004: todo el espacio de direcciones 0x000fxxxx se asigna a un dispositivo de memoria física de 4KB. Esto es solo un ejemplo, por supuesto, y el método de administrar y organizar el espacio de direcciones virtuales difiere enormemente entre las arquitecturas.
Así que supongo que puedes elegir escribir datos encima de una dirección de memoria. Si desea volver a escribir todos los datos, simplemente escriba encima de cada dirección de memoria desde 0x00000000 hasta la última dirección de memoria, digamos 0x7FFFFF:
escriba 0x00000000 encima de 0x000000 -> 0x00000000
escriba 0x00000000 encima de 0x000001 -> 0x00000000
..
..
..
escriba 0x00000000 encima de 0x7FFFFF -> 0x00000000