Skip to content

Arquitectura de ordenadores ​

La arquitectura de un ordenador describe cómo se organizan sus componentes y cómo se conectan entre sí para procesar información.

Aunque existen diferentes arquitecturas, la mayoría de los ordenadores actuales se basan en los principios de la arquitectura de Von Neumann, propuesta a mediados del siglo XX.

Esta arquitectura permite comprender cómo trabajan conjuntamente el procesador, la memoria y los dispositivos de entrada y salida.

1. Arquitectura de Von Neumann ​

La arquitectura de Von Neumann se basa en el principio de programa almacenado: tanto los datos como las instrucciones de los programas se almacenan en la memoria principal.

El procesador obtiene las instrucciones de la memoria, las interpreta y las ejecuta, utilizando los datos necesarios para realizar las operaciones.

Arquitectura de Von Neumann: componentes y buses de comunicación

Los componentes principales son:

  • Unidad Central de Proceso (CPU): Interpreta y ejecuta las instrucciones de los programas.
  • Memoria principal: Almacena temporalmente los datos y las instrucciones.
  • Unidades de entrada/salida (E/S): Permiten la comunicación con los dispositivos externos.
  • Buses: Conectan los componentes y permiten intercambiar información.

Estos elementos forman un sistema en el que la CPU coordina el procesamiento de la información.

2. Memoria principal ​

La memoria principal almacena los datos y las instrucciones que necesita el procesador durante la ejecución de los programas.

En los ordenadores actuales, esta función la desempeña principalmente la memoria RAM.

Organización de la memoria ​

La memoria está organizada en posiciones o celdas, cada una de las cuales tiene una dirección que permite identificarla.

Cada celda almacena una determinada cantidad de información representada en binario.

La siguiente imagen muestra una representación simplificada de una memoria cuyas celdas contienen 8 bits:

Organización de la memoria principal en celdas y direcciones

En este ejemplo:

  • Cada posición de memoria tiene una dirección diferente: 0, 1, 2, 3, 4, etc.
  • Cada celda almacena un contenido formado por 8 bits (1 byte).
  • La dirección 4 contiene el valor binario 00101101, equivalente al número decimal 45.
  • La CPU puede acceder a una celda utilizando su dirección para leer o modificar su contenido.

Dirección y contenido

Es importante distinguir entre la dirección de memoria, que indica dónde se encuentra la información, y el contenido, que representa el dato almacenado.

Por ejemplo, en la dirección 4 está almacenado el valor 45 (en decimal).

Operaciones con la memoria ​

La memoria principal permite realizar dos operaciones fundamentales:

  • Lectura (READ): La CPU solicita el contenido de una dirección de memoria y recibe el dato almacenado.
  • Escritura (WRITE): La CPU proporciona una dirección y un dato para que la memoria lo almacene en esa posición.

La lectura no modifica el contenido de la memoria. En cambio, la escritura permite almacenar un nuevo dato en la posición seleccionada, sustituyendo su contenido anterior.

La memoria no decide por sí misma qué información debe leer o escribir: estas operaciones son solicitadas y coordinadas por el procesador.

3. Unidad Central de Proceso (CPU) ​

La Unidad Central de Proceso (CPU) es el componente encargado de interpretar y ejecutar las instrucciones de los programas.

Está formada por tres elementos principales que trabajan de manera coordinada: la Unidad de Control (UC), la Unidad Aritmético-Lógica (ALU) y los registros.

Unidad de Control (UC) ​

La Unidad de Control dirige el funcionamiento del procesador y coordina las operaciones necesarias para ejecutar las instrucciones.

Entre sus funciones se encuentran:

  • Obtener e interpretar las instrucciones almacenadas en la memoria principal.
  • Coordinar el funcionamiento de los registros y la ALU.
  • Generar las señales de control necesarias para realizar las operaciones.
  • Solicitar operaciones de lectura y escritura en memoria.

Unidad Aritmético-Lógica (ALU) ​

La Unidad Aritmético-Lógica (ALU) realiza operaciones aritméticas y lógicas sobre los datos.

Por ejemplo:

  • Operaciones aritméticas: Suma y resta.
  • Operaciones lógicas: AND, OR y NOT.
  • Comparaciones: Determinar si dos valores son iguales o si uno es mayor que otro.

La ALU recibe los operandos, realiza la operación indicada y genera un resultado.

Registros ​

Los registros son pequeñas unidades de almacenamiento situadas dentro del procesador.

Permiten guardar temporalmente los datos y la información que la CPU necesita durante su funcionamiento.

A diferencia de la memoria RAM, los registros se encuentran dentro del procesador y permiten un acceso muy rápido a su contenido.

Entre los registros que utilizaremos en nuestros ejemplos se encuentran:

  • Registros de propósito general (R0, R1, etc.): Almacenan datos y resultados de operaciones.
  • Contador de programa (PC): Contiene la dirección de la siguiente instrucción que debe obtenerse.
  • Registro de instrucciones (RI): Contiene la instrucción que se está interpretando o ejecutando.

INFO

Más adelante estudiaremos cómo intervienen estos registros durante la ejecución de las instrucciones de un programa.

4. Buses de comunicación ​

Los buses son los canales de comunicación que permiten intercambiar información entre los componentes del ordenador.

El siguiente esquema muestra los componentes internos de la CPU y su conexión con la memoria principal mediante tres buses:

CPU y buses de comunicación con la memoria principal

Bus de direcciones ​

El bus de direcciones transporta la dirección de memoria a la que se desea acceder.

Por ejemplo, cuando la CPU necesita leer el contenido de la dirección 4, utiliza este bus para indicar la posición solicitada.

En nuestro modelo simplificado, las direcciones se transmiten desde la CPU hacia la memoria.

Bus de datos ​

El bus de datos transporta la información entre la CPU y la memoria principal.

Es bidireccional, ya que permite:

  • Lectura: La memoria envía un dato a la CPU.
  • Escritura: La CPU envía un dato a la memoria.

Por ejemplo, si la CPU solicita leer la dirección 4, la memoria transmite el contenido de esa posición mediante el bus de datos.

Bus de control ​

El bus de control transporta las señales necesarias para coordinar las operaciones entre los componentes. Dependiendo de su función, estas señales pueden transmitirse en diferentes direcciones.

En nuestro ejemplo utilizaremos dos señales:

  • READ: Indica que se debe realizar una lectura de memoria.
  • WRITE: Indica que se debe realizar una escritura en memoria.

Estas señales permiten que la memoria sepa qué operación debe realizar sobre la dirección indicada.

En conjunto, los tres buses permiten que la CPU seleccione una dirección, indique la operación que desea realizar e intercambie los datos correspondientes.

5. Unidades de entrada/salida ​

Las unidades de entrada/salida (E/S) permiten la comunicación entre el ordenador y los dispositivos externos.

Actúan como intermediarias entre el procesador y los periféricos, gestionando el intercambio de información.

Los periféricos pueden clasificarse según su función:

  • Entrada: Permiten introducir información, como el teclado, el ratón o el micrófono.
  • Salida: Permiten obtener información, como el monitor, la impresora o los altavoces.
  • Entrada y salida: Permiten ambas operaciones, como una pantalla táctil.

La comunicación con estos dispositivos se realiza mediante los controladores e interfaces correspondientes.

6. Funcionamiento básico de la arquitectura ​

Para comprender cómo colaboran los componentes de la arquitectura de Von Neumann, vamos a estudiar una operación sencilla: leer un dato de la memoria principal y almacenarlo en un registro de la CPU.

Supongamos que:

  • La dirección de memoria 4 contiene el valor binario 00101101, equivalente al número decimal 45.
  • La CPU necesita almacenar ese valor en el registro R0.

La siguiente imagen representa el proceso de lectura en tres pasos:

Lectura de un dato desde la memoria principal hasta un registro de la CPU

Durante esta operación intervienen los tres buses de comunicación:

  • Bus de direcciones: Indica la posición de memoria que se desea consultar.
  • Bus de control: Transmite la señal de lectura (READ).
  • Bus de datos: Transporta el contenido de la memoria hasta la CPU.

Al finalizar la operación:

  • La dirección 4 de memoria sigue conteniendo el valor 00101101.
  • El registro R0 de la CPU contiene también el valor 00101101.

El contenido de la memoria no se modifica porque se ha realizado una operación de lectura, no de escritura.

Este ejemplo muestra cómo colaboran la CPU, la memoria principal y los buses para intercambiar información.

En el siguiente documento estudiaremos cómo se combinan estas operaciones para ejecutar las instrucciones de un programa.