Conceptualmente hablando, ¿cómo funciona la RAM?

En primer lugar, debe aclarar lo que quiere decir con RAM.

En general, cualquier memoria que le brinde acceso aleatorio a sus bloques de memoria es RAM. Por acceso aleatorio, quiero decir que puede acceder a cada bloque en cualquier momento que desee, independientemente de la posición del último bloque que haya leído o escrito.

Vienen en contraste con las memorias de acceso secuencial. memorias como cintas magnéticas o unidades de disco duro (HDD). En las memorias de acceso secuencial, tiene una cabeza que apunta a una parte específica de su memoria. En esta clase de recuerdos, el tiempo que lleva leer o escribir en un bloque específico está relacionado con la distancia relativa entre el bloque que la cabeza señala y el bloque que queremos leer o escribir en él.

Esto se debe a que en las memorias de acceso secuencial, la cabeza tiene que viajar desde la posición actual a la nueva.

Las memorias de acceso aleatorio difieren de las secuenciales en la forma en que no tienen cabeza y pueden acceder a cada bloque de su memoria en tiempo constante (PS 1). Logran hacer esto creando una variedad de recuerdos direccionables.
Imagine una matriz 2D con memorias de un solo bit (flip flops en SRAM, memoria capacitiva en DRAM o cualquier otro tipo de memorias de un solo bit) en sus celdas. Cada columna en esta matriz 2D representa una dirección de memoria. A través de codificadores y decodificadores adecuados, se puede crear una memoria de acceso aleatorio que toma una dirección como entrada y emite el valor en la columna deseada. (PS 2)

Por lo tanto, no sucede nada al azar en las RAM. Toma su nombre del hecho de que puede acceder a su bloque de memoria en orden aleatorio en tiempo constante.

En el libro de texto de Sistemas Operativos, o en una vista sin arquitectura de computadora, nos referimos a la RAM como la parte de la memoria de trabajo de la computadora (o la cinta en el modelo de máquina). En ese sentido, la RAM es la memoria de trabajo de su computadora. Si quiere ejecutar un programa o procesar un archivo específico, primero debe copiarlo del disco duro a la RAM y luego hacer lo que quiera hacer con él. En cierto modo, es como nuestra memoria a corto plazo. Funciona de manera muy diferente de cómo funciona nuestra memoria a corto plazo, pero la RAM es el bloc de notas de su computadora y la memoria a corto plazo es el bloc de notas de su cerebro.

Excepto el hecho de que la RAM y nuestra memoria a corto plazo son bloc de notas para otros cálculos y también su contenido depende del tiempo (no son para el almacenamiento a largo plazo, a diferencia del disco duro o nuestra memoria a largo plazo), nuestra memoria a corto plazo es bastante diferente de la RAM.

En la RAM la información se almacena en bloques de memoria. Para acceder a una información, necesita su dirección (que es totalmente independiente de su contenido). Además, cada información almacenada en una parte específica de la RAM. Significa que si elimina una parte de RAM o borra su contenido, algunas informaciones se perderán para siempre, mientras que otras no se tocarán.

Por el contrario, nuestra memoria a corto plazo funciona completamente diferente. En primer lugar, en la memoria a corto plazo, la información se almacena globalmente. Significa que no puede apuntar a un punto específico de la memoria y decir que esta parte de la memoria contiene este hecho específico. También en Sort Term Memory no puede acceder a una información específica (porque no sabe dónde está). En su lugar, puede acceder a información relacionada con un tema específico. En otras palabras, la información se almacena semánticamente. Otra diferencia importante es que en la memoria a corto plazo no hay garantía de que va a recuperar la información exacta que ha almacenado.

PD 1: Hoy en día, con las nuevas tecnologías para DRAM (DDR2, DDR3, …), el tiempo de acceso en realidad depende un poco del banco activo, pero no está relacionado con el tema.

PS 2: si desea más detalles sobre la codificación de decodificación de RAM y la arquitectura subyacente, haga un comentario para mí.

La respuesta de Mahdi Mohaveri trata muchas cosas desde la perspectiva del software y la arquitectura. Permítanme intentar explicar esto desde una perspectiva de circuitos.

En primer lugar, se llama Memoria de acceso aleatorio porque la latencia (el retraso) de sacar una palabra (datos) de la Memoria es la misma independientemente de la ubicación a la que acceda. En otras palabras, es similar a una estructura de tabla hash que tendría en el software y tiene un tiempo de acceso O (1) (bueno, casi).

Esto contrasta con las estructuras convencionales de disco duro que pueden considerarse como platos giratorios en un cilindro con una aguja magnética que transfiere los datos. Esto hace que los discos rotativos convencionales tengan latencia variable. La vista simplificada se puede resumir ya que tiene retrasos de acceso secuenciales (sin embargo, esto no funciona exactamente secuencialmente, hay un espacio entre los bloques que puede transferir que depende de la velocidad de transferencia de datos y las RPM de los platos rotativos). Nota al margen: hay nuevos diseños (relativamente) de discos como unidades de estado sólido que son como RAM, aunque muy diferentes en sus diseños de nivel de transistor y latencia de acceso a partir de hoy.

En términos generales, hay 2 tipos de diseño de RAM:

  1. SRAM (estático)
  2. DRAM (dinámico)

Estos se denominan en función del requisito de actualizar los valores de carga en el transistor. El diseño DRAM requiere una actualización periódica, mientras que SRAM teóricamente no requiere ninguna actualización. Citando Wikipedia para una mejor comprensión: “La actualización de memoria es un proceso de mantenimiento en segundo plano requerido durante la operación de la memoria DRAM de semiconductores, el tipo de memoria de computadora más utilizado, y de hecho es la característica definitoria de esta clase de memoria. En un chip DRAM, cada un poco de datos de memoria se almacena como la presencia o ausencia de una carga eléctrica en un pequeño condensador en el chip. A medida que pasa el tiempo, las cargas en las celdas de memoria se escapan, por lo que sin actualizarse, los datos almacenados eventualmente se perderían. esto, el circuito externo lee periódicamente cada celda y la reescribe, restaurando la carga en el capacitor a su nivel original “. [1]

Hay otra diferencia entre SRAM y DRAM, que son sus latencias de acceso. Las SRAM tienen menos retraso en el acceso de palabras en comparación con las DRAM, que proviene de la necesidad de cargar la línea de palabras.

Me gustaría profundizar en más detalles sobre los diseños exactos de nivel de transistor de RAM, pero luego repetiría lo que dicen la memoria estática de acceso aleatorio y la memoria dinámica de acceso aleatorio. Te dejaría leer esas páginas en tu propio tiempo.

Referencia:
1. Actualización de memoria

Cada bit en cada dirección es un interruptor de encendido o apagado.

El “azar” se refiere al método de acceso – Memoria de acceso aleatorio. Puede acceder a cualquier dirección tan rápido como puede acceder a cualquier otra dirección. Esto es opuesto al acceso serializado, como la vieja memoria de burbuja magnética de TI, en la que tenía que leer e ignorar toneladas de datos hasta llegar a lo que estaba buscando, o un disco duro, donde tiene que buscar una pista , luego espere a que un sector quede bajo el encabezado de lectura

En lo que respecta al almacenamiento de nuestros propios recuerdos (supongo que se refiere a la memoria humana almacenada en el cerebro), entiendo que pequeños fragmentos de cada memoria se almacenan en lugares diferentes (posiblemente aleatorios) y se vuelven a ensamblar cuando intentamos recordarlos.

Las memorias de la computadora, siempre que no tengan un problema, “recuerdan” exactamente lo que se almacenó. Los recuerdos humanos no. (Recuerdo claramente que tuve mi primer ataque al corazón en abril de 1996. Los registros del hospital muestran que fue en abril de 1997. Confío en el periódico mejor de lo que confío en mi memoria).

Comprender cómo funciona la memoria de la computadora no le dará una comprensión de cómo funciona la memoria humana. Pero tal vez algún día, cuando comprendamos cómo funciona la memoria humana, podamos crear memorias informáticas más eficientes. Las computadoras registran solo 2 estados: toda la RAM es booleana en su núcleo. Un bit está activado o desactivado. (8 bits en todas las combinaciones cn producen 256 combinaciones distintas, de 0 a 255.) La memoria humana tiene una variación infinita. Tenemos “verdadero”, “casi completamente verdadero”, “mayormente verdadero”, “principalmente verdadero”, etc., y todas las variaciones intermedias – para cada “bit”. Si pudiéramos hacer eso con el almacenamiento de la computadora, probablemente podríamos encontrar computadoras tan avanzadas sobre las actuales como las actuales sobre el ábaco.

Aquí hay una publicación intuitiva detallada:
Antes de que me olvide (Tipos de memoria en una computadora)

La memoria es un sistema electrónico simple, que consta de millones de células individuales. Todas estas celdas tienen direcciones únicas. Almacenan 1 bit de datos, ya sea un ‘1’ o un ‘0’, que aquí se explica un voltaje alto o bajo.

Ahora, al igual que los humanos tienen una memoria a corto y largo plazo, una computadora también tiene 2 tipos de memoria. Una memoria permanente (o larga) (ROM – Memoria de solo lectura y tal vez un disco duro) y un “bloc de notas” a corto plazo llamado memoria RAM (memoria de acceso aleatorio).

La ROM generalmente contiene información que rara vez cambia y necesita ser preservada. Por ejemplo, puede contener un conjunto de instrucciones que la computadora debe realizar cuando se activa (llamada encendido).

La RAM, por otro lado, contiene datos que se generan al realizar diversas tareas (llamadas instrucciones). El bloc de notas debe ser lo suficientemente grande y “bien administrado” para poder almacenar la mayoría de los datos intermedios generados sin tener que borrar algunos y copiarlos de nuevo.

Ahora hay 2 cosas que necesitamos saber sobre la RAM. Es relativamente rápido para la CPU acceder a la RAM y, por lo tanto, se denomina memoria primaria. Pero el problema es que, dado que se trata de un bloc de notas, pierde todos los datos si se desconecta la alimentación. Esto se hace a propósito, para evitar la sobrecarga del bloc de notas con datos obsoletos e inútiles