Introducción a la arquitectura de computadores

Los primeros sistemas informáticos podían ejecutar una sola aplicación, y por lo general, esta solía ser relativamente sencilla y almacenada en memorias permanentes no modificables. Debido a la poca flexibilidad que tenían estos tipos de sistemas, se fue evolucionando a otros que almacenaban, tanto el código del programa cómo los datos, en una memoria RAM, permitiendo cargar distintas aplicaciones e incluso ejecutar varias a la vez.

Los sistemas informáticos de hoy están diseñados siguiendo un modelo que fue propuesto en 1949 por el matemático húngaro John von Neumann y que tomó su nombre. Según la arquitectura de von Neumann, un sistema digital tendría como bloques funcionales fundamentales una unidad de control, una unidad aritmética y una memoria de acceso aleatorio donde se almacenarían, no sólo los datos sino también las instrucciones de los programas. También dispondría de mecanismos de entrada/salida para poder interactuar con el exterior.

La arquitectura de un sistema se describe como un conjunto de bloques, cada uno con una función definida e interconectados entre sí, y que interactúan. Una arquitectura basada en el modelo de Von Neumann está compuesta por los siguientes elementos:

  • Unidad Central de Proceso (UCP), que es la encargada de ejecutar las instrucciones. Agrupa a la unidad de control y la unidad aritmética.
  • Memoria, que almacena datos e instrucciones.
  • Unidad de entrada-salida, que gestiona los periféricos.
  • Buses, que son conductores que permiten la interconexión de los distintos elementos.

Antes de introducirnos a estudiar cada unidad funcional analizaremos de forma simplificada el funcionamiento de un computador. Para ello definimos el concepto de programa: un conjunto de instrucciones que se almacenan en direcciones sucesivas de memoria y que se deben ir ejecutando una tras otra. En la memoria, pues, estará almacenado tanto el programa (instrucciones) como los datos necesarios. Y se sigue la siguiente secuencia:

  1. Se lee de la memoria la instrucción a ejecutar.
  2. Se decodifica la instrucción calculando las direcciones de los datos.
  3. Se prepara la operación y se traen los datos.
  4. Se ejecuta la operación obteniendo un resultado.
  5. Se almacena el resultado en la posición indicada en la instrucción.
  6. Se va a buscar la instrucción siguiente.

Todas estas tareas estarán sincronizadas por un reloj, que envía una sucesión de impulsos eléctricos a intervalos constantes como si fuera un metrónomo.

Deja un comentario