Arquitectura de computadores

About Us

Soy un ingeniero de sistemas en busca de alimentar mi conocimiento dia a dia por eso he creado este blog para que mas personas se motiven a adentrarse en el mundo de la informatica y la arquitectura computacional.

Daniel Leonardo Gonzalez Torres. Con tecnología de Blogger.

Arquitectura de von neumann


Arquitectura de Von Neumann:

Definición:

La arquitectura de Von Neumann es un modelo teórico que describe el diseño y funcionamiento de una computadora digital basada en la utilización de una única unidad central de procesamiento (CPU) y una memoria compartida. Este modelo fue propuesto por John Von Neumann en 1945.

Historia:

La arquitectura de Von Neumann tiene sus orígenes en la época de la Segunda Guerra Mundial, cuando los científicos y matemáticos trabajaban junto a ingenieros para desarrollar tecnologías que ayudaran al esfuerzo bélico. Uno de estos científicos fue John Von Neumann, un matemático húngaro-estadounidense que se convirtió en uno de los más destacados teóricos de la informática.

En 1943, el gobierno estadounidense comenzó a financiar un proyecto llamado "Colossus", que tenía como objetivo diseñar una máquina capaz de descifrar mensajes secretos alemanes. El proyecto fue liderado por Alan Turing y otros científicos británicos, quienes desarrollaron la primera computadora electrónica, denominada Colossus.

Alrededor de 1944, John von Neumann se involucró en el proyecto como asesor técnico. A medida que trabajaba junto a los ingenieros del Laboratorio Nacional de Los Álamos (LANL) en Nuevo México, comenzó a diseñar una arquitectura para una computadora digital que fuera más eficiente y flexible que la Colossus.

En 1945, von Neumann publicó un informe titulado "First Draft of a Report on the EDVAC" (Primer borrador de un informe sobre el EDVAC), donde describía su diseño para una computadora electrónica denominada Electronic Discrete Variable Automatic Computer (EDVAC). Este informe marcó el nacimiento de la arquitectura de Von Neumann.

La arquitectura de Von Neumann fue diseñada con la intención de ser versátil y adecuada tanto para aplicaciones científicas como comerciales. Propuso una estructura basada en la utilización de una única memoria compartida, donde programas e instrucciones se almacenaban junto a los datos.

A medida que la arquitectura de Von Neumann ganaba popularidad, muchas computadoras modernas comenzaron a adoptarla. En 1946, la primera computadora comercial basada en esta arquitectura fue desarrollada por Remington Rand y se llamó EDVAC (Electronic Discrete Variable Automatic Computer). La EDVAC se convirtió en una de las primeras computadoras comerciales disponibles para uso general.

Desde entonces, la arquitectura de Von Neumann ha sido modificada y mejorada a lo largo del tiempo. A pesar de sus limitaciones, sigue siendo un modelo fundamental para entender y mejorar el diseño de las computadoras digitales modernas.



Estructura:

La arquitectura de Von Neumann consta de los siguientes elementos clave:

  1. Unidad Central de Procesamiento (CPU): La CPU es el corazón de la computadora, responsable de ejecutar instrucciones y realizar operaciones aritméticas y lógicas. Está compuesta por tres componentes principales:
    • Controlador: Se encarga de obtener las instrucciones de la memoria, decodificarlas y ejecutarlas coordinando con otros componentes de la CPU.
    • Unidad de Aritmética y Lógica (ALU): Realiza cálculos matemáticos y operaciones lógicas en los datos, como sumas, restas, multiplicaciones, divisiones, AND, OR, etc.
    • Registro: Son áreas pequeñas y rápidas de memoria dentro de la CPU que almacenan temporalmente datos e instrucciones durante el proceso de ejecución.
  2. Memoria: La arquitectura de Von Neumann utiliza un sistema de memoria compartida donde se almacena tanto programas como datos. Esta memoria se divide en dos tipos:
    • Memoria Aleatoria Accesible (RAM): Una memoria rápida y volátil que guarda los datos y las instrucciones temporales para su uso inmediato por la CPU.
    • Almacenamiento Secundario: Un dispositivo de almacenamiento no volátil como un disco duro (HDD) o unidad a estado sólido (SSD), que almacena programas, datos y sistemas operativos de manera permanente.
  3. Entrada/Salida (E/S): El sistema E/S permite que los dispositivos periféricos, como teclados, monitores y impresoras, comuniquen sus entradas y salidas con la CPU mediante componentes especializados:
    • Dispositivos de entrada: Teclados, ratones, escáner, etc., proporcionan datos a la computadora.
    • Dispositivos de salida: Monitores, altavoces, impresoras, etc., muestran o producen resultados de los datos procesados.
    • Interfaces: Dispositivos especializados que permiten la comunicación entre la CPU y dispositivos E/S.


Ejecución de programas:

En la arquitectura de Von Neumann, los programas se ejecutan secuencialmente. Esto significa que las instrucciones se obtienen de la memoria, se decodifican en el controlador y luego se ejecutan una después de otra. El contador de programa (PC) registra cuál instrucción debe ejecutarse a continuación.

Instrucción Set Architecture (ISA):

La ISA define el conjunto de instrucciones disponibles para una CPU para realizar tareas específicas, como sumar o multiplicar. En la arquitectura de Von Neumann, los programas se escriben en código máquina, que es directamente ejecutable por la CPU.

Ventajas:

  1. Eficiencia: El sistema de memoria compartida permite una comunicación eficiente entre la CPU y otros componentes.
  2. Sencillez: La arquitectura de Von Neumann es relativamente simple en comparación con arquitecturas más complejas como CISC (Computación de Conjunto de Instrucciones Complejo) o RISC (Reduced Instruction Set Computing).

Limitaciones:

  1. Ejecución secuencial: La ejecución secuencial puede llevar a tiempo desperdiciado al esperar operaciones E/S o acceso a memoria.
  2. Poca paralelismo: La arquitectura de Von Neumann no soporta la paralelización de procesos tan eficientemente como otras arquitecturas.

Problema del cuello de botella:

El problema del cuello de botella se produce cuando una parte específica de un sistema informático se convierte en la limitación que afecta negativamente el rendimiento global. En la arquitectura de Von Neumann, este problema puede ocurrir si la velocidad de entrada/salida (E/S) o la memoria no pueden mantener el ritmo con la capacidad de procesamiento de la CPU.

Por ejemplo, si un programa necesita acceder a una gran cantidad de datos almacenados en disco, pero la velocidad de lectura del disco es inferior a la capacidad de procesamiento de la CPU, entonces la CPU se quedará esperando por los datos y no podrá realizar ninguna tarea mientras espera. Esto reduce significativamente el rendimiento global del sistema.


Comparacion con la arquitectura de Harvard:

La arquitectura de Von Neumann y la de Harvard son dos modelos teóricos que describen el diseño y funcionamiento de las computadoras digitales. Aunque comparten ciertos elementos básicos, existen algunas diferencias clave entre ellas.

La arquitectura de Von Neumann se caracteriza por utilizar una única memoria compartida para almacenar tanto programas como datos. Esto significa que la CPU debe acceder a esta memoria única tanto para obtener instrucciones como para trabajar con los datos. Este enfoque puede generar problemas de rendimiento, ya que la ejecución de instrucciones y el acceso a la memoria deben realizarse secuencialmente.

Por otro lado, la arquitectura de Harvard se basa en la separación de las memorias para programas (instrucciones) y datos. Esto permite una mayor flexibilidad y capacidad para manejar procesos paralelos, ya que cada memoria puede ser accedida independientemente. Además, este diseño reduce el problema del cuello de botella, ya que la CPU no tiene que esperar a obtener instrucciones o datos de la misma memoria.



0 Comments:

Publicar un comentario