Alguien ya ha proporcionado una descripción de cómo funciona la tecnología DRAM actual. Sin embargo, creo que vale la pena considerar de manera más general el concepto de cómo podemos crear un dispositivo que memorice información.
De hecho, todo lo que necesita en principio para memorizar algo es un dispositivo que cumpla con los siguientes criterios:
- El dispositivo tiene múltiples elementos repetidos (“celdas”)
- Cada celda puede tener dos o más estados diferentes
- El estado de cada celda se puede cambiar, al menos una vez
- El estado de cada celda se puede leer
Antes de que podamos almacenar información en este dispositivo, también necesitamos:
- ¿Realmente hay trabajos de BE CS o MBA en India?
- ¿Por qué Harvard CS no es muy apreciado incluso si el programa produce relativamente más premios Turing que MIT, Stanford, Berkeley?
- Mi profesor solo acepta proyectos en trabajos publicados. No estoy interesado en eso. ¿Qué tengo que hacer?
- ¿Son increíbles las IIT solo por la calidad de los estudiantes que hay allí? No es la facultad, la enseñanza, etc. (¿Jairam Ramesh tiene razón?)
- ¿Cómo funciona un motor de búsqueda?
- que la información está codificada en números
- Un enfoque estándar para representar números usando combinaciones de estados celulares.
Para una memoria de computadora viable, los actos de cambio del estado de la celda (para la memoria que se puede escribir) y la lectura deben ser rápidos y confiables, y las celdas deben poder reducirse y repetirse para lograr una alta densidad y eficiencia energética. Sin embargo, esto tiene más que ver con la eficiencia que con la capacidad básica de memorizar.
Para un ejemplo simple del esquema anterior, digamos que queremos memorizar un nombre, por ejemplo: “Paul”. Primero tenemos que codificar esto en números. Una forma estándar de hacerlo es asignar un número a cada letra del alfabeto, de modo que “Paul” se pueda representar como una serie de cuatro números. Podríamos simplemente tener a = 1, b = 2, …, y = 25, z = 26. Luego, necesitamos un enfoque para representar los números 1 a 26 utilizando estados de celda del dispositivo. Digamos que las celdas de nuestro dispositivo tienen solo dos estados diferentes, en cuyo caso podemos decidir representar los números usando binario de longitud fija. En este caso necesitamos 5 dígitos binarios, entonces a = 1 = 00001, b = 2 = 00010, … y = 25 = 11001, z = 26 = 11010. Usando esta codificación obtenemos “paul” representado como 10000, 00001, 10101 , 01100.
Ahora tenemos que elegir nuestro dispositivo de memoria celular. Simplemente hagamos de esto un interruptor mecánico conectado a una luz y batería para mostrar si el interruptor está encendido o apagado. Nuestro dispositivo consta de cuatro bancos de cinco de estas celdas de interruptor / luz. Para memorizar “Paul” usando el esquema de codificación anterior, alternamos los interruptores de modo que un interruptor / luz esté encendido para almacenar el binario 1, y apagado para almacenar el binario 0:
on off off off off (que representa la “p”)
apagado apagado apagado apagado encendido (que representa la “a”)
on off on off on (que representa la “u”)
apagado encendido encendido apagado apagado (que representa la “l”)
Podemos volver a leer “Paul” en cualquier momento que deseemos observando las luces e invirtiendo la codificación descrita anteriormente. Trabajo realizado: tenemos una memoria de trabajo que almacena el nombre “paul” y, de hecho, puede almacenar cualquier nombre de hasta cuatro caracteres usando el alfabeto romano. Para atender nombres más largos y diferentes alfabetos, solo aumentamos el número de celdas y ampliamos el esquema de codificación.
Tenga en cuenta que este dispositivo en particular es una memoria no volátil, lo que significa que no se necesita energía para mantener la memoria. Ciertamente necesitamos energía tanto para escribir (configurar los interruptores) como para leer (encender las lámparas), pero podemos eliminar esta energía y el nombre “paul” aún estará en la memoria indefinidamente, listo para ser leído en una fecha futura.
En segundo lugar, tenga en cuenta que el dispositivo anterior requiere que una persona (o un robot) lo use. Sin embargo, puede ver cómo se puede modificar el dispositivo para que funcione más fácilmente dentro de un sistema eléctrico. Para escribir, puede hacer que los interruptores funcionen electromagnéticamente. La lectura se puede hacer eléctricamente simplemente detectando la continuidad del interruptor: las lámparas se pueden quitar por completo.
El siguiente refinamiento podría ser quitar la parte móvil, el interruptor mecánico y reemplazarlo con algo como uno de los siguientes (por ejemplo):
- un electroimán, donde el estado está representado por campos magnéticos en diferentes orientaciones, como se usa en algunas de las primeras memorias de computadora con “núcleo magnético”
- un imán que usa un sustrato magnético persistente, nuevamente con diferentes orientaciones de campo magnético, como se usa en una amplia gama de tecnologías de disco y cinta
- una muesca, o no, en un material reflectante, como se usa para el almacenamiento de medios ópticos como CD
- un fusible, que puede quemarse o no, como se usa en las tecnologías ROM
- un transistor, que puede estar encendido o apagado en el sentido de que puede conducir o no la electricidad, en realidad la base de la RAM estática moderna
- un condensador, que almacena una carga eléctrica, o no, como en la DRAM moderna
- una partícula fundamental que tiene diferentes estados cuánticos, como se está investigando para varias tecnologías de memoria cuántica
En cada caso, la celda completa también necesita los circuitos para cambiar y leer el estado, y si es necesario para mantener el estado si es volátil. Ahora está comenzando en el largo camino que conduce desde el concepto básico hasta el desarrollo de la memoria moderna de la computadora y más allá.