Una aplicación de 32 bits tiene 32 bits de dirección. Cualquier cosa que aborde directamente tiene que encajar en eso. Por lo tanto, si se dirige directamente a VRAM, no solo se limita a 4G, sino que también proviene de 4G de RAM “normal”.
Sin embargo, la mayoría de los programas no abordan VRAM, le piden al sistema operativo que haga “cosas de gráficos”, y el sistema operativo puede elegir hacerlo en otro proceso (este suele ser el caso en macOS, pero no sé acerca de Windows – en ambos casos, las cosas pueden cambiar si desea utilizar bibliotecas de video de mayor rendimiento).
Además, un programa puede cambiar lo que existe en su espacio de direcciones a lo largo del tiempo, por lo que si realmente necesita abordar 6G de VRAM desde un proceso de 32 bits, podría establecer una “vista” 2G en la VRAM y cambiar qué parte de la VRAM ve en cualquier momento tiempo dado. Este es un gran problema, lleva más tiempo depurarlo y con frecuencia es lento, no solo por la sobrecarga adicional de rastrear lo que la vista está viendo ahora, sino que también la macro de cambiar la vista puede costar miles de veces más que el costo de en realidad acceder a la memoria. (así es como las computadoras de 16 bits podrían usar más de 64 K a la vez, o cómo el 80286 vio más de 1 M a la vez … y cómo podría abordar> 4P en una computadora de 64 bits, si de hecho se puede construir algo tan grande)
- ¿Por qué llaman RAM 'memoria temporal'?
- Instalé una RAM en mi computadora y recibí el error PAGE_FAULT_IN_NONPAGE_AREA. ¿Qué tengo que hacer?
- ¿Es posible construir una memoria que sea tan rápida como un procesador?
- ¿Es una buena idea extender mi RAM de 4GB con procesador Pentium a 8GB de RAM?
- ¿Qué marca de teléfonos inteligentes tiene menos bloatware que afecta la RAM disponible para el usuario?