Appearance
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.

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:

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
4contiene el valor binario00101101, equivalente al número decimal45. - 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:

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
4contiene el valor binario00101101, equivalente al número decimal45. - La CPU necesita almacenar ese valor en el registro
R0.
La siguiente imagen representa el proceso de lectura en tres pasos:

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
4de memoria sigue conteniendo el valor00101101. - El registro
R0de la CPU contiene también el valor00101101.
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.