-->

Arquitectura de Von Neumann

La Arquitectura de Von Neumann es un modelo sencillo que explica cómo funcionan la mayoría de los ordenadores actuales.


Propuesta por el matemático, físico e ingeniero John von Neumann en 1945, introdujo una idea clave que transformó por completo el diseño de las máquinas: guardar en la misma memoria tanto los datos como las instrucciones del programa.

Gracias a este principio, un ordenador ya no es una máquina rígida que sólo ejecuta una tarea fija, sino un sistema versátil y programable, capaz de cambiar su comportamiento simplemente cargando un programa distinto.


Un ordenador puede representarse de una forma modular, con cuatro elementos:

  • El procesador o Unidad de Procesamiento Central (CPU, Central Processing Unit) es el cerebro del sistema que dirige el funcionamiento del ordenador y procesa los datos. Interpreta instrucciones y ejecuta las operaciones lógicas y matemáticas. Dentro del procesador están:
    • Unidad de Control (UC) dirige el funcionamiento del procesador: coordina cada paso, indica qué operación debe realizarse y controla el movimiento de datos entre los distintos componentes de la CPU.
    • Unidad Aritmético-Lógica (ALU) realiza operaciones aritméticas y lógicas como sumas, comparaciones y evaluaciones de condiciones, produciendo los resultados que usarán las instrucciones.
    • Contador de Programa (PC, Program Counter) registro especial que guarda la dirección de la próxima instrucción que debe ejecutarse. Es el mecanismo que permite avanzar ordenadamente por el programa.
    • Registros pequeñas memorias internas de la CPU que almacenan datos temporales y valores esenciales para la ejecución.
      • Registro Acumulador guarda resultados intermedios.
      • Registro de Instrucción contiene la instrucción actual.
      • Registros Generales almacenan datos de uso inmediato.
      • Registro de Estado mantiene indicadores sobre el resultado de las operaciones.
  • La memoria principal o Memoria de Acceso Aleatorio (RAM, Random Access Memory) es un espacio de almacenamiento donde residen datos e instrucciones. Proporciona a la CPU acceso rápido a la información en uso.
  • Los dispositivos de Entrada/Salida, son interfaces que comunican al ordenador con su entorno. Permiten la comunicación bidireccional entre el usuario y la máquina.
  • Los buses, que actúan como canal de comunicación entre el procesador, la memoria y los dispositivos de entrada/salida. Son las vías de transmisión que transportan la información (datos, direcciones y señales de control) entre los distintos bloques funcionales.


Antes de Von Neumann, cambiar una tarea en un ordenador implicaba recablear físicamente sus circuitos. Con este nuevo diseño, el software pasó a ser un conjunto de datos cargados en memoria. Esto permite que un ordenador sea de propósito general: puede realizar cálculos científicos, procesar textos o ejecutar videojuegos simplemente cargando diferentes programas en la memoria sin cambiar un solo componente físico.

Actividad práctica

Objetivo:

Identificar los bloques de la arquitectura de Von Neumann en un diagrama y comprender la importancia de la unidad de control.

Tareas:

  1. Dibuja un diagrama de bloques sencillo de la arquitectura de Von Neumann, conectando CPU, Memoria, E/S y Buses.
  2. Explica brevemente qué diferencia existe entre la Unidad de Control y la Unidad Aritmético-Lógica (ALU) dentro de la CPU.
  3. Investiga qué es el "cuello de botella de Von Neumann" y por qué es un factor limitante en los procesadores actuales.
Haz clic aquí para ver una propuesta de solución y explicaciones

1. Dibuja un diagrama de bloques sencillo de la arquitectura de Von Neumann, conectando CPU, Memoria, E/S y Buses.

2. Explica brevemente qué diferencia existe entre la Unidad de Control y la Unidad Aritmético-Lógica (UAL) dentro de la CPU.

La Unidad de Control (UC) es la que dirige el tráfico, coordina los componentes y descodifica las instrucciones. La Unidad Aritmético-Lógica (ALU) es el componente operativo que realiza físicamente los


3. Investiga qué es el "cuello de botella de Von Neumann" y por qué es un factor limitante en los procesadores actuales.

Es la limitación de velocidad impuesta por el bus compartido entre la memoria y el procesador. Como la CPU es mucho más rápida que la memoria, esta última no puede suministrar datos al ritmo necesario, creando una espera constante en el procesador.

La comunicación entre la memoria y la CPU es mucho más lenta que la velocidad a la que puede trabajar el procesador. Esto provoca que, en muchas ocasiones, la CPU tenga que detenerse y esperar a que los datos lleguen desde la memoria antes de poder continuar. Ese tiempo de espera reduce el rendimiento real del sistema y se vuelve especialmente problemático cuando se manejan grandes volúmenes de información, porque la CPU pasa más tiempo esperando datos que procesándolos.

El problema de rendimiento puede reducirse, al menos en parte, utilizando distintos mecanismos. El más común es incorporar una memoria caché entre la CPU y la memoria principal, que actúa como un almacén rápido para los datos más utilizados y disminuye las esperas del procesador.

Preguntas de reflexión:

  1. ¿Por qué es más eficiente compartir la misma memoria para datos e instrucciones en lugar de usar memorias separadas?
  2. ¿Qué ocurriría si los buses de comunicación tuvieran un ancho de banda insuficiente en comparación con la potencia de la CPU?
  3. ¿De qué manera el desarrollo de memorias caché ha ayudado a mitigar el "cuello de botella" de Von Neumann?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Por qué es más eficiente compartir la misma memoria para datos e instrucciones en lugar de usar memorias separadas?

La flexibilidad. Al ser una memoria compartida, el sistema puede asignar espacio dinámicamente según lo necesite el programa. Si se necesitara mucho espacio para instrucciones y poco para datos (o viceversa), una memoria unificada permite aprovechar mejor el espacio total sin desperdiciar capacidad.


2. ¿Qué ocurriría si los buses de comunicación tuvieran un ancho de banda insuficiente en comparación con la potencia de la CPU?

Se produce una ralentización global del sistema. Si los buses son estrechos, la CPU se queda "hambrienta" de datos, pasando gran parte de su tiempo de ciclo en estado de espera (idle), lo que reduce drásticamente el rendimiento final, independientemente de lo rápida que sea la CPU.


3. ¿De qué manera el desarrollo de memorias caché ha ayudado a mitigar el "cuello de botella" de Von Neumann?

La caché actúa como un puente de velocidad intermedia. Se sitúa muy cerca de la CPU y almacena los datos más utilizados. Al no tener que consultar constantemente la memoria RAM (más lenta y lejana), la CPU obtiene los datos mucho más rápido, reduciendo drásticamente el impacto del cuello de botella.





Otros recursos: