Para comenzar desde el principio, una computadora tiene tres partes principales:
- Un procesador que ejecuta instrucciones y realiza cálculos.
- Memoria primaria que contiene instrucciones y datos, directamente direccionables por el procesador.
- Dispositivos de entrada / salida utilizados para comunicarse con el entorno.
Centrarse en (2) Memoria primaria. El término “directamente direccionable” significa que se ajusta al bus de memoria en el procesador, por lo tanto, el procesador aplica una dirección al bus de dirección, posiblemente datos al bus de datos y señales apropiadas para acceder a la memoria. La memoria almacena los datos del procesador (en escritura) o devuelve datos al procesador (en lectura) a tiempo para que el procesador los use.
Las memorias secundarias, como los discos duros, se consideran dispositivos de entrada / salida, ya que hay operaciones más complejas que las que están cableadas en el procesador.
Las primeras computadoras (pre-semiconductores) tenían varios tipos de recuerdos. Las opciones comunes fueron las líneas de retardo y los recuerdos del tambor, este último un tambor magnético que gira a alta velocidad, como lo son hoy los discos duros. La memoria del tambor era mecánicamente torpe y solo podía contener unos pocos kiloWords de información, pero era fácil de conectar. Cuando el procesador necesitaba una cierta ubicación en la memoria, el procesador esperaba hasta que el tambor girara a la posición correcta y luego leía o escribía una palabra en esa posición. Obviamente, el tiempo para acceder a la memoria dependía de la ubicación actual y de la dirección solicitada por el procesador. Reordenar los bloques de instrucciones y los datos podría acelerar enormemente.
Más tarde, las computadoras fueron equipadas con memorias de núcleo magnético. Se podía acceder a estos en cualquier orden y se podía acceder a cada palabra de memoria con el mismo retraso. En este momento, se introdujo el término Memoria de acceso aleatorio (RAM) para indicar que se podía acceder a las palabras de memoria en orden arbitrario sin ninguna penalización de rendimiento.
Los recuerdos principales eran muy caros, pero tenían la ventaja de que retendrían el contenido cuando la máquina se apagaba. Es decir, una vez que programó un cargador de arranque requerido para iniciar el sistema, permanecería allí incluso después de un ciclo de encendido (nota para los interesados: en realidad, una célula de memoria central pierde su contenido cuando se lee, por lo que había un circuito que lo devolvió después de una lectura).
Con los semiconductores fue posible producir memorias con una capacidad y velocidad mucho mayores a un costo menor. El término RAM se retuvo para las memorias que el procesador podía leer y escribir en un orden arbitrario directamente sobre el bus de memoria. Pero este tipo de recuerdos pierden su contenido cuando se desconecta la alimentación.
Una computadora no puede hacer nada significativo a menos que el procesador se alimente con instrucciones y esto requiera una memoria que contenga instrucciones cuando se inicie la computadora.
Las computadoras antiguas a menudo tenían programas cableados y los fabricantes de semiconductores proporcionaban el equivalente en memorias de solo lectura (ROM). El fabricante establecería una línea de producción para ROM con su contenido específico. Esto era bastante costoso y nada que una pequeña empresa pudiera pagar. En su lugar, podrían usar ROM programable (PROM) que contenía fusibles electrónicos que sopló al programar. Por lo tanto, las PROM eran programables una sola vez. Más tarde, hubo PROM borrable (EPROM) que generalmente se borró por completo por la luz ultravioleta fuerte durante media hora más o menos, luego PROM borrable eléctricamente (EEPROM) que el procesador borró en palabras. La diferencia con respecto a la RAM es que el tiempo de lectura es de nanosegundos a microsegundos, mientras que una escritura o borrado toma milisegundos, al menos 1000 veces más, por lo que no se pueden usar como memoria de trabajo como memorias RAM.
Tenga en cuenta que lo que llamamos memorias RAM y ROM son memorias de acceso aleatorio, por lo tanto, usar el término RAM solo para la memoria de lectura / escritura es un poco tonto. Un mejor tema (también utilizado históricamente) sería RWM para la memoria de lectura / escritura en lugar de la memoria de solo lectura.
Probablemente conservamos el término RAM porque es más fácil decirlo que RWM.