La Memoria Principal es la zona de la unidad central de sistema que almacena la información, en forma de programas y datos, que se va a procesar seguidamente o va a servir de apoyo a las diferentes operaciones que se van a efectuar por la computadora.
La posibilidad del proceso inmediato de la información que almacena la memoria principal es su característica fundamental, ya que, mientras que los datos existentes en la memoria principal pueden ser procesados de inmediato por la unidad central de proceso, la información contenida en la memoria auxiliar (discos, cintas, etc.) no puede ser procesada directamente por la unidad central de proceso.
La memoria principal está conectada directamente a los buses, que son su medio de comunicación con la unidad central de proceso del sistema informático. La cantidad de memoria existente en una computadora se verá limitada por la capacidad de direccionamiento del bus; esto forma el Mapa de Memoria.
La memoria principal está compuesta lógicamente por una serie de celdas de bits que permiten almacenar en cada una de ellas un bit de información en código binario (0, 1) que será parte de un dato o una instrucción.
Para poder identificar cada una de las celdas de la memoria, éstas se numeran; a este número se le llama dirección y es el medio a través del cual la unidad de control puede manejar la información.
Las direcciones de la memoria se localizan a través del mapa de memoria. La dirección de cada celda de la memoria se establece por una matriz en la que los parámetros son el número total de direcciones y la longitud de palabra que maneja el sistema informático. Esto supone una limitación, ya que la computadora sólo puede manejar un número limitado de bits de dirección en sus operaciones de direccionamiento.
La Palabra representa la cantidad de bits de información manejada en paralelo por la computadora. Tamaños típicos de palabras son 8 bits, 16 bits, 32 bits, etc.
Una vez localizada la dirección de la celda de memoria se podrán realizar dos operaciones: leer la información existente en ella o bien escribir nueva información para poder ser almacenada y posteriormente procesada.
Para poder determinar si el sistema informático va a leer o escribir se utiliza el registro de datos. El registro de datos es un bit que, según el valor de la información que contenga (0,1) indica a la unidad de control si se va a leer o escribir en el acceso a la memoria que se esté realizando en ese momento. En ambos casos, esta operación se realiza a través del bus de datos.
Cuando la unidad de control lee de la celda de memoria, necesita que se le proporcione una dirección a la cual ir a leer. La información existente en la celda no se destruye.
Cuando la unidad de control escribe en la celda de memoria, debe recibir dos informaciones: la dirección de la memoria donde escribir y la información que se debe escribir propiamente dicha. La información existente en la celda de memoria previamente se destruye, ya que lo que había escrito se sustituye por una nueva información.
La memoria principal se divide fundamentalmente en dos partes: Volátil y No Volátil.
La Memoria Volátil pierde la información almacenada en su interior si el sistema informático que la soporta es apagado. Esta parte de la memoria principal se conoce como RAM (Memoria de Acceso Aleatorio o Random Access Memory).
La parte de la Memoria principal que No es Volátil es la ROM (Memoria de Sólo Lectura o Read Only Memory). Esta memoria es de sólo lectura y la computadora no puede escribir sobre ella. Su función principal es el arranque del sistema informático.
Las Memorias Volátiles pueden ser estáticas, también llamadas RAM (Memorias de Acceso Aleatorio o Random Access Memory), o dinámicas, denominadas en este caso DRAM (Memorias Dinámicas de Acceso Aleatorio o Dinamic Random Access Memory). Más adelante se verán más detenidamente.
Las Memorias No Volátiles se dividen en memorias de Sólo Lectura (ROM) y en otras que permiten la Manipulación de la Información que contienen por diversos medios especiales que se verán más adelante.