articulo

La Memoria Principal y el procesador

green and black computer ram stick
Photo by Sergei Starostin on Pexels.com

En este post se resumirá lo que se vió en una clase de ensamblador tocando conceptos y funciones de la memoria RAM o principal.

¿Qué es la ram?

RAM, Memoria de Acceso Aleatorio (Random Access Memory, por sus siglas en ingles), se utiliza como memoria de trabajo de computadoras y otros dispositivos para el sistema operativo, programas y todo el software.

En ella se cargan todas las instrucciones que ejecuta la unidad central de procesamiento (procesador) y otras unidades del computador, además de contener los datos que manipulan los distintos programas. Se denominan de acceso aleatorio porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder (acceso secuencial) a la información de la manera más rápida posible.

La RAM es uno de los tipos más rápidas de memoria, y tiene la capacidad de permitir que los datos sean leídos y escritos. Cuando la computadora está apagada, todo el contenido almacenado en RAM se purga. La memoria principal está disponible en dos tipos: la memoria dinámica de acceso aleatorio (DRAM) y la memoria estática de acceso aleatorio (SRAM).

La RAM y el procesador

La unidad central de proceso es uno de los componentes más importantes en el equipo. Es el lugar donde se realizan diversas tareas y se genera una salida. Cuando el microprocesador completa la ejecución de un conjunto de instrucciones, y está listo para realizar la siguiente tarea, recupera la información que necesita de RAM.

Típicamente, las direcciones incluyen la dirección donde se encuentra la información que debe ser leída. La CPU envía la dirección al controlador de la RAM, que pasa por el proceso de localización de la dirección y la lectura de los datos.

¿Cómo funciona?

  • La mayoría de los ordenadores, la memoria se divide en bytes.
  • Cada byte contiene 8 bits.
  • Cada byte de la memoria tiene también una dirección, que es un número que indica dónde se encuentra el byte en la memoria.
  • El primer byte de la memoria tiene una dirección 0, el siguiente tiene una dirección 1, y así sucesivamente.
  • Dividir la memoria en bytes hace que sea direccionable por bytes, ya que cada byte tiene una dirección única.
  • Las direcciones de las memorias de bytes no pueden utilizarse para referirse a un solo bit de un byte.
  • Un byte es el trozo más pequeño de memoria que se puede direccionar.
  • Cuando un programa utiliza un byte o un número de bytes en una fila para representar algo como una letra, un número o cualquier otra cosa, esos bytes se denominan objeto porque todos forman parte de la misma cosa.
  • Aunque los objetos se almacenan en bytes de memoria idénticos, se tratan como si tuvieran un “tipo”, que dice cómo deben entenderse los bytes: como un entero o un carácter o algún otro tipo (como un valor no entero).
  • El código máquina también puede considerarse como un tipo que se interpreta como instrucciones. La noción de tipo es muy, muy importante porque define qué cosas se pueden y no se pueden hacer al objeto y cómo interpretar los bytes del objeto. Por ejemplo, no es válido almacenar un número negativo en un objeto numérico positivo y no es válido almacenar una fracción en un número entero.
  • Una dirección que apunta a (es la dirección de) un objeto multibyte es la dirección del primer byte de ese objeto el byte que tiene la dirección más baja. Por otro lado, es importante tener en cuenta que no se puede saber el tipo de un objeto, ni siquiera su tamaño, por su dirección. De hecho, ni siquiera se puede saber el tipo de un objeto con sólo mirarlo.
  • Un programa en lenguaje ensamblador necesita llevar la cuenta de qué direcciones de memoria contienen qué objetos, y de qué tamaño son esos objetos.
  • Un programa que lo hace es seguro en cuanto al tipo porque sólo hace cosas a los objetos que son seguras en cuanto a su tipo. Un programa que no lo hace probablemente no funcionará correctamente.
  • Tenga en cuenta que la mayoría de los programas no almacenan explícitamente cuál es el tipo de un objeto, sólo acceden a los objetos de forma consistente el mismo objeto es siempre tratado como del mismo tipo.

Leave a Reply

Your email address will not be published. Required fields are marked *