¿Por qué la memoria RAM no es grande?

No lo suficientemente grande … Creo que hoy tenemos casi 4 GB en cualquiera de nuestras PC y eso no es pequeño teniendo en cuenta el tamaño de RAM que teníamos hace un par de años, pero teniendo en cuenta los cientos de GB de disco duro, es pequeño.
Primero que nada, hay una buena jerarquía de memoria mantenida y creo que por RAM (te refieres a la memoria física aquí) y hay varias capas de CACHE antes de RAM. En el diseño de memoria habitual tenemos
yo. Registros de microprocesadores
ii. CACHÉ L1 (generalmente 32-64 KB)
iii) CACHÉ L2 (2 MB)
iii) CACHÉ L3 opcional
iv. Memoria física o DRAM (1 GB – 4 GB)
v. Disco duro

En esta jerarquía, a medida que avanzamos de arriba a abajo, el tamaño de la memoria aumenta, pero a medida que avanzamos, el tiempo de acceso también aumenta. El caché L1, L2 y L3 son RAM estáticas, que son más caras pero más rápidas de acceder, mientras que su memoria física es RAM dinámica, que es relativamente lenta, ya que necesita una actualización continua para retener la memoria.
En primer lugar, ¿por qué necesitamos tres niveles de CACHE cuando todos son estáticos? ¿Por qué no podemos hacer que nuestro L1 CACHE sea grande para que sea equivalente a la memoria de L1, L2 y L3? ¿Por qué el pirata se preocupa por mantener tres niveles de CACHE?
Porque cuanto mayor sea el CACHE, mayor será el tiempo de acceso. L1 CACHE se encuentra en el dado de la CPU y el tiempo de acceso es un ciclo de la CPU. Entonces, si aumentamos el tamaño de L1 CACHE, aumentaremos el ciclo de la CPU. Por lo tanto, por cada acceso de L1 CACHE tendremos que pagar una penalización debido a este mayor tamaño. Por lo tanto, el tamaño de L1 CACHE se ha mantenido prácticamente igual desde su inicio debido a la misma razón. Lo mismo se aplica a L2 y L3 CACHE. La latencia para acceder a la memoria aumenta a medida que avanzamos en la jerarquía de memoria.
Si la memoria estática es tan rápida, ¿por qué usar memoria dinámica más lenta? ¿Por qué no simplemente usar una gran memoria estática?
Primero de todos los factores de costo. La memoria estática es cara en comparación con la memoria dinámica. Además, la memoria dinámica es compacta en comparación con la memoria estática. Puede verificar la celda SRAM típica que necesita 6 transistores contra la celda DRAM que solo necesita un transistor y un capacitor.
Ahora, volviendo a tu pregunta,
¿Por qué no usar DRAM grande en lugar de disco duro?
En primer lugar, Harddisk se usa para el almacenamiento permanente (que creo que ya sabe) donde los datos se almacenan como un sistema de archivos que conduce a un acceso más lento, además de la participación de las partes mecánicas lo hace extremadamente lento. Comparativamente, DRAM es mucho más rápido, ¿por qué no usarlo? Hacer que la DRAM sea grande tiene sus efectos secundarios:
yo. Costo
ii. Mayor tiempo de acceso
iii) Circuito de actualización más complicado para actualizar los datos en la DRAM como resultado de lo cual se consume más energía.
Además, ¿qué tan grande quieres que sea tu DRAM? Si está trabajando en el sofisticado software o está haciendo un gran procesamiento, necesitará una gran cantidad de espacio, pero para sus actividades diarias no necesitará tanto espacio. La mayor parte del tiempo, gran parte de ella será inútil.
Sin embargo, si siente que acceder a su disco duro es el cuello de botella y quiere cargar todo su programa a la vez en su RAM (el espacio de direcciones de cada programa es de 4 GB) deberá asignar aproximadamente 4 GB de memoria por proceso e imaginar si tiene 100 procesos en ejecución?

Como ya se mencionó en algunas de las otras respuestas, DRAM es más costoso que los discos flash y giratorios, pero bastante más rápido que ambos.

Un punto importante que me gustaría agregar es que, aunque podría pensar que no usa toda su RAM durante el uso normal del sistema operativo, la mayoría de los sistemas operativos modernos utilizan la RAM libre restante para algo llamado “caché de página” , que es realmente un caché para datos que de otro modo se leerían desde el disco duro. Cuando accede a algunos datos nuevos, el sistema operativo busca una coincidencia en la memoria caché de la página, y los datos se obtienen del disco solo si la memoria caché de la página falla.

Por lo tanto, toda la RAM se usa la mayor parte del tiempo.

La RAM es como anillos de diamantes: caros e inútiles *. Entonces es pequeño.

Digo inútil porque la mayoría de las computadoras de escritorio y portátiles modernas no usarán más de 3 GB de RAM. La RAM solo debe ser lo suficientemente grande como para contener el conjunto de trabajo de todos los procesos en ejecución. Por lo general, el tamaño total del conjunto de trabajo es inferior a 4 GB, por lo que funciona. Si quieres más, puedes comprar más.

Porque la RAM es solo para almacenamiento temporal. La mayoría de los usuarios no usarán mucha RAM. Por supuesto, algunos programas usan una gran cantidad de RAM (Matlab es uno de ellos), sin embargo, estos programas no son utilizados por legos. Por lo tanto, lo más probable es que los usuarios sepan lo que están haciendo.